Auto commit

This commit is contained in:
smallkun 2025-02-26 09:17:16 +08:00
parent dceb62f983
commit a2e6ffbfde

View File

@ -114,3 +114,82 @@ SELECT @result;
```
### 第二套
```sql
#1 创建表
CREATE TABLE t_booking(
bid CHAR(10) PRIMARY KEY,
rid CHAR(10) NOT NULL,
customerName VARCHAR(50),
tel VARCHAR(30),
btime DATE
);
#2 插入记录
INSERT INTO t_booking()
VALUES('b0001', 'r0002', '诸葛亮', '1821234567', '2023-10-01');
#3 添加字段
ALTER TABLE t_hotel ADD introduce VARCHAR(255);
#4 更新记录
UPDATE t_room r
SET r.price = 500
WHERE r.rid = 'r0003';
#5 tj11
SELECT *
FROM t_hotel h
WHERE h.`level` IN ('二星', '三星');
#6 tj12
SELECT h.hid, ROUND(AVG(r.price), 2)
FROM t_hotel h, t_room r
WHERE h.hid = r.hid
GROUP BY h.hid;
#7 子查询 + 视图
CREATE VIEW v_hotel AS
SELECT h.hname, r.rname, r.price
FROM t_hotel h, t_room r
WHERE h.hid = r.hid AND r.price =(
SELECT MAX(price)
FROM t_room
WHERE hid = h.hid
);
#8 触发器
DELIMITER $$
DROP TRIGGER IF EXISTS tri_updateInteroduce;
CREATE TRIGGER tri_updateInteroduce
BEFORE UPDATE ON t_hotel
FOR EACH ROW
BEGIN
IF NEW.`level` <> OLD.`level` THEN
IF NEW.`level` IN ('一星', '二星') THEN
SET NEW.introduce = '实用';
ELSEIF NEW.`level` IN ('三星', '四星') THEN
SET NEW.introduce = '豪华';
ELSE
SET NEW.introduce = '奢华';
END IF;
END IF;
END $$
DELIMITER ;
#9 存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS pro_GetLowPrice;
CREATE PROCEDURE pro_GetLowPrice(IN in_rname VARCHAR(30), OUT out_hname VARCHAR(30))
BEGIN
SELECT h.hname INTO out_hname
FROM t_hotel h, t_room r
WHERE h.hid = r.hid AND r.rname = in_rname
ORDER BY r.price
LIMIT 1;
END $$
DELIMITER ;
```