CREATE TABLE table_name ( column1 data_type [constraints], column2 data_type [constraints], ... );
在上面的建表语句中,[constraints]即为限定符号,通过它可以对数据表中的列进行一些属性约束,下面列举一些比较常用的限定符号。
NOT NULL
NOT NULL用来限制列中的数据不能为NULL,例如:
CREATE TABLE student ( id INT NOT NULL, name VARCHAR(20) NOT NULL, age INT );
UNIQUE
UNIQUE用来限制列中的数据必须是唯一的,例如:
CREATE TABLE student ( id INT NOT NULL UNIQUE, name VARCHAR(20) NOT NULL, age INT );
PRIMARY KEY
PRIMARY KEY用来限制列中的数据为主键,一个表只能有一个主键,且主键必须是唯一的,例如:
CREATE TABLE student ( id INT NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT );
DEFAULT
DEFAULT用来指定列的默认值,例如:
CREATE TABLE student ( id INT NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL DEFAULT 'unknown', age INT DEFAULT 0 );
FOREIGN KEY
FOREIGN KEY用来指定列为外键,它会将列与另一个表的列进行关联,例如:
CREATE TABLE student ( id INT NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT, class_id INT, FOREIGN KEY (class_id) REFERENCES class(id) );
在上面的例子中,class_id列被指定为外键,它与另一个表class的id列进行关联。
通过使用限定符号,大家能够更加精确地定义数据表的结构和属性,使得数据库管理更加规范和高效。