MySQL 是目前最為流行的關(guān)系型數(shù)據(jù)庫(kù)之一,建表是進(jìn)行數(shù)據(jù)存儲(chǔ)的重要步驟,下面是一些建表時(shí)需要注意的規(guī)則:
CREATE TABLE [table_name] ( column_1 data_type(size) PRIMARY KEY, column_2 data_type(size) NOT NULL, ... );
一、表名:
表名應(yīng)該使用小寫(xiě)字母,不要使用特殊符號(hào)和關(guān)鍵字作為表名,也不要使用 MySQL 的保留字作為表名。
CREATE TABLE employee; // 正確 CREATE TABLE `Employee`; // 可以使用反引號(hào)將表名轉(zhuǎn)義 CREATE TABLE 123employee; // 錯(cuò)誤:表名不能以數(shù)字開(kāi)頭 CREATE TABLE select; // 錯(cuò)誤:表名不能使用 MySQL 的保留字
二、字段名:
字段名應(yīng)該使用小寫(xiě)字母,不要使用特殊符號(hào)和關(guān)鍵字作為字段名,也不要使用 MySQL 的保留字作為字段名。
CREATE TABLE employee ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, `class` VARCHAR(50) NOT NULL // 可以使用反引號(hào)將字段名轉(zhuǎn)義 );
三、數(shù)據(jù)類(lèi)型和大小:
在建表過(guò)程中需要確定每個(gè)字段的數(shù)據(jù)類(lèi)型和大小,數(shù)據(jù)類(lèi)型包括整型、浮點(diǎn)型、字符型等多種類(lèi)型,常用的數(shù)據(jù)類(lèi)型如下:
INT、BIGINT、FLOAT、DOUBLE、DECIMAL、CHAR、VARCHAR、TEXT、DATE、DATETIME
在選擇數(shù)據(jù)類(lèi)型的時(shí)候需要根據(jù)實(shí)際情況來(lái)決定,比如要存儲(chǔ)的數(shù)據(jù)范圍、是否需要進(jìn)行計(jì)算等。
四、主鍵:
每張表都應(yīng)該定義一個(gè)主鍵,主鍵可以是一個(gè)或多個(gè)字段組成的復(fù)合主鍵,主鍵的目的是保證數(shù)據(jù)的唯一性。
CREATE TABLE employee ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, class VARCHAR(50) NOT NULL );
五、NULL 和 NOT NULL:
字段可以定義為允許 NULL 值或 NOT NULL 值,如果不指定,默認(rèn)為允許 NULL 值。
CREATE TABLE employee ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, salary FLOAT NOT NULL );
六、AUTO_INCREMENT:
自增長(zhǎng)是指在插入新數(shù)據(jù)的時(shí)候,自動(dòng)將該字段的值遞增,適用于主鍵或唯一鍵,可以避免自己手動(dòng)輸入。
CREATE TABLE employee ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, salary FLOAT NOT NULL );
七、唯一鍵:
唯一鍵是可以唯一標(biāo)識(shí)每一條數(shù)據(jù)的字段,可以用來(lái)避免數(shù)據(jù)的重復(fù)插入,一個(gè)表可以有多個(gè)唯一鍵。
CREATE TABLE employee ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(50) UNIQUE // email 為唯一鍵 );
以上是建表的一些基本規(guī)則和注意事項(xiàng),希望對(duì)大家有所幫助。