mysql中restrict是什么意思
首先需要创建一张表,例如名为“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中的约束是用来检测数据正确性和合理性的,能够确保数据库中数据的正确性、有效性和完整性。对于不同的数据表,可以根据需要添加适当的约束进行管理和控制。

-
mysql怎么将查询结果赋给变量 2023-05-14 07:00:03
-
qt5.8如何连接mysql 2023-05-14 07:00:03
-
mysql乐观锁和悲观锁的区别是什么 2023-05-14 07:00:03
-
一起聊聊MySQL主从延时的处理方案 2023-05-14 07:00:03
-
mysql修改表结构的语句是什么 2023-05-14 07:00:03
-
MySQL 语法整理介绍 2023-05-14 07:00:03
-
mysql驱动是什么 2023-05-14 07:00:03
-
mysql怎样查询日期范围 2023-05-14 07:00:02
-
介绍MySQL和JDBC的事务控制(TCL) 2023-05-14 07:00:02
-
mysql怎么查询数据并起别名 2023-05-14 07:00:02