創(chuàng)建表
- 語(yǔ)句
CREATE TABLE 語(yǔ)句用于創(chuàng)建數(shù)據(jù)庫(kù)中的表。 - 語(yǔ)法
CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
....
)
- 實(shí)例
CREATE TABLE tt (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(10),
age INT DEFAULT 0
);
- 約束
約束用于限制加入表的數(shù)據(jù)的類型。
可以在創(chuàng)建表時(shí)規(guī)定約束(通過 CREATE TABLE 語(yǔ)句),或者在表創(chuàng)建之后也可以(通過 ALTER TABLE 語(yǔ)句)。
我們將主要探討以下幾種約束:
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
-
DEFAULT
- SQL NOT NULL 約束
NOT NULL 約束強(qiáng)制列不接受 NULL 值。
NOT NULL 約束強(qiáng)制字段始終包含值。這意味著,如果不向字段添加值,就無法插入新記錄或者更新記錄。下面的 SQL 語(yǔ)句強(qiáng)制 "Id_P" 列和 "LastName" 列不接受 NULL 值:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
2. SQL UNIQUE 約束
UNIQUE 約束唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的每條記錄。
UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。
PRIMARY KEY 擁有自動(dòng)定義的 UNIQUE 約束。
請(qǐng)注意,每個(gè)表可以有多個(gè) UNIQUE 約束,但是每個(gè)表只能有一個(gè) PRIMARY KEY 約束。
下面的 SQL 在 "Persons" 表創(chuàng)建時(shí)在 "Id_P" 列創(chuàng)建 UNIQUE 約束:
```
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)