DDL数据定义语言
<!--数据库操作-->
<!--查询所有数据库-->
show databases;
<!--查询当前数据库-->
select database();
<!--创建数据库-->
create database [if not exist] 数据库名 [default charset 字符集];
<!--删除数据库-->
drop database [if not exist] 数据库名;
<!--切换数据库-->
use 数据库名;
<!--表操作-查询创建-->
<!--查询当前数据库所有表-->
show tables;
<!--查询指定表结构-->
desc 表名;
<!--查询指定表的建表语句-->
show create table 表名;
<!--创建表结构-->
create table 表名(
字段 字段类型 [约束] [comment 注释]
)[comment 注释];
<!--表操作-数据类型-->
<!--数值类型-->
int (0,4294967295)
bigint (0,2^64-1)
<!--字符串类型-->
varchar 变长字符串(需要指定长度)
<!--日期时间类型-->
timestamp 混合日期和时间值,时间戳
<!--表操作-修改-->
<!--添加字段-->
alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];
<!--修改数据类型-->
alter table 表名 modify 字段名 新数据类型(长度);
<!--修改字段名和字段类型-->
alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];
<!--删除字段-->
alter table 表名 drop 字段名;
<!--修改表名-->
alter table 表名 rename to 新表名;DML数据操作语言
DML数据操作语言
<!--给指定字段添加数据-->
insert into 表名 (字段列表) values (值列表);
<!--给全部字段添加数据-->
insert into 表名 values(值列表);
<!--批量添加数据-->
insert into 表名 [(字段列表)] values (值列表),(值列表);
<!--修改数据-->
update 表名 set 字段名=值 [where 条件];
<!--删除数据-->
delete from 表名 [where 条件];DQL数据查询语言
DQL数据查询语言
<!--基础查询-->
<!--查询多个字段-->
select */字段列表 from 表名;
<!--字段设置别名-->
select 字段 [as] 别名 from 表名;
<!--去除重复记录-->
select distinct 字段列表
<!--条件查询-->
<!--语法-->
select 字段列表 from 表名 where 条件;
<!--常用运算符-->
and 或 && 并且
or 或 || 或者
not 或 ! 非
<> 或 != 不等于
between...and... 在某个范围之内(含最小、最大值)
in(...) 在in之后的列表中的值,多选一
like 占位符 模糊匹配(_匹配单个字符, %匹配任意个字符)
is null 为null
<!--聚合函数-->
<!--语法-->
select 聚合函数(字段) from 表名;
<!--常见聚合函数-->
count 统计数量, *统计总记录数 指明字段统计不为null的总记录数
max min avg sum
<!--分组查询-->
<!--语法-->
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
<!--注意-->
执行顺序: where -> 聚合函数 -> having
<!--排序查询-->
<!--语法-->
select 字段列表 from 表名 order by 字段1 排序方式1, 字段2 排序方式2;
<!--注意-->
默认排序方式为升序
<!--分页查询-->
<!--语法-->
select 字段列表 from 表名 limit 起始索引,查询记录数;
<!--注意-->
起始索引=(查询页码 - 1)*每页显示记录数, 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是limit