- DDL(数据定义语言)
- 定义数据库,包括设置字符集为中文字符集。
create database 数据库 character set utf8;(创建数据库并定义字符集为UTF8)
- 定义表,包括定义主键、外键。
Create table 表(
字段 字段类型 约束 [是否非空]
);
- 修改数据库结构,包括修改数据库名称、字符集等。
修改名称:1.先创建一个新的数据库new 2.rename table old.table_name to new.table_name;
修改数据库的字符集:Alter database 库 default character set gbk;
(修改表的字符集:alter table 数据表名称 convert to character set utf8;)
- 修改表结构,包括添加字段、删除字段、修改字段名称、修改字段的数据类型、修改表名称等。
添加字段:alter table 表名 add 字段 字段类型 是否允许为空;
删除字段:alter table 表名 drop 要删除的字段;
修改字段名称:alter table 表名 change 字段原名称 字段新名称 字段类型 [not null/null];
修改字段的数据类型:alter table 表名 modify 字段 字段新类型 [not null/null];
修改表名称:alter table 原表名 rename 新表名;
- 通过修改表结构完成主键定义、外键定义等。
添加主键:Alter table 表名 add primary ker(字段);
添加外键:Alter table 表名 add foreign key (字段) references 另一张表表名(字段);
使用 modify 修改字段,添加主键约束:alter table user4 modify 字段 字段类型 primary key;
删除主键:alter table 表名 drop primary key(id);
- DML(数据操纵语言)
- 添加数据(Insert),包括添加一条记录、多条记录;添加表的某几个字段,添加表的全部字段;通过select语句给表添加记录。
一条记录:insert into 表名 values(数据);
多条数据:insert into 表名 values(第一条数据),(第二条数据),(第三条数据),……;
添加某几个字段:insert into 表名(字段名1,字段名2,……) values(字段1的数据,字段2的数据,……);
添加全部字段:insert into 表名(全部字段名) values(全部字段的数据);
- 修改数据(update),包括无条件修改,带条件修改;修改表的一个字段的值,修改表的多个字段的值;带子查询的修改(子查询跟在where后面)。
Update 表 set 字段=’ ‘;
Update 表 set 字段=’ ‘ where 字段=’ ‘;
update 表 set 字段=’ ‘ where 字段=(select 字段 from 表 where …);
- 删除数据(delete),包括无条件删除、带条件删除,带子查询的删除(子查询跟在where后面)。
delete from 表名;(会删除该表全部数据) (truncate table 表名; 删除该表全部数据)
delete from 表 where 字段=’ ‘; (删除该表的一条数据)
delete from 表 where 字段=(select 字段 from 表 where …);
- DQL(数据查询(重点):用子查询的方式实现两个表的查询)
- 单表查询,包括不带条件查询、带条件查询、where里面带子查询的查询、使用聚合函数(聚合函数见课本81页)的查询、使用group by的分组查询、同时使用聚合函数和group by的查询、带有order by的排序查询、同时带有group by 和order by的查询、带有having的查询等。使用in、not in、like等常用查询条件(见课本75页表4-7)。
不带条件查询:select 查询的字段 from 表;
带条件的查询:select 查询的字段 from 表 where 字段=’ ’;
Where里面带子查询的查询:select 查询的字段 from 表 where 字段=(select 字段 from 表 where 字段=’ ‘);
使用in
Select * from 表 where 字段 in/not in(数值,数值,…);
Select * from 表 where 字段 like ‘%关键字%’;(百分号%表示前(后)有多个字符,下划线_表示一个字符)
⑦多表关联查询,包括where里面带子查询的查询、使用聚合函数的查询、使用group by(重点)的分组查询、同时使用聚合函数和group by的查询、带有having的查询等。使用in、not in、like等常用查询条件(见课本75页表4-7)。
关联查询:Select 字段1,字段2,… from 表1 inner join 表2 on 表1.字段=表2.字段
select * from 表 order by 升序字段 asc ,降序字段 desc;