MySQL——數據表的基本操作

創建數據表的基本形式

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 FLOATPRIMARY 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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章