class-notes/2208/MySQL常用语句.md
2025-02-21 10:38:51 +08:00

102 lines
2.6 KiB
Markdown

```sql
/*
40分
1-4 创建表、修改表结构、添加主键外键、更新记录、删除记录
5-6 单表、多表连接、条件、分组、排序、分页查询
7 视图
8 触发器
9 存储过程、存储函数
*/
#1-4
#创建表
CREATE TABLE 表名(
字段名 数据类型 约束 DEFAULT 默认值 COMMENT 备注,
字段名 数据类型 约束 DEFAULT 默认值 COMMENT 备注
);
#插入记录
INSERT INTO 表名(字段1, 字段2)
VALUES
(数值1, 数值2, 数值3),
(数值1, 数值2, 数值3);
#修改表字段数据类型
ALTER TABLE 表名 MODIFY 字段名 数据类型 约束;
#修改表字段名+数据类型
ALTER TABLE 表名 CHANGE 字段名 新字段名 数据类型 约束;
#删除表字段
ALTER TABLE 表名 DROP 字段名;
#添加表字段
ALTER TABLE 表名 ADD 字段名 数据类型 约束;
#设置字段默认值
ALTER TABLE 表名 ALTER 字段名 SET DEFAULT 默认值;
#设置唯一约束
ALTER TABLE 表名 MODIFY 字段名 数据类型 UNIQUE;
ALTER TABLE 表名 ADD UNIQUE(字段名);
#添加主键
ALTER TABLE 表名 MODIFY 字段名 数据类型 PRIMARY KEY;
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY(字段名);
#设置非主键字段自动增长
ALTER TABLE 表名 MODIFY 字段名 数据类型 PRIMARY KEY AUTO_INCREMENT;
#设置主键字段自动增长
ALTER TABLE 表名 MODIFY 字段名 数据类型 AUTO_INCREMENT;
#设置自动增长值
ALTER TABLE 表名 AUTO_INCREMENT=数值;
#添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(字段名) REFERENCES 外键表(主键字段名) ON UPDATE CASCADE/SET NULL ON DELETE CASCADE/SET NULL;
#记录更新
UPDATE 表名
SET 字段名 = 数值
WHERE 条件;
#记录删除
DELETE FROM 表名
WHERE 条件;
#5-7 查询+视图
SELECT 字段名
FROM 表名
WHERE 条件
GROUP BY 分组字段
HAVING 分组后条件
ORDER BY 排序字段
LIMIT 起始位置, 记录个数;
#创建视图
CREATE VIEW 视图名 AS
查询;
#8 触发器
DELIMITER $$
DROP TRIGGER IF EXISTS 触发器名;
CREATE TRIGGER 触发器名
BEFORE/AFTER UPDATE/INSERT/DELETE ON 表名
FOR EACH ROW
BEGIN
#BEGIN END 之间写需要附带的操作
END $$
DELIMITER ;
#9 存储过程、存储函数
DELIMTIER $$
DROP PROCEDURE IF EXISTS 存储过程名;
CREATE PROCEDURE 存储过程名(IN 参数名 数据类型, OUT 参数名 数据类型)
BEGIN
#BEGIN END 之间写需要执行的操作
END $$
DELIMITER ;
DELIMTIER $$
DROP FUNCTION IF EXISTS 存储函数名;
CREATE FUNCTION 存储函数名(参数名 数据类型)
RETURNS 返回值类型
DETERMINISTIC/NOT DETERMINISTIC
BEGIN
#BEGIN END 之间写需要执行的操作
END $$
DELIMITER ;
/*
寒假作业:19+10套
*/
```