在mysql中,建立表格時(shí)可以通過(guò)創(chuàng)建表約束來(lái)限制數(shù)據(jù)的輸入。
CREATE TABLE 表格名 ( 列名1 數(shù)據(jù)類型 約束條件, 列名2 數(shù)據(jù)類型 約束條件, 列名3 數(shù)據(jù)類型 約束條件, ... );
其中,約束條件可以有:
- NOT NULL:禁止單元格輸入NULL值。
- PRIMARY KEY:設(shè)置主鍵。
- DEFAULT:設(shè)定默認(rèn)值。
- UNIQUE:添加唯一約束。
- CHECK:添加檢查約束。
- FOREIGN KEY:添加外鍵約束。
下面通過(guò)例子來(lái)說(shuō)明:
CREATE TABLE student ( id INT NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL, gender CHAR(1) DEFAULT 'M', age INT CHECK(age >= 0 AND age<= 150), grade INT, FOREIGN KEY(grade) REFERENCES grade_table(grade_no), UNIQUE (name) );
在上面的例子中:
- id列是一個(gè)INT類型的主鍵,不能為空。
- name列是一個(gè)VARCHAR(20)類型的列,不能為空,而且要求表中唯一。
- gender列是一個(gè)CHAR(1)類型的列,如果不設(shè)置,就默認(rèn)是"M"。
- age列是一個(gè)INT類型的列,要求在0-150之間。
- grade列是一個(gè)INT類型的列,存儲(chǔ)的是grade_table表的主鍵,做為外鍵。
通過(guò)這些約束條件,我們可以避免一些不必要的錯(cuò)誤的數(shù)據(jù)輸入,讓數(shù)據(jù)更加準(zhǔn)確。