黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括_哔哩哔哩_bilibili
一、SQL 通用语法
(1)SQL 语句可以单行或多行书写,以分号结尾。
(2)SQL 语句可以使用空格/缩进增强语句的可读性。
(3)MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
(4)注释:
①单行注释:-- 注释内容 或 # 注释内容
②多行注释:/* 注释内容 */
二、SQL 分类
三、DDL
1. DDL - 数据库操作
1.1 查询
查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();
1.2 创建
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
1.3 删除
DROP DATABASE [IF EXISTS] 数据库名;
1.4 使用
USE 数据库名;
2. DDL - 表操作 - 查询
2.1 查询当前数据库所有表
SHOW TABLES;
2.2 查询表结构
DESC 表名;
2.3 查询指定表的建表语句
SHOW CREATE TABLE 表名;
3. DDL - 表操作 - 创建
4. DDL - 表操作 - 数据类型
4.1 数值类型
4.2 字符串类型
4.3 日期时间类型
5. DDL - 表操作 - 修改
5.1 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [ COMMENT 注释 ] [ 约束 ];
5.2 修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
5.3 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [ COMMENT 注释 ] [ 约束 ];
5.4 删除字段
ALTER TABLE 表名 DROP 字段名;
5.5 修改表名
ALTER TABLE 表名 RENAME TO 新表名 ;
6. DDL - 表操作 - 删除
6.1 删除表
6.2 删除指定表,并重新创建表
注意:在删除表的时候,表中的全部数据会被删除。
四、DML
1. 添加数据
1.1 给指定字段添加数据
1.2 给全部字段添加数据
1.3 批量添加数据
注意:
(1)插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
(2)字符串和日期型数据应该包含在引号中。
(3)插入的数据大小,应该在字段的规定范围内。
2. 修改数据
3. 删除数据
五、DQL
1. 基本语法
2. 基础查询
2.1 查询多个字段
2.2 字段设置别名
2.3 去除重复记录
3. 条件查询
4. 聚合函数
将一列数据作为一个整体,进行纵向计算。
4.1 常见的聚合函数
4.2 语法
注意:NULL 值是不参与所有聚合函数运算的。
5. 分组查询
5.1 语法
5.2 where 与 having 区别
(1)执行时机不同:where 是分组之前进行过滤,不满足 where 条件,不参与分组;而 having 是分组之后对结果进行过滤。
(2)判断条件不同:where 不能对聚合函数进行判断,而 having 可以。
5.3 注意
(1)分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
(2)支持多字段分组,具体语法为:group by columnA、columnB
5.4 案例
6. 排序查询
6.1 语法
6.2 排序方式
7. 分页查询
7.1 语法
7.2 注意
8. 执行顺序
六、DCL
DCL 英文全称是 Data Control Language (数据控制语言),用来管理数据库用户、控制数据库的访问权限。
1. DCL - 管理用户
1.1 查询用户
1.2 创建用户、修改用户密码、删除用户
1.3 案例
2. DCL - 权限控制
常用权限: