Mysql資料庫應用(一)

weixin_33782386發表於2016-06-12

檢視引擎與資料表的結構

  • 查詢所有的儲存引擎
    SHOW ENGINES

  • 檢視預設的儲存引擎
    SHOW VARABLES LIKE 'storage_engine'

  • 查詢顯示建立表時的CREATE TABLE 語句
    SHOW CREATE TABLE <表名\G>(\G方便檢視)

  • 檢視錶欄位資訊
    DESC 表名

刪除資料表

  • 刪除沒有被關聯的表
    DROP TABLE [IF EXISTS] 表1,表2, ....表n

  • 刪除被其他表關聯的主表

CREATE TABLE tb2(
tb2_id INT AUTO_INCREMENT PRIMARY KEY NOT NULL
);
CREATE TABLE tb1(
tb1_id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
f_id INT NOT NULL,
FOREGIN KEY(f_id) REFRENCES tb2(tb2_id) [ ON DELETE|UPDATE CASCADE ]
);

通過上面的級聯設定,可以直接刪除tb2(被其他表關聯的主表)。如果沒有級聯設定,先刪除tb1再刪除tb2

修改資料表

  • 修改表名ALTER TABLE <舊錶名> [TO] <新表名>;

  • 修改欄位的資料型別ALTER TABLE <表名> MODIFY <欄位名> <欄位型別>

  • 修改欄位名
    ALTER TABLE <表名> CHANGE <舊欄位名> <新欄位名> <新資料型別>

  • 新增欄位
    ALTER TABLE <表名> ADD <新欄位名> <資料型別> [約束條件] [FIRST | AFTER 已存在的欄位名]

  • 刪除欄位
    ALTER TABLE <表名> DROP <欄位名>

  • 修改欄位的排列位置
    ALTER TABLE <表名> MODIFY <欄位1> <資料型別> FIRST | AFTER <欄位2>

  • 更改表的儲存引擎
    ALTER TABLE <表名> ENGINE <更改後的儲存引擎名>

  • 刪除表的外來鍵約束
    ALTER TABLE <表名> DROP FOREIGN KEY <外來鍵約束名>

相關文章