SQL 语句分类
SQL 语句分类
-
DDL:数据定义语言,用来定义数据库对象(数据库,表,字段 )
-
DML:数据操作语言,用来对数据库中的数据进行增删减
-
DQL:数据查询语言,用来查询数据库中表的记录
-
DCL:数据控制语言,用来创建数据库表,用来控制数据库的访问权限
DDL-数据库操作
查询
SHOW DATABSES; 查询所有数据库
SELECT DATABASE(); 查询当前数据库
DESC 表名; 查询表结构
SHOW CREATE TABLE 表名;查询指定表的建表语句
创建
CREATE DATABSE[IF NOT EXISTS]数据库名[DEFAULT CHARSET 字符集] [COLLATE 排序规则];
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
.......
字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];
注意:[......]为可选参数,可有可无
删除
DROP DATABASE[LE EXISTS]数据库名
使用
USE 数据库名
DML-增删改
添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);
修改字段名和字段类型
ALTER 表明 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
删除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
删除表
DROP TABLE [IF EXISTS]表名;
删除表,并重新创建该表
TRUNCATE TABLE 表名;
- 添加数据 INSERT
- 修改数据 CUPDATE
- 删除数据 CDELETE
添加数据
给指定字段添加数据
INSERT INTO 表名(字段名1,字段名2......) VALLUES(值1,值2.....);
给全部字段添加数据
INSERRT INTO 表名 VALUES(值1,值2....);
批量添加数据
INSER INTO 表名(字段名1,字段名2.....) VALUESC (值1,值2.....),(值1,值2.....)(值1,值2......).....;
INSER INTO 表名 VALUES(值1,值2.......),(值1,值2).....;
修改数据
UPDATE 表名 SET 字段名1=值1,字段名2=值2,.....[WHERE 条件];
删除数据
DELETE FROM 表名[WHERE 条件];
DQL-数据查询
- SELECT 字段列表
- FROM 表名列表
- WHERE 条件列表
- GROUOP BY 分组字段列表
- HAVING 分组后条件列表
- ORDER BY 排序字段列表
- LIMIT 分页参数
查询多个字段
SELECT 字段1,字段2.....FROM 表名;
SELECT * FROM 表名;
设置别名
SELECT 字段1[AS 别名1],字段2[AS 别名2].....FROM 表名;
去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
运算符
比较运算符
- > 大于
- >= 大于等于
- < 小于
- <= 小于等于
- <>或!= 不等于
- BETWEEN....AND....在某个范围之内(含最大,最小值)
- IN(......) 在IN之后的列表中的值,多选一
- LIKE 占位符 模糊匹配(_单个字符,%任意个字符)
- IS NULL 是NULL
逻辑运算符
- AND或&& 并且(多个条件同时成立)
- OR或|| 或者(多个条件任意一个成立)
- NOT或! 非,不是
聚合函数
- COUNT 统计数量
- MAX 最大值
- MIN 最小值
- AVG 平均值
- SUM 求和
SELECT 聚合函数(字段列表)FROM 表名;
分组查询
SELECT 字段名 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组过滤条件];
执行顺序:WHERE>聚合函数>HAVING
分组之后,查询的字段一般为聚合函数和分组字段查询其他字段无意义

浙公网安备 33010602011771号