MYSQL
启动与停止
net start mysql80 //启动mysql数据库,不区分大小写
net stop mysql80 //停止
配置环境变量
找到安装文件的目录;例如:C:\Program Files\MySQL\MySQL Server 8.0\bin //默认安装路径
配置完毕然后进入命令提示符(cmd)输入:
mysql -u root -p
SQL通用语法
- SQL语句可以单行或多行书写,以分号结尾。
- SQL语句可以使用空格/缩进来增强语句的可读性。
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
- 注释:
- 单行注释:
--注释内容或# - 多行注释:
/* */
- 单行注释:
SQL分类
DDL 数据定义语言
数据库操作
查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();
创建
CREATE DATABASE [IF NOT EXISTS(意思:如果不存在我就创建)] 数据库名 [DEFAULT CHARSET 字符集(UTF-8可以省略)] [COLLATE 排序规则];
删除
DROP DATABASE [IF EXISTS] 数据库名;
使用
USE 数据库名;
表操作
查询当前数据库所有表
SHOW TABLES;
查询表结构
DESC 表名;
查询指定表的建表语句
SHOW CREATE TABLE 表名;
表创建
CREATE TABLE 表名(字段1 字段1类型 [COMMENT 字段1注释]);
表数据类型



表增加新字段
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)
添加指定字段数据
INSERT INTO 表名 (字段名1,字段名2,....) VALUES(值1,值2,...);
添加全部字段数据
INSERT INTO 表名 VALUES(值1,值2,...);
添加批量数据
1、INSERT INTO 表名 (字段名1,字段名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);
2、INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);
修改数据(UPDATE)
修改字段数据
UPDATE 表名 SET 字段名1 = 值1 , 字段名2=值2,....[WHERE 条件];
删除数据(DELETE)
删除字段数据
DELETE FROM 表名 [WHERE 条件];
DQL 数据查询语言
查询字段语法
SEKECT 字段列表
FROM 表名列表
WHRER 条件列表
GROUP BY 分组字段列表
HAVING 分组后条件列表
ORDER BY 排序字段列表
LIMIT 分页参数
基本查询
查询多个字段
1、SELECT 字段1,字段2,字段3,... FROM 表名;
2、SELECT * FROM 表名;
设置别名
SELECT 字段1 [AS 别名1],字段2 [AS 别名2] ... FROM 表名;
去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
条件查询(WHRER)
条件查询语法
SELECT 字段列表 FROM 表名 WHERE 条件列表;
条件


聚合函数(count、max、min、avg、sum )
介绍
将一列数据作为一个整体,进行纵向计算。
常见聚合函数

语法
SELECT 聚合函数(字段列表) FROM 表名;
分组查询(GROUP BY)
语法
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
where和having区别
执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
判断条件不同:where不能对聚合函数进行判断,而having可以。
排序查询(ORDER BY)
语法
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
排序方式
ASC:升序(默认值)
DESC:降序
分页查询(LIMIT)
语法
SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
注意
起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。
分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10。
执行顺序
- FROM 表名列表
- WHERE 条件列表
- GROUP BY 分组字段列表
- HAVING 分组后条件列表
- SELECT 字段列表
- ORDER BY 排序字段列表
- LIMIT 分页参数
DCL 数据控制语言
管理用户
查询用户
USE mysql;
SELECT * FROM user;
创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
删除用户
DROP USER '用户名'@'主机名';
权限控制
常见权限

查询权限
SHOW GRANTS FOR '用户名'@'主机名';
授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
函数
语法
SELECT 函数(参数);
更新字段数值:updata 表名 set 字段 = 函数(参数);
字符串函数
内置字符串函数

数值函数
常见的数值函数

日期函数
常见的日期函数

流程函数
常见的流程函数

评论(已关闭)
评论已关闭