1、能用MySQL语句在创建表的时候实现,实体完整性、引用完整性、用户自定义完整性。
MySQL提供了多种方式来实现实体完整性、引用完整性和用户自定义完整性。以下是使用MySQL语句在创建表的时候实现这些完整性的示例:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), email VARCHAR(50) );
CREATE TABLE orders ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, order_date DATE, FOREIGN KEY (user_id) REFERENCES users(id) );
CREATE TABLE products ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), quantity INT, price DECIMAL(10, 2), CHECK (quantity > 0) );
2、理解触发器的概念,能用MySQL语句创建简单触发器。
触发器是MySQL中的一种特殊对象,它可以在指定的表上自动执行一系列的操作,当满足特定的条件时触发。下面是创建简单触发器的MySQL语句示例:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt
其中,各个部分的含义如下:
trigger_name
:触发器的名称,由用户自行指定。trigger_time
:触发器的时机,可以是(在操作之前触发)或(在操作之后触发)。BEFORE
AFTER
trigger_event
:触发器的事件,可以是(插入操作)、(更新操作)或(删除操作)。INSERT
UPDATE
DELETE
tbl_name
:建立触发器的表名,即在哪张表上建立触发器。trigger_stmt
:触发器的程序体,可以是一条SQL语句,或者用和包含的多条语句,每条语句要以分号结尾。BEGIN
END
下面是一个创建触发器的示例:
CREATE TRIGGER my_trigger AFTER INSERT ON my_table FOR EACH ROW BEGIN INSERT INTO log_table (message) VALUES ('A new row has been inserted'); END;
这个触发器在表上,当有新的行插入时,在表中插入一条日志记录。
my_table
log_table