您的位置:首页 > 其它

约定:

2015-08-28 11:06 162 查看
约定:shell>window下输入的命令
mysql>进入MySQL程序后,输入的MySQL的命令
一、SQL简介1、SQL:Structured Query Language结构化查询语言他是客户与数据库打交道的通道2、SQL是有工业标准的。ANSI符合工业标准的SQL,称之为普通话。不同的数据库都在SQL工业标准的基础上进行扩展,扩展的部分称之为方言。3、验证安装是否成功shell>mysql -u root -pmysql>SHOW DATABASES; //显示目前有几个库
二、DDL:数据定义语言 Data Definition Language 作用:定义数据库或者表结构的。 操作的对象:数据库或表的结构的。 关键字:CREATE ALTER DROP 创建一个名称为mydb1的数据库。mysql>CREATE DATABASE mydb1;查看数据库的创建细节mysql>SHOW CREATE DATABASE mydb1;创建一个使用gbk字符集的mydb2数据库。mysql>CREATE DATABASE mydb2 CHARACTER SET gbk;创建一个使用gbk字符集,并带校对规则的mydb3数据库。mysql>CREATE DATABASE mydb3 CHARACTER SET gbk COLLATE gbk_chinese_ci;查看当前数据库服务器中的所有数据库mysql>SHOW DATABASES;查看前面创建的mydb2数据库的定义信息mysql>SHOW CREATE DATABASE mydb1;删除前面创建的mydb3数据库mysql>DROP DATABASE mydb3;
创建表之前一定先选择数据库mysql>USE test;创建一个员工表mysql>CREATE TABLE employee( id int, name varchar(200), gender varchar(10), birthday date, entry_date date, job varchar(200), salary float(8,2), resume text);显示当前数据库中的所有表格mysql>SHOW TABLES;在上面员工表的基本上增加一个image列。mysql>ALTER TABLE employee ADD image blob;查看表结构的定义mysql>DESC employee;修改job列,使其长度为60。mysql>ALTER TABLE employee MODIFY job varchar(60);删除image列。mysql>ALTER TABLE employee DROP image;表名改为user。mysql>RENAME TABLE employee TO user;查看表的创建细节mysql>SHOW CREATE TABLE user;修改表的字符集为gbkmysql>ALTER TABLE user CHARACTER SET gbk;列名name修改为usernamemysql>ALTER TABLE user CHANGE name username varchar(100);三、DML:Data Manipulation Language 数据操作语言 作用:操作表中的数据的。 关键:INSERT UPDATE DELETE 特别注意:日期或字符串、字符要使用单引号引起来。
查看表中的所有记录mysql>SELECT * FROM user;使用insert语句向表中插入三个员工的信息。建议:mysql>INSERT INTO user (id,username,gender,birthday,entry_date,job,salary,resume) VALUES (1,'zql','0','1991-09-07','2013-04-12','CTO',10000.00,'beauty');mysql>INSERT INTO user VALUES (2,'gfy','1','1987-09-07','2013-04-12','CEO',10000.00,'hand');mysql>INSERT INTO user (id,username,gender,birthday,entry_date,job,salary,resume) VALUES (3,'王翔云','1','1989-09-07','2013-04-12','UFO',10000.00,'good boy');
插入中文时的问题:(编码问题)查看数据库目前的各种编码:mysql>SHOW VARIABLES LIKE 'character%';通知服务器客户端使用的编码字符集mysql>SET character_set_client=gbk;显示时乱码mysql>SET character_set_results=gbk;

将所有员工薪水修改为5000元。mysql>UPDATE user SET salary=5000;将姓名为’王翔云’的员工薪水修改为3000元。mysql>UPDATE user SET salary=3000 WHERE username='王翔云';将姓名为’王翔云’的员工薪水修改为4000元,job改为CMO。mysql>UPDATE user SET salary=4000,job='CMO' WHERE username='王翔云';将zql的薪水在原有基础上增加1000元。 mysql>UPDATE user SET salary=salary+1000 WHERE username='zql';
删除表中名称为’王翔云’的记录。mysql>DELETE FROM user WHERE username='王翔云';删除表中所有记录。mysql>DELETE FROM user;(一条一条的删除)使用TRUNCATE删除表中记录。mysql>TRUNCATE user;(摧毁整张表,然后重建表结构)

