DDL语句
查看已有数据库
-
show databases;
创建数据库
-
create database 数据库名;
使用某一个数据库
-
use 数据库名;
删除数据库
-
drop database 数据库名;
数据库里
-
查看数据库里的数据表
-
show tables;
-
-
创建数据表
-
create table 数据表名(字段1名 字段1数据类型 列的约束条件,字段2名 字段2数据类型 列的约束条件,······,字段n名 字段n数据类型 列的约束条件);
注意:列的约束条件可以省略
-
-
查看数据的表的具体信息
-
desc table 数据表名;
-
show create table 数据表名;
-
show create table 数据表名\G
-
-
修改数据表名
-
alter table 旧表名 rename [to] 新表名;
-
-
删除数据表
-
drop table 数据表名;
-
-
数据表的修改
-
修改数据表中某字段的数据类型
-
alter table 数据表名 modify column 字段名 新的数据类型 [first|after 某一字段名];
-
alter table 数据表名 change column 字段名 字段名 新的数据类型 [first|after 某一字段名]
注意:
-
column可以省去;
-
中括号中的内容可写可不写,写的话直接在数据类型后面接first或者after 某一字段名。中括号不用写。
-
first表示修改或添加的字段放在字段列表中的第一位。
-
after 某一字段名; 表示放在某一字段后面。
-
-
-
修改数据表中某字段的字段名
-
alter table 数据表名 change column 旧的字段名 新的字段名 字段原本数据类型 [first|after 某一字段名];
-
-
数据表中增加字段
-
alter table 数据表名 add column 字段名 字段数据类型 [first|after 某一字段名];
-
-
删除数据表中某一字段
-
alter table 数据表名 drop 字段名;
-
-
DML语句
数据表录入记录值
-
一次录入一条记录值
-
insert into 数据表名(字段1名,字段2名,······,字段n名) values(值1,值2,······,值n);
-
-
一次录入多条记录值
-
insert into 数据表名(字段1名,字段2名,······,字段n名) values(值1,值2,······,值n), (值1,值2,······,值n),······,(值1,值2,······,值n);
注意:
-
数据表名后的字段名可以省略,但是values后的值要与数据表中的字段一一对应。
-
数据表名后接的字段名可以乱序,但是values后接的值也要乱序对应。
-
查看数据表记录值
-
查看所有记录值
-
select * from 要查看数据表名;
-
-
查看某一字段下的所有记录值
-
select 数据表中某一字段名 from 要查看数据表名;
-
-
查看不重复的记录值
-
select * distinct from 要查看的数据表名;
-
多用于查看某一字段下不重复的记录值
-
-
-
条件查看记录值
-
select * from 要查看的数据表名 where 定位记录值的条件;
-
条件字段常用比较符:=,>,<,!=,>=,<=
-
多条件之间常使用:or和and连接
-
-
修改数据表中记录值
-
修改一个数据表中的值
-
update 数据表名 set 字段1名=值1,字段2名=值2,······,字段n名=值n where 定位记录值的条件;
-
-
修改多个数据表中的值
-
update 数据表1名,数据表2名,······,数据表n名 set 数据表1名.字段n=值,······,数据表n名.字段n=值 where 定位记录值得条件;
-
删除数据表中的记录值
-
删除单个表中的记录值
-
delete from 数据表名 where 定位记录值的条件;
-
-
删除多个表中的记录值
-
delete 数据表1名,数据表2名,······,数据表n名 from 数据表1名,数据表2名,······,数据表n名 where 定位要删除记录值的条件;
-
数据表中记录值排序
-
根据某一字段的值来排序
-
select * from 数据表名 order by 字段名[desc|asc];
-
asc为升序,也是默认;desc为降序。
-
-
-
根据多个字段的值来排序
-
select * from 数据表名 order by 字段1名[desc|asc],字段2名[desc|asc],······,字段n名[desc|asc];
-
可以处理某字段值相同的排序。
-
-
-
限制记录值的输出数量
-
在语句后面加 limit 数字;
-
意思是从第0条开始,一共输出数字条。
-
-
在语句后面加 limit 数字1,数字2;
-
两个数字的意思是从第数字1条开始输出,一共输出数字2条。记录值的条数是从0开始计数。
-
-
数据表中记录值聚合
(注意:多个函数可以同时使用,同时也要注意要符合逻辑。)
-
某字段下记录值的求和
-
select sum(字段名) from 数据表名;
-
-
求记录值得总条数
-
select count(*|字段名) from 数据表名;
-
-
求某一字段下最大的记录值
-
select max(字段名) from 数据表名;
-
-
求某一字段下最小的记录值
-
select min(字段名 from 数据表名;)
-
-
分组聚合
-
分组求和
(注意:分组聚合是否能显示对应的组名,要看逻辑是否合理。比如,进行全部求和之后的值是一个单独的数,一条单独的记录值。)
-
select sum(字段名) from 数据表名 group by 可以起分组作用的某一字段名;
-
select 可以起分组作用的某一字段名,sum(字段名) from 数据表名 group by 可以起分组作用的某一字段名;
-
这个还可以显示求和值对应的组名
-
-
-
分组求总条数
-
分组求最大值最小值
-
-
对分组聚合后的结果再进行汇总
-
再加总求和
-
select sum(字段名) from 数据表名 group by 可以起分组作用的某一字段名 with rollup;
-
-
再筛选符合某一条件的分组
(注意:where用于首次筛选。having用于二次筛选)
-
select sum(字段名) from 数据表名 group by 可以起分组作用的某一字段名 having sum(字段名)>某一数值;
-
select 可以起分组作用的某一字段名,sum(字段名) from 数据表名 group by 可以起分组作用的某一字段名 having sum(字段名)>某一数字;
-
-
数据表连接显示
-
内连接
-
select * from 数据表1名,数据表2名 where 两个表对应的关系的条件;
-
select可以给字段和数据表名取别名,以简化代码
-
select 中数据表名后面或者字段表名后面加上表名即可,在同一条语句中就可以用别名代替原名。
-
-
-
外连接
-
左连接
-
select * from 数据表1名 left join 数据表2名 where 两个表对应的关系的条件;
-
数据表1全部显示,数据表2与之对应,不够则输出null
-
-
-
右连接
-
select * from 数据表1名 right join 数据表2名 where 两个表对应的关系的条件;
-
数据表2全部显示,数据表1与之对应,不够则输出null
-
-
-
子查询
-
常用关键字
-
in、not in、exists、not exists
-
-
in / not in
-
select * from 数据表 where 某字段名 in(select 某字段名 from 另一个数据表);
-
若查询结果唯一(只有一条),则in可以用等号代替。
-
-
-
exists / not exists
-
select * from 数据表名 where exists(select 语句);
-
查询记录结果联合显示
-
union / union all
-
select * from 数据表1名 union select * from 数据表2名;
注意
-
两个表格连接的条件时列的个数要相同
-
连接后的表格的表头是第一个表的表头
-
union是去除重复数据在显示
-
union all是全部显示
-
DCL语句
待学。
如果有错误的地方望谅解哈,一起学习一起进步。
PDF版资源链接:https://download.csdn.net/download/qq_45520802/33387915