语句分为四种类型:DDL、DML、DQL、DCL
DDL | 操作数据库、表等 |
DML | 对表中的数据进行增删改 |
DQL | 对表中的数据进行查询 |
DCL | 对数据库进行权限控制 |
show databases; | 查询所有数据库 |
create database; | 创建数据库 |
create database if not exists 数据库名; | 创建数据库(进行存在性判断) |
drop database 数据库名称; | 删除数据库 |
drop database if exists 数据库名称; | 删除数据库(进行存在性判断) |
use 数据库名称; | 查看当前使用的数据库 |
select database(); | 使用数据库 |
show tables; | 查询当前数据库下所有表名称 |
desc 表名称; | 查询表结构 |
create table 表名( 字段名1 数据类型1, 字段名2 数据类型2, 字段名3 数据类型3, ...... ); | 创建表(注意最后一行不加标点符号) |
drop 表名; | 删除表 |
drop table if exists 表名; | 删除表(进行存在性判断) |
alter table 表名 rename to 新的表名; | 修改表名 |
alter table 表名 add 列名 数据类型; | 添加一列(设定数据类型) |
alter table 表名 modify 列名 新的数据类型; | 修改数据类型 |
alter table 表名 change 列名 新列名 新数据类型; | 修改列名和数据类型 |
alter table 表名 drop 列名; | 删除列 |
---添加数据 | |
insert into 表名(列1、列2...) values(值1、值2...); | 给指定列添加数据 |
insert into 表名 values(值1、值2、值3...); | 给全部列添加数据 |
insert into 表名 vaules(值1、值2...)、(值1、值2...)..; | 批量添加数据 |
insert into 表名 vaules(值1、值2...)、(值1、值2...)..; | |
---修改数据 | |
update 表名 set 列1=值1,列2=值2...[where 条件]; | 修改表数据 |
---删除数据 | |
delete from 表名 [where 条件]; | 删除数据 |
select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组后条件 order by 排序字段 limit 分页限定; | 查询语法 |
---查询 | |
select 字段列表 from 表名; | 查询多个字段(第二个为查询全部) |
select *from 表名; | |
select distinct 字段列表 from 表名; | 去除重复记录(字段列表中有 as 可以起别名) |
---条件查询 | |
select 字段列表 from 表名 where 条件列表; | 条件查询语法 |
select *from 表名 where name like '王%'; | 加入%可以进行字段模糊查询 |
select 字段列表 from 表名 order by 排序字段1【排序方式1】,排序字段2【排序方式2】...; | 排序查询(ASC默认分升序,DESC降序排列) |
举例:select *from stu order by math desc; | 查询学生成绩,按照数学成绩降序排列 |
聚合函数* | |
函数名: | 功能: |
count(列名) | 统计数量(一般选用不为null的列) |
max(列名) | 最大值 |
min(列名) | 最小值 |
sum(列名) | 求和 |
avg(列名) | 求平均 |
select 聚合函数名(列名) from 表; | 聚合函数语法(null值不参与所有聚合函数运算) |
分组查询* | |
select 字段列表 from 表名 [where 分组条件限定] group by 分组字段名 [where 分组后条件过滤]; | 分组查询语法(where>聚合函数>having) |
![]() | |
分页查询* | |
select 字段列表 from 表名 limit 起始索引,查询条目数; | 分页查询法 |