SQL语句按照功能可以主要分为四类:DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)和DCL(数据控制语言)。
- DDL(数据定义语言):DDL用于定义和管理数据库结构,包括创建、修改和删除数据库、表、索引、视图、存储过程等。常见的DDL语句包括CREATE、ALTER和DROP。
- DML(数据操作语言):DML用于对数据库中的数据进行操作,包括插入、更新、删除和查询数据。常见的DML语句包括INSERT、UPDATE、DELETE和SELECT。
- DQL(数据查询语言):DQL用于查询数据库中的数据,常见的DQL语句是SELECT语句。DQL语句用于从数据库表中检索数据。
- DCL(数据控制语言):DCL用于管理数据库用户的访问权限和安全性,包括授予或回收权限、创建用户和角色等。常见的DCL语句包括GRANT、REVOKE和CREATE USER。
一.DDL
1.查询
1). 查询当前数据库所有表
show tables;
2). 查看指定表结构
desc 表名 ;
3). 查询指定表的建表语句
show create table 表名 ;
2.修改
1). 添加字段
alter table 表名 add 字段名 类型 (长度) [ comment 注释 ] [ 约束 ];
2). 修改数据类型
alter table 表名 modify 字段名 新数据类型 (长度);
3). 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型 (长度) [ comment 注释 ] [ 约束 ];
4). 删除字段
alter table 表名 drop 字段名;
5). 修改表名
rename table 表名 to 新表名;
3.删除
1). 删除表
drop table [ if exists ] 表名;
2). 删除指定表, 并重新创建表
truncate table 表名;
二.DML
1.增加(insert)
1). 给指定字段添加数据
insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...);
2). 给全部字段添加数据
INSERT INTO 表名 VALUES (值1, 值2, ...);
3). 批量添加数据
insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;
2.修改(update)
update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [ where 条件 ] ;
3.删除(delete)
delete from 表名 [ where 条件 ] ;
三.DQL
where与having区别
- 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
- 判断条件不同:where不能对聚合函数进行判断,而having可以。
多表查询需求实现步骤:
1.需求中数据涉及哪些表找出来.
2.表联合查询使用 从表的外键=主表主键,去除无效笛卡尔数据,
同时有其他额外过滤条件放到where中过滤
3.如果有分组,完成分组操作,有条件补充分组条件
4.回到select中把需要的数据定义出来.
5.排序,分页