目录
一、DDL
1.定义
数据定义语言
包含:数据库或者表的定义
2.关键词
CREATE DROP ALTER
3.功能
1.数据库的创建
CREATE DATABASE [IF NOT EXISTS] `数据库名称` [DEFAULT CHARACTER SET 字符集 COLLATE 排序规则字符集];
2.使用指定数据库
USE `数据库名`
3.删除数据库
DROP DATABASE [IF EXISTS] `数据库名称`;
4.修改数据库
ALTER DATABASE `数据库名称` CHARACTER SET utf8
5.创建表
CREATE TABLE [IF NOT EXISTS] `表名`(
字段名 数据类型 约束 ,
字段名 数据类型 约束 ,
字段名 数据类型 约束 ,
...
字段名 数据类型 约束
);
6.删除表
DROP TABLE [IF EXISTS] `表名`;
7.添加列
ALTER TABLE `表名` ADD 列表 数据类型 约束
8.修改列的类型
ALTER TABLE `表名` MODIFY 列明 新的数据类型
9.修改列的列明+数据类型+约束
ALTER TABLE `表名` CHANGE 原列明 新列明 数据类型 约束;
10.删除列
ALTER TABLE `表名` DROP `列明`
11.添加主键
ALTER TABLE `表名` ADD CONSTRAINT 主键名称
PRIMARY KEY 表名(`字段名称`)
12.删除主键
ALTER TABLE `表名` DROP PRIMARY KEY;
二、DML
1.定义
数据操作语言
2.关键词
UPDATE DELETE INSERT
3.功能
1.数据插入
INSERT [INTO] `表名` (字段列表) VALUES (值列表)
2.数据修改
数据修改
UPDATE `表名` SET 字段名 = 值,字段名 = 值......
[WHERE 条件语句]
3.数据删除
DELETE FROM `表名`
[WHERE 条件语句]
三、DCL
1.定义
数据控制语言
2.关键词
GRANT INVOKE
3.功能
1.创建用户
CREATE USER 用户名@地址 IDENTIFIED BY '密码';
2.删除用户
DROP USER 用户名;
3.权限授予
GRANT 权限1, … , 权限n ON 数据库.* TO 用户名;
4.权限撤销
REVOKE权限1, … , 权限n ON 数据库.* FORM 用户名;
5.密码修改
UPDATE USER SET authentication_string=PASSWORD('密码') WHERE User='用户名' and Host='IP';
FLUSH PRIVILEGES;
四、DQL
1.定义
数据查询语言
2.关键词
SELECT
3.完整语法
SELECT 字段列表(*) FROM `表名`
[WHERE 条件语句]
[GROUP BY 分组字段]
[HAVING 分组条件]
[ORDER BY 排序字段]
[DESC | ASC]
[LIMINT 偏移量,每页数量]
4.注意点
1. WHERE 和 HAVING区别?
WHERE条件是筛选分组的之前的数据,后不能使用聚合函数
HAVING条件是筛选分组后的数据,支持使用聚合函数
2.注意:内连接和外连接的区别
内连接只要有一张表的所有数据是NULL,则查结果不显示。
外连接如果有一张表的所有数据是NULL,则取决主从表的关系。
5. 聚合函数:
1>.COUNT() 统计函数
2>.SUM() 求和函数
3>.MAX() 求最大值函数
4>.MIN() 求最小值函数
5>.AVG() 求平均值函数