四、DQL简单的:Data Query Language关键字:SELECT
查询表中所有学生的信息。mysql>SELECT * FROM student;(不建议使用)mysql>SELECT id,name,chinese,english,math FROM student;查询表中所有学生的姓名和对应的英语成绩。mysql>SELECT name,english FROM student;过滤表中重复数据。mysql>SELECT DISTINCT english FROM student;
SELECT语句支持一些基本的运算
在所有学生数学分数上加10分特长分。mysql>SELECT id,name,math+10 FROM student;统计每个学生的总分。mysql>SELECT name,chinese+english+math FROM student;使用别名表示学生分数。mysql>SELECT name AS 姓名,chinese+english+math 总分 FROM student;查询姓名为王五的学生成绩msyql>SELECT name,english,chinese,math FROM student WHERE name='王五';查询英语成绩大于90分的同学msyql>SELECT name,english,chinese,math FROM student WHERE english>90;查询总分大于200分的所有同学mysql>SELECT name,chinese+english+math FROM student WHERE (chinese+english+math)>200;
WHERE语句支持运算表达式
查询英语分数在 80-90之间的同学。mysql>SELECT * FROM student WHERE english BETWEEN 84 AND 85;查询数学分数为89,90,91的同学。mysql>SELECT * FROM student WHERE math IN (89,90,91);查询所有姓李的学生成绩。mysql>SELECT * FROM student WHERE name LIKE '李%';查询数学分>80,语文分>80的同学。mysql>SELECT * FROM student WHERE math>80 AND chinese>80;对数学成绩排序后输出。mysql>SELECT * FROM student ORDER BY math;//默认是升序对总分排序后输出,然后再按从高到低的顺序输出mysql>SELECT name,chinese+english+math FROM student ORDER BY (chinese+english+math) DESC;对姓李的学生数学成绩排序输出mysql>SELECT name,math FROM student WHERE name LIKE '李%' ORDER BY math;
五、数据完整性三个方面: 1、实体完整性:规定表中的一行在表中是唯一的实体。 一般是通过定义主键的形式来实现的。 关键字:PRIMARY KEY 特点:不能为null,必须唯一 CREATE TABLE SHANG_HAI1( id int PRIMARY KEY, name varchar(100) ); //实际开发中不建议使用。 CREATE TABLE shanghai2( id int PRIMARY KEY auto_increment, name varchar(100) ); insert into shanghai2 (name) values('aa'); 2、域完整性 指数据库表的列(即字段)必须符合某种特定的数据类型或约束。 NOT NULL:不能为空 UNIQUE:必须唯一 CREATE TABLE shanghai3( id int PRIMARY KEY, name varchar(100) NOT NULL, idnum varchar(100) unique ); 关于主键: (建议)逻辑主键:给编程人员用的。与具体业务无关 业务主键:用户也可以用。与具体业务有关了。 3、参照完整性(多表设计) 一对多 create table department( id int primary key, name varchar(100) ); create table employee( id int primary key, name varchar(100), salary float(8,2), dept_id int, constraint dept_id_fk foreign key(dept_id) references department(id) ); 多对多 create table teacher( id int primary key, name varchar(100), salary float(8,2) ); create table student1( id int primary key, name varchar(100), grade varchar(10) ); create table teacher_student1( t_id int, s_id int, primary key(t_id,s_id), constraint t_id_fk foreign key(t_id) references teacher(id), constraint s_id_fk foreign key(s_id) references student1(id) ); 一对一 create table human( id int primary key, name varchar(100) ); create table idcard( id int primary key, num varchar(100), constraint huanm_id_fk foreign key(id) references human(id) );

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: