3.1 KiB
3.1 KiB
/*
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 ;