MySQL常用语句汇总
一. MySQL服务
- 启动
net start mysql - 停止
net stop mysql - 连接
mysql -h 主机地址 -u 用户名 -p 用户密码
mysql -h localhost -u root -P 3306 -p password
※-h连接地址,-u登录用户名,-P连接端口(默认为 3306),-p登录密码 - 修改
mysqladmin -u 用户名 -p 旧密码 password 新密码 - 退出
exit
二. 用户管理
-
新建用户
CREATE USER 用户名 IDENTIFIED BY 新用户名 -
更改密码
SET PASSWORD FOR 用户名 = PASSWORD(新密码) -
权限管理
查看:SHOW GRANTS FOR 用户名
授权:GRANT SELECT ON 库名.* TO 用户名
取消:REVOKE SELECT ON 库名.* TO 用户名
三. 数据库操作
- 查看
所有库:SHOW DATABASES
所在库:SHOW CREATE DATABASES 库名
相关库:SHOW DATABASES LIKE 库名 - 使用
USE 库名 - 创建
CREATE DATABASE 库名
CREATE DATABASE IF NOT EXISTS 库名 - 修改
ALTER DATABASE 库名 - 删除
DROP DATABASE 库名
DROP DATABASE IF EXISTS 库名
四. 表结构操作
-
查看
所有表:SHOW TABLES
所在表:SHOW CREATE TABLE 表名
相关表:SHOW TABLES LIKE 表名
所在表字段:DESC 表名 -
创建
CREATE TABLE 表名
CREATE TABLE IF NOT EXISTS 表名 -
修改
重命名:ALTER TABLE 旧表名 RENAME 新表名,RENAME TABLE 旧表名 TO 新表名,RENAME TABLE 原表名 TO 库名.表名
表结构:ALTER TABLE 表名 操作名- 添加字段:
ALTER TABLE 表名 ADD 字段名 字段类型 - 删除字段:
ALTER TABLE 表名 DROP 字段名 - 修改字段:
ALTER TABLE 表名 MODIFY 字段名 字段类型
- 添加字段:
-
删除
DROP TABLE 表名
DROP TABLE IF EXISTS 表名
五. 表数据操作
1. 插入
INSERT INTO 表名(字段名1,字段名2,...) values(值1,值2,...)
INSERT INTO 表名 SET 字段名 = 值
2. 删除
全部删除:DELETE FROM 表名,TRUNCATE TABLE 表名
条件删除:DELETE FROM 表名 WHERE 条件
3. 更新
单字段:UPDATE 表名 SET 字段名 = 值 WHERE 条件
多字段:UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2 WHERE 条件
4. 查询
所有数据:SELECT * FROM 表名
指定数据:SELECT 字段名 FROM 表名
筛选数据:SELECT 字段名 FROM 表名 WHERE 条件
-
条件(
WHERE)- 关系(
IS NULL)
SELECT * FROM 表名 WHERE 字段名 IS NULL - 逻辑(
AND,OR)
并且:SELECT * FROM 表名 WHERE 字段名1 = 值1 AND 字段名2 = 值2
或者:SELECT * FROM 表名 WHERE 字段名1 = 值1 OR 字段名2 = 值2 - 区间值(
IN,BETWEEN AND)
确定值:SELECT * FROM 表名 WHERE 字段名1 IN (值1,值2)
闭区间:SELECT * FROM 表名 WHERE 字段名1 BETWEEN 值1 AND 值2 - 模糊(
_,%)
单个字符:SELECT * FROM 表名 WHERE 字段名 LIKE _值
任意字符:SELECT * FROM 表名 WHERE 字段名 LIKE %值
- 关系(
-
去重(
DISTINCT,GROUP BY)
合并:SELECT DISTINCT 列名 FROM 表名
分组:SELECT 列名 FROM 表名 GROUP BY 列名 -
排序(
ORDER BY)
单字段:SELECT * FROM 表名 ORDER BY 字段名 ASC|DESC
多字段:SELECT * FROM 表名 ORDER BY 字段名1,字段名2 ASC|DESC -
分组(
GROUP BY)
所有:SELECT * FROM 表名 WHERE 条件 GROUP BY 字段名
指定:SELECT 字段名 FROM 表名 WHERE 条件 GROUP BY 字段名 -
分页(
LIMIT)
从0开始取n条:SELECT * FROM 表名 LIMIT N
从m开始取n条:SELECT * FROM 表名 LIMIT M,N -
联合(
INNER JOIN,LEFT JOIN,RIGHT JOIN)
内连接:SELECT * FROM 表1 INNER JOIN 表2 ON 表1字段值 = 表2字段值
左连接:SELECT * FROM 表1 LEFT JOIN 表2 ON 表1字段值 = 表2字段值
右连接:SELECT * FROM 表1 RIGHT JOIN 表2 ON 表1字段值 = 表2字段值 -
函数
-
数量(
COUNT)
所有:SELECT COUNT(*) AS 字段名 FROM 表名 WHERE 条件
指定:SELECT COUNT(字段名) FROM 表名 WHERE 条件 -
最大值:
SELECT MAX(字段名) FROM 表名 WHERE 条件 -
最小值:
SELECT MIN(字段名) FROM 表名 WHERE 条件 -
数值和:
SELECT SUM(字段名) FROM 表名 WHERE 条件 -
平均值:
SELECT AVG(字段名) FROM 表名 WHERE 条件
-
- 感谢你赐予我前进的力量