目录
DDL (数据定义语言)
DDL -数据库操作
SHOW DATABASES;
CREATE DATABASE (IF NOT EXIST)数据库名;
USE 数据库名;
SELECT DATABASE();
DROP DATABASE (IF EXIST)数据库名;
DDL -表操作
SHOW TABLES;
CREATE TABLE 表名 (字段 字段类型,字段 字段类型);
DESC 表名;
查询表的建表语句:SHOW CREATE TABLE 表名;
ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO...;
DROP TABLE 表名;
TRUNCATE TABLE 表名;
DML(数据操作语言)
添加数据(INSERT)
指定字段添加数据:INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...);
全部字段添加数据:INSERT INTO 表名 VALUES(值1,值2,...);
批量添加数据:
INSERT INTO 表名(字段名1,字段名2,...)VALUES(值1,值2,...),(值1,值2,...);
INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);
修改数据(UPDATE)
UPDATE 表格 SET 字段值1=值1,字段值2=值2,字段值3=值3,...[WHERE 条件];
删除数据(DELETE)
DELETE FROM 表格 [WHERE 条件];
DQL(数据查询语言)
SELECT 字段列表4
FROM 表名列表1
WHERE 条件列表2
GROUP BY 分组字段列表3
HAVING 分组后条件列表
ORDER BY 排序字段列表5
LIMT 分页参数6
基本查询
条件查询(WHERE)
聚合函数(count、max、min、avg、sum)
分组查询(GROUP BY)
分页查询(LIMIT)
DQL-基本查询
1)查询多个字段
SELECT 字段1,字段2...FROM 表名;
SELECT *FROM 表名;
2)设置别名
SELECT 字段1[AS 别名1],字段2[AS 别名2]...FROM 表名;
3)去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
DQL-条件查询
SELECT 字段列表 FROM 表名 WHERE 条件列表;
条件:
比较运算符:>、>=、<、<=、=、<>或!=、BETWEEN...AND...、IN(...)、
LIKE 占位符 迷糊匹配(_匹配单个字符,%匹配任意个字符)、IS NULL (是NULL)
逻辑运算符:AND或&&、OR或||、NOT或!
DDL-聚合函数
SELECT 聚合函数(字段列表)FROM 表名;
注意:null不参与计算
DDL-分组查询
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名[HAVING分组后过滤条件]
WHERE>聚合函数>HAVING
DDL-排序查询
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
排序方式:ASC 升序(默认);DESC降序
DDL-分页查询
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
注意:起始索引从0开始,起始索引=(查询页面-1)每页显示记录数
分页查询是数据库方言
查询第一页数据,起始索引可省略。
DCL(数据控制语言)
DCL-用户管理
1)查询用户
USE mysql
SELECT * FROM user;
cmd:mysql -u itcast -p
2)创建用户
CREATE USER '用户名@‘主机名' IDENTIFIED BY '密码';
3)修改用户密码
ALTER USER '用户名'@’主机名‘ IDENTIFIED WITH mysql_native_password BY '新密码';
4)删除用户
DROP USER '用户名'@’主机名‘;
DCL_控制权限
权限:ALL,ALL PRIVILEGES;所有权限
SELECT:查询数据
INSERT:插入数据
UPDATE:修改数据
DELETE:删除数据
ALTER:修改表
DROP:删除数据库/表/视图
CREATE:创建数据库/表
查询权限:
SHOW GRANTS FOR ’用户名‘@’主机名‘
授予权限:
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@’主机名‘;
撤销权限:
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@’主机名‘;