創建數據表的基本形式
CREATE TABLE <表名>
(
字段名1,數據類型[列級別約束條件][默認值],
字段名1,數據類型[列級別約束條件][默認值],
......
[表級別約束條件]
);
創建員工表tb_employee1
CREATE DATAVASE aa;
USE aa;
CREATE TABLE tb_employee1
(
id INT(11),
name VACHAR(25),
depid INT(11),
salary FLOAT
);
查看是否創建成功
SHOW TABLES;
主鍵約束
單字段主鍵
字段名 數據類型 PRIMARY KETY[默認值]
定義數據庫表 tb_employee2
CREATE TABLE tb_employee2
(
id INT(11)PRIMARY KEY,
name VACHAR(25),
depid INT(11),
salary FLOAT
);
或者
[CONSTRAINT<約束名>]PRIMARY KEY[字段名]
CREATE TABLE tb_employee2
(
id INT(11),
name VACHAR(25),
depid INT(11),
salary FLOAT,
PRIMARY KEY(id)
);
多字段聯合主鍵
PRIMARY KEY[字段1,字段2,...字段n]
外鍵約束
外鍵用來在兩個表的數據之間建立連接,它可以是一列或者多列。一個表可以有一個或者多個外鍵。外鍵對應的是參照完整性,一個表的外鍵可以是空值,若不爲空值,則每一個外鍵必須等於另一個表的主鍵的某個值
[CONSTRAINT<外鍵名>]FOREIGN KEY 字段名1 [,字段名2, ...]
REFRENCE <主表名>主鍵列1[,主鍵列2, ...]
定義一個數據表tb_employee5 並且在該表中創建外鍵約束
創建俺一個部門表tb_dept1
CREATE TABLE tb_dept1
(
id INT(11)PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);
定義數據表tb_employee5 讓它的depid字段作爲外鍵關聯到tb_dept1的主鍵id
CREATE TABLE tb_employee5
(
id INT(11)PRIMARY KEY,
name VARCHAR(25),
deptld INT(11),
salary FLOAT,
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptld) REFERENCES tb_dept1(id)
);
非空約束
NOT NULL
唯一性約束
UNIQUE
默認約束
DEFAULT
設置數據表的屬性值自動增加
CREATER TABLE tb_employee8
(
id INT(11)PRIMARY KEY AUTO_INCREAMENT,
name VARCHAR(25)NOT NULL
);
查看錶的結構
查看錶的基本結構
DESCRIBE/DESC 表名;
查看錶的詳細結構
SHOW CREATE TABLE <表名\G>;
修改數據表
修改數據表名
ALTER TABLE<舊錶名>RENAME<新表名>;
使用SHOW TABLES查看數據庫中的表
修改字段數據類型
ALTER TABLE <表名>MODIFY<字段名><數據類型>;
修改字段名
ALTER TABLE<表名>CHANGE<舊字段名><新字段名><新數據類型>;
添加字段
ALTER TABLE<表名>ADD<新字段名><數據類型>
[約束條件]FIRSTIAFTER已經存在的字段名[];
添加完整性無條件約束的字段
ALTER TABLE tb_dept1 ADD mananger INT(10);
添加有完整性約束條件的字段
ALTER TABLE tb_dept1 ADD column1 VACHAR(12)not null;
在表的第一列添加字段
ALTER TABLE tb_dept1 ADD column2 VACHAR(12) INT(11)FIRST;
在表的最後添加字段
ALTER TABLE tb_dept1 ADD column3 VACHAR(12) INT(11)AFTER name;
刪除字段
ALTER TABLE<表名>DROP<字段名>;
修改字段排序
ALTER TABLE <表名>MODIFY<字段1><數據類型><FIRST AFTER<字段2>;
column1移動到第一列
ALTER TABLE tb_dept1 MODIFY column1 INT(12) FIRST;
column2插入到location字段後面
ALTER TABLE tb_dept1 MODIFY column2 INT(12) AFTER location;
更改表的儲存引擎
ALTER TABLE<表名>ENGINE=<更改後的存儲引擎名>;
刪除表的外鍵約束
ALTER TABLE<表名>DROP FOREIGN KEY<表的外鍵約束名>;
刪除數據表
刪除沒有被關聯的表
DROP TABLE[IF EXISTS] 表1,表2,...表n;
刪除被其他表關聯的主表
先刪除表的外鍵約束再刪除主表
ALTER TABLE<表名>DROP FOREIGN KEY<表的外鍵約束名>;
DROP TABLE[IF EXISTS] 表1,表2,...表n;