Mysql數據庫中,我們可以對字段進行各種約束,以保證數據的完整性和正確性。常見的字段約束如下:
1. NOT NULL約束
CREATE TABLE students ( id INT(11) NOT NULL, name VARCHAR(50) NOT NULL, age INT(11), PRIMARY KEY (id) );
這里我們定義了一個students表,其中id和name字段都要求非空。如果我們插入一條數據時,id或name為空,將會報錯。
2. UNIQUE約束
CREATE TABLE students ( id INT(11) NOT NULL, name VARCHAR(50) UNIQUE, age INT(11), PRIMARY KEY (id) );
這里我們給name字段添加了UNIQUE約束,也就是要求每條數據的name字段都是唯一的。如果有重復的插入,則會報錯。
3. PRIMARY KEY約束
CREATE TABLE students ( id INT(11) PRIMARY KEY, name VARCHAR(50), age INT(11) );
這里我們將id字段定義為PRIMARY KEY約束,也就是主鍵。主鍵要求每條數據的值都不相同,如果有相同的插入,則會報錯。
4. FOREIGN KEY約束
CREATE TABLE students ( id INT(11) PRIMARY KEY, name VARCHAR(50), age INT(11), department_id INT(11), FOREIGN KEY (department_id) REFERENCES departments(id) ); CREATE TABLE departments ( id INT(11) PRIMARY KEY, name VARCHAR(50) );
這里我們在students表中定義了department_id字段,它引用了departments表的id字段,也就是添加了外鍵約束,關聯了兩個表。使用外鍵約束可以保證數據的一致性,如果我們在students表中插入一條department_id值不存在的記錄,則會報錯。
5. CHECK約束
CREATE TABLE students ( id INT(11) PRIMARY KEY, name VARCHAR(50), age INT(11), gender ENUM('M', 'F'), CHECK (age >= 0 AND age<=100) );
這里我們定義了一個CHECK約束,限制了age字段的取值范圍在0-100之間。如果插入一條數據時,age字段不在這個范圍內,則會報錯。
下一篇css字符怎么設置寬度