mysql中restrict是什么意思

文 / @WordPress主题

首先需要创建一张表,例如名为“students”的学生信息表,包含字段“id”、“name”、“age”、“gender”。

CREATE TABLE students(
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL
);

其中,id为主键约束,AUTO_INCREMENT表示每次插入数据时自动增加编号。PRIMARY KEY表示该字段为主键,NOT NULL表示该字段不允许为空。

2、给一张表添加外键约束

例如,在创建一张“scores”的成绩表时,需要用到“students”表的学生编号“id”字段作为外键约束。

CREATE TABLE scores(
score_id INT AUTO_INCREMENT PRIMARY KEY,
student_id INT,
subject VARCHAR(20) NOT NULL,
score FLOAT NOT NULL,
CONSTRAINT fk_student_id FOREIGN KEY(student_id) REFERENCES students(id)
);

其中,CONSTRAINT指定外键约束的名称为“fk_student_id”,FOREIGN KEY表示该字段为外键,REFERENCES指定该外键约束引用了“students”表的“id”字段。

3、给一张表添加唯一约束

例如,在创建一张名为“users”的用户信息表时,需要避免表中的用户名重名,就可以把用户名列设置为唯一约束。

CREATE TABLE users(
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(50) NOT NULL
);

其中,UNIQUE表示该字段为唯一约束,NOT NULL表示该字段不允许为空。

4、给一张表添加检查约束

例如,在创建一张名为“employees”的员工信息表时,需要检查员工薪资是否超出公司规定的范围。

CREATE TABLE employees(
employee_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
salary FLOAT NOT NULL CHECK (salary > 0 AND salary 0 AND salary < 1000000表示该字段的范围在0~1000000之间。

5、给一张表添加非空约束

例如,在创建一张名为“orders”的订单信息表时,需要保证订单号不为空。

CREATE TABLE orders(
order_id INT AUTO_INCREMENT PRIMARY KEY,
order_number VARCHAR(50) NOT NULL,
customer_name VARCHAR(50) NOT NULL,
order_date DATE NOT NULL,
total_price FLOAT NOT NULL
);

其中,NOT NULL表示该字段不允许为空。

6、给一张表添加默认值约束

例如,在创建一张名为“products”的产品信息表时,如果不输入产品价格,则会默认设置为100元。

CREATE TABLE products(
product_id INT AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(50) NOT NULL,
price FLOAT DEFAULT 100
);

其中,DEFAULT 100表示该字段的默认值为100。如果用户不输入价格,则会自动设置为100元。

总之,MySQL中的约束是用来检测数据正确性和合理性的,能够确保数据库中数据的正确性、有效性和完整性。对于不同的数据表,可以根据需要添加适当的约束进行管理和控制。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。