diff --git a/最后一舞/MySQL常用语法.md b/最后一舞/MySQL常用语法.md new file mode 100644 index 0000000..2892513 --- /dev/null +++ b/最后一舞/MySQL常用语法.md @@ -0,0 +1,110 @@ +```sql +/* +1-9题 40分 +1-4 创建表、修改、添加、删除字段,记录插入、记录删除、记录更新 +创建主键、外键、唯一约束 +5.tj11 查询 +6.tj12 查询 +7.查询+视图 +8.触发器 +9.存储过程、存储函数 +*/ +#1-4 +#创建表(最后一个字段后没有,) +CREATE TABLE 表名( + 字段名 数据类型 约束 [ZEROFILL] DEFAULT 默认值 COMMENT 备注, + 字段名 数据类型 约束 [ZEROFILL] DEFAULT 默认值 COMMENT 备注 +); +#插入记录 +INSERT INTO 表名(字段1, 字段2) +VALUES(数值1, 数值2); +#删除表 +DROP TABLE 表名; +#清空表 +TRUNCATE 表名; +#修改字段数据类型 +ALTER TABLE 表名 MODIFY 字段名 数据类型 约束; +#修改字段名+数据类型 +ALTER TABLE 表名 CHANGE 字段名 新字段名 数据类型 约束; +#删除字段 +ALTER TABLE 表名 DROP 字段名; +#添加字段 +ALTER TABLE 表名 ADD 字段名 数据类型 约束; +#添加主键 +ALTER TABLE 表名 MODIFY 字段名 数据类型 PRIMARY KEY; +ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY(字段名); +#添加自动增长(字段已为主键) +ALTER TABLE 表名 MODIFY 字段名 数据类型 AUTO_INCREMENT; +#添加自动增长(字段不为主键) +ALTER TABLE 表名 MODIFY 字段名 数据类型 PRIMARY KEY AUTO_INCREMENT; +#设置自动增长的起始值 +ALTER TABLE 表名 AUTO_INCREMENT = 数值; +#设置默认值 +ALTER TABLE 表名 ALTER SET DEFAULT 默认值; +#添加外键约束 +ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(字段名) REFERENCES 外键表(主键) [ON UPDATE CASCADE/SET NULL ON DELETE CASCADE/SET NULL] +#添加唯一约束 +ALTER TABLE 表名 MODIFY 字段名 数据类型 UNIQUE; +ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(字段名); +#插入记录 +INSERT INTO 表名() +VALUES(DEFAULT, 数值, 数值); +INSERT INTO 表名() +SET 字段名=数值, 字段名=数值, 字段名=数值; +#更新记录 +UPDATE 表名 +SET 字段名 = 数值 +WHERE 条件; +#删除记录 +DELETE FROM 表名 +WHERE 条件; + +#5-7题 查询、视图 +SELECT 字段名 +FROM 表名 +WHERE 分组前条件 +GROUP BY 分组字段 +HAVING 分组后条件 +ORDER BY 排序的字段名/字段的位置编号(1、2、3) +LIMIT 起始位置,记录个数 #位置和C语言数组一样 起始从0开始 + +#创建视图 +CREATE VIEW 视图名 AS +查询; +#修改视图 +ALTER VIEW 视图名 AS +查询; +#删除视图 +DROP VIEW 视图名; + +#8 触发器 +DELIMITER $$ +DROP TRIGGER IF EXISTS 触发器名; +CREATE TRIGGER 触发器名 +BEFORE/AFTER UPDATE/DELETE/INSERT ON 表 +FOR EACH ROW +BEGIN + #需要附带的操作写在BEGIN END 之间 +END $$ +DELIMITER ; + +#9 存储过程、存储函数 +DELIMITER $$ +DROP PROCEDURE IF EXISTS 存储过程名; +CREATE PROCEDURE 存储过程名(IN/OUT 参数名 数据类型, IN/OUT 参数名 数据类型) +BEGIN + #需要执行的操作写在BEGIN END 之间 +END $$ +DELIMITER ; + +DELIMITER $$ +DROP FUNCTION IF EXISTS 存储函数名; +CREATE FUNCTION 存储函数名(参数名 数据类型, 参数名 数据类型) +RETURNS 返回值类型 +DETERMINISTIC/NOT DETERMINISTIC #相同参数返回值确定或者不确定 +BEGIN + RETURN 返回值;#存储函数必须有返回值 +END $$ +DELIMITER ; +``` +