MySQL是一種流行的關聯式資料庫管理系統,它是許多應用程式的資料儲存和處理的主要選擇。在使用MySQL時,表格的建立是一個非常重要且必須掌握的技能。本文將介紹如何在MySQL中建立表格。
use database_name;
其中,database_name是目標資料庫的名稱。
如果尚不存在目標資料庫,則需要使用以下命令建立資料庫並將其設定為目前資料庫:
CREATE DATABASE database_name; USE database_name;
下面是一個基本的MySQL表建立語句的範例:
CREATE TABLE table_name ( column_1 datatype constraint, column_2 datatype constraint, PRIMARY KEY (column_1) );
#其中,table_name是新表的名稱,column_1和column_2是要建立的列名稱,datatype是列的資料類型,而constraint則是列的限製或要求。 PRIMARY KEY用於指定表的主鍵,它應該是唯一標識每行資料的欄位。
例如,以下是一個名為students的MySQL表的建立語句範例:
CREATE TABLE students ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, age INT, gender ENUM('male','female') NOT NULL, PRIMARY KEY (id) );
在這個範例中,students是表的名稱,id是一個自動增量整數列,並指定為主鍵。 name是一個255個字元的文字列,age是整數列,gender是枚舉列,只能包含'male'或'female'兩個值。
下面是一些範例,示範如何使用這些限制:
CREATE TABLE employees ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL UNIQUE, age INT NOT NULL, PRIMARY KEY (id) );
在這個例子中,email列必須唯一,因此使用UNIQUE約束。
CREATE TABLE customers ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, address TEXT, created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) );
在這個範例中,created_date列設定了預設值為目前時間戳,因此不需要每次新記錄時都手動指定該列的值。
CREATE TABLE orders ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, product_name VARCHAR(255) NOT NULL, quantity INT NOT NULL, price DECIMAL(10,2) NOT NULL, status ENUM('pending','processing','shipped') DEFAULT 'pending', CONSTRAINT ck_price CHECK (price > 0), PRIMARY KEY (id) );
在這個範例中,price列透過CHECK約束限制值的範圍,要求列的值大於0。 status列的預設值為'pending',因此在新記錄時無需手動指定該列的值。
CREATE TABLE orders ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, customer_id INT UNSIGNED NOT NULL, product_name VARCHAR(255) NOT NULL, quantity INT NOT NULL, price DECIMAL(10,2) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (customer_id) REFERENCES customers(id) );
在這個範例中,customer_id列與顧客表的id列關聯,因此使用FOREIGN KEY限制建立外鍵。這表示customer_id列的值必須與顧客表中的id列的值一致。
以上是mysql表如何創建的詳細內容。更多資訊請關注PHP中文網其他相關文章!