一 DDL
数据库定义语言
数据库操作
查询
查询所有数据库
SHOW DATABASE;
查询当前数据库
SELECT DATABASE();
创建
CREATE DATABASE [IF NOT EXIST] 数据库名 [DEFAULT CHARST 字符集] [COLLATE 排序规则];
(字符集utf8mb4)
删除
DROP DATABASAE [IF EXISTS] 数据库名;
使用
USE 数据库名;
操作表结构
查询
查询当前数据库所有表
SHOW TABLES;
查询表结构
DESC 表名;
查询指定表的建表语句
SHOW CREATE TABLES 表名;
创建
CREATE TABLE表名( 字段1 字段1类型[COMMENT 字段1注释], 字段2 字段2类型[COMMENT 字段2注释], 字段3 字段3类型[COMMENT 字段3注释], 字段n 字段n类型[COMMENT 字段n注释] )[ COMMENT 表注释];
修改
添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT注释] [约束];
删除字段
ALTER TABLE 表名 DROP 字段名;
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
删除
删除表
DROP TABLE [IF EXISTS] 表名;
删除指定表,并重新创建该表
TRUNCATE TABLE 表名;
数据类型
数值类型
字符串类型
日期类型
二 DML
(数据操作语言,用于对数据库中表的数据记录进行增删改操作)
添加数据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……); INSERT INTO 表名 VALUES (值1,值2……),(值1,值2……),(值1,值2……);
注意:
- 插入数据时,指定的字段顺序需要与值的顺序是一一对应的
- 字符串和日期型数据应该包含在引号中
- 插入的数据大小,应该在字段的规定范围内
修改数据UPDATE
UPDATE 表名 SET 字段名1=值1,字段名2=值2,……[WHERE 条件];/*不带where指修改整张表*/
删除数据DELETE
DELETE FROM 表名[WHERE 条件];
注意:
DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据
DELETE语句不能删除某一字段的值(可以使用UPDATE)
三 DQL
数据查询语言,用于查询数据库中表的记录
查询关键字SELECT
基本查询
条件查询
聚合函数:
1.介绍:将一系列数据作为一个整体,进行纵向计算
分组查询
注意:
1.执行顺序: where -->聚合函数 --> having
2.分组之后,查询的字段一般为聚合函数和分组字段,查询其它字段无任何意义
排序查询
分页查询
DQL执行顺序
四 DCL
数据控制语言,用来管理数据库用户、控制数据库的访问权限
1)管理用户
注意:
1.主机名可以使用%通配
2.这类SQL开发人员操作的比较少,主要是DBA数据库管理员使用
2)权限控制
注意:
1.多个权限之间,使用逗号分隔
2.授权时,数据库名和表名可以使用*进行通配,代表所有