MySQL复习
DDL(操作数据库)
C(Create):创建
1
2create database 数据库名称;
create database 数据库名称 character set 字符集;R(Retrieve):查询
1
2
3
4-- 查询所有数据库的名称
show databases;
-- 查询某个数据库的字符集:查询某个数据库的创建语句
show create database 数据库名称;U(Update):修改
1
alter database 数据库名称 character set 字符集名称;
D(Delete):删除
1
drop database 数据库名称;
使用数据库
1
2select database(); -- 查询当前正在使用的数据库名称
use 数据库名称; -- 使用数据库C(Create):创建
1
2
3
4
5
6
7
8
9create table 表名(
属性 类型,
属性 类型
);
-- 类型:
-- 整型->int
-- 小数->double
-- 字符串->varchar(n)
-- 时间->date(日期,yyyy-MM-dd)、datetime(yyyy-MM-dd HH:mm:ss)、timestamp(时间戳类型,yyyy-MM-dd HH:mm:ss,默认使用当前系统时间自动赋值)R(Retrieve):查询
1
2show tables; -- 查询数据库中所有的表名称
desc 表名; -- 查询表结构U(Update):修改
1
2
3
4
5
6alter table 表名 rename to 新表名; -- 修改表名
alter table 表名 character set 字符集名称; -- 修改表的字符集
alter table 表名 add 列名 数据类型; -- 添加一列
alter table 表名 change 列名 新列名 新数据类型; -- 修改列名称 类型
alter table 表名 modify 列名 新数据类型;
alter table 表名 drop 列名; -- 删除列D(Delete):删除
1 | drop table 表名; |
DML(操作表中数据)
添加数据
1
insert into 表名(列名1,列名2,...) values(值1,值2,...);
删除数据
1
2delete from 表名 [where 条件]; -- 删除符合条件的数据,如果不加条件,则删除表中所有数据
truncate table 表名; -- 删除表,然后再创建一个一模一样的空表修改数据
1
update 表名 set 列名=值1,列名=值2,...[where 条件]; -- 修改符合条件的数据,如果不加条件,则修改表中所有数据
DQL(查询表中的记录)
1 | select * from 表名; -- 查询表中所有数据 |
基础查询
1 | select distinct 字段 from 表名; -- 使用distinct去重 |
条件查询
1 | select * from 表名 where 条件; |
排序查询
1 | select * from 表名 order by 排序字段1 排序方式1,排序字段2 排序方式2...; -- 按排序字段排序,排序方式:ASC(升序,默认),DESC(降序),当有多个条件时,当前面条件值一样时,才使用后面条件 |
聚合函数
1 | -- count:计算个数 |
分组查询
1 | select * from 表名 group by 列名; -- 按列名分组,分别查询; |
分页查询
1 | select * from 表名 limit 开始的索引,每页查询的条数; |