MySQL笔记
2026/2/2大约 4 分钟
MySQL笔记
一. MySQL服务的启动与停止以及客户端连接
启动
net start mysql80 (这个是自己安装时候的服务名字,不区分大小写)停止
net stop mysql80 (这个是自己安装时候的服务名字,不区分大小写)客户端连接
mysql [-h 127.0.0.1] [-P 3306] -u root -p
二. DDL(Data Definition Language)语句
DDL-数据库操作
查询
查询所有数据库
SHOW DATABASES;查询当前数据库
SELECT DATABASE();创建
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];删除
DROP DATABASE [IF EXISTS] 数据库名;使用
USE 数据库名;
DDL-表操作-查询
查询当前数据库所有的表
SHOW TABLES;查询表结构
DESC 表名;查询指定表的建表语句
SHOW CREATE TABLE 表名;
DDL-表操作-创建
创建表
CREATE TABLE 表名( 字段1 字段1类型 [COMMENT 注释], 字段2 字段2类型 [COMMENT 注释], 字段3 字段3类型 [COMMENT 注释], 字段4 字段4类型 [COMMENT 注释] ) [COMMENT 注释];
DDL-表操作-修改
添加字段
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(Data Manipulation Language)
DML-添加数据
给指定字段添加数据
INSERT INTO 表名(字段1, 字段2, ...) VALUES(值1, 值2, ...);给全部字段添加数据
INSERT INTO 表名 VALUES(值1, 值2, ...);批量添加数据
INSERT INTO 表名(字段1, 字段2, ...) VALUES(值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...); INSERT INTO 表名 VALUES(值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);
DML-修改数据
基本语法
UPDATE 表名 SET 字段1=值1, 字段2=值2, ... [WHERE 条件];
DML-删除数据
基本语法
DELETE FROM 表名 [WHERE 条件];
四. DQL(Data Query Language)
DQL语法
基本结构
SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排序字段列表 LIMIT 分页列表
DQL-基本查询
查询多个字段
SELECT 字段1 [AS 别名1], 字段2 [AS 别名1], ... FROM 表名; SELECT * FROM 表名;去除重复记录
SELECT DISTINCT 字段1 [AS 别名1], 字段2 [AS 别名1], ... FROM 表名;
DQL-条件查询
语法
SELECT 字段列表 FROM 表名 WHERE 条件列表;条件

DQL-聚合函数
常见聚合函数

语法
SELECT 聚合函数(字段列表) FROM 表名;
DQL-分组查询
语法
SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
DQL-排序查询
语法
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1, 字段2 排序方式2;排序方式
ASC:升序(默认值) DESC:降序
DQL-分页查询
语法(limit是方言)
SELECT 字段名 FROM 表名 LIMIT 起始索引, 查询记录数;
DQL-执行顺序
图示:

五. DCL(Data Control Language)
DCL-管理用户
查询用户
-- 事实上是存放在 mysql 系统数据库中的 user 表中 select * from mysql.user;创建用户
create user '用户名'@'主机名' identified by '密码'; -- 例子 -- 只能够在当前主机访问 create user 'new_user'@'localhost' identified by '123456'; -- 能在任意主机访问 create user 'new_user'@'%' identified by '123456';修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码'; -- 例子 alter user 'new_user'@'localhost' identified with mysql_native_password by '1234';删除用户
drop user '用户名'@'主机名';
DCL-权限控制
常见的权限

查询权限
show grants for 'new_user'@'localhost';授予权限
grant all on 数据库名.表名 to 'new_user'@'localhost';撤销权限
revoke all on 数据库名.表名 from 'new_user'@'localhost';
六. 函数
字符串函数

数值函数

日期时间函数

流程控制函数

七. 约束
概述

添加外键约束

删除外键约束
alter table 表名 drop foreign key 外键名称;删除/更新行为
