MYSQL中約束及修改數據表


MYSQL中約束及修改數據表

28:約束
約束保證數據的完整性和一致性
約束分為表級約束和列級約束
約束類型包括:
    NOT NULL(非空約束)
    PRIMARY KEY(主鍵約束)
    UNIQUE KEY(唯一約束)
    DEFAULT(默認約束)
    FOREIGN KEY(外鍵約束)


29:查看數據表的存儲引擎
SHOW CREATE TABLE 數據表名;



30:刪除表中的數據
DELETE FROM 數據表名 WHERE 條件;


31:外鍵約束的參照操作(外鍵約束的要求解析)
外鍵約束保證數據一致性,完整性,實現一對多或者一對一關系
(含有外鍵的表稱為子表)
外鍵約束的要求
1:父表和子表必須使用相同的存儲引擎,而且禁止使用臨時表
2:數據表的存儲引擎只能為InnoDB
3:外鍵列和參照列必須具有相似的數據類型,其中數字的長度或是否有符號位必須相同,而字符的長度則可以不同
4:外鍵列和參照列必須創建索引。如果外鍵列不存在索引的話,MYSQL將自動創建索引

 

32:查看是否存在索引
SHOW INDEXES FROM provinces;
以網格的形式顯示索引    
SHOW INDEXES FROM provinces\G;    



33:外鍵約束的參照操作
CASCADE:從父表刪除或者更新且自動刪除或者更新子表中匹配的行
《在兩表中插入記錄,必須先在父表中插入記錄》
SET NULL:從父表刪除或者更新行,並且設置子表中的外鍵列為NULL,如果使用該選項,必須保證子表列沒有指定NOT NULL
RESTRICT:拒絕對父表的刪除或者更新操作
NO ACTION:標准sql的關鍵字,在my sql中與RESTRICT相同




刪除表中的數據
DELETE FROM 數據表名 WHERE 條件;

34:表級約束和列級約束
對一個數據列建立的約束,稱為列級約束《實際開發中多用》
對多個數據列建立的約束,稱為表級約束
列級約束既可以在列定義時聲明,也可以在列定義后聲明,
表級約束只能在列定義后聲明。

35:修改數據表(修改,刪除)
添加單列
ALTER TABLE 數據表名 ADD 列名稱 列定義 [FIRST] 指定列
添加單列(不可以指定位置)
...
刪除列
ALTER TABLE 數據表名 DROP 列名;

 添加主鍵約束(只可以有一個)

 

添加唯一約束(可以添加多個)

 添加外鍵約束

 添加或者刪除默認約束

 

刪除主鍵約束


刪除唯一約束

查看約束的名字
SHOW INDEXES FROM 數據表的名字;


刪除外鍵約束

查看外鍵名稱
SHOW CREATE TABLE 數據表名;



刪除索引

 
修改列定義


修改列名稱

修改數據表的名字

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM