目录
(一)创建数据库
1、连接数据库
import pymysql
mydb = pymysql.connect(
host='localhost',
port =3306,
user='root',
passwd='123456',
charset='utf8mb4' )
print(mydb)
测试连接效果 ,出现此串代码表示数据库连接成功
2、创建数据库test
- 刷新之后会出现新建的数据库test,表明数据库创建成功
注:也可以直接在navicat中创建
CREATE DATABASE test CHARSET='utf8mb4';
二)创建数据表
1、创建学生表
(1)创建学生表
注:在test数据库下面建立表,应该先输入 use test; 命令使用test数据库
CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(8),gender CHAR(2),age INT);
刷新后出现新建的数据表student,表明数据表创建成功
(2)插入数据
INSERT INTO student (name,gender,age) VALUES ('杨过','男',24);
INSERT INTO student (name,gender,age) VALUES ('张三','男',22);
INSERT INTO student (name,gender,age) VALUES ('李四','女',19);
INSERT INTO student (name,gender,age) VALUES ('王五','男',27);
INSERT INTO student (name,gender,age) VALUES ('陈六','女',20);
————————————————
版权声明:本文为CSDN博主「Max1080_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Max1080_/article/details/124801174
- 插入数据成功
2、创建日志表
CREATE TABLE log(id INT PRIMARY KEY AUTO_INCREMENT,time TIMESTAMP,operation VARCHAR(10),detail VARCHAR(50));
- 刷新后出现新建的数据表log,表明数据表创建成功
(三)创建触发器
1、创建插入触发器
CREATE TRIGGER trigger_insert
AFTER INSERT ON student FOR EACH ROW
INSERT INTO log (time,operation,detail)
VALUES (NOW(), 'INSERT', CONCAT('新记录:',NEW.id,NEW.name,NEW.gender,NEW.age));
2、创建更新触发器
CREATE TRIGGER trigger_update
AFTER UPDATE ON student FOR EACH ROW
INSERT INTO log (time,operation,detail)
VALUES (NOW(),'UPDATE',CONCAT('(',OLD.id,OLD.name,OLD.gender,OLD.age,')',
'->','(',NEW.id,NEW.name,NEW.gender,NEW.age,')'
));
3、创建删除触发器
CREATE TRIGGER trigger_delete
AFTER DELETE ON student FOR EACH ROW
INSERT INTO log(time,operation,detail)
VALUES (NOW(),'DELETE',CONCAT('旧记录:',OLD.id,OLD.name,OLD.gender,OLD.age));
(四)查看触发器
1、查看创建的全部触发器
SHOW TRIGGERS;
2、查看触发器的创建语句
(1)查看插入触发器的创建语句
SHOW CREATE TRIGGER trigger_insert;
(2)查看更新触发器的创建语句
SHOW CREATE TRIGGER trigger_update;
(3)查看删除触发器的创建语句
SHOW CREATE TRIGGER trigger_delete;
(五)测试触发器
1、测试插入触发器
- 插入一条新记录 INSERT INTO student (name,gender,age) VALUES ('大聪明','男',13);
2、测试更新触发器
- 更新第5条记录 UPDATE student SET name='宋风' ,gender='男',age=25 WHERE id=5;
3、测试删除触发器
- 删除第5条记录 DELETE FROM student WHERE id=5;
(六)删除触发器
1、删除插入触发器
DROP TRIGGER trigger_insert;
2、删除更新触发器
DROP TRIGGER trigger_update;
3、删除删除触发器
DROP TRIGGER trigger_delete;