MySql 表結構修改、約束條件、表關系


表結構修改(alter)

  • 查看表的結構:desc 表名;
  • 修改表名:alter table 表名 rename to 新表名;
  • 修改字段名:alter table 表名 change 舊字段名 新字段名 數據類型;
  • 修改字段類型:alter table 表名 modify 字段名 數據類型;
  • 添加字段:alter table 表名 add [column] 新字段 數據類型;
  • 刪除字段:alter table 表名 drop [column] 字段名;

約束條件

約束是一種限制,通過對表中的數據做出限制,來確保表中數據的完整性,唯一性

  • 默認約束(default)
    • 插入數據的時候,如果沒有明確為字段賦值,則自動賦予默認值
    • 在沒有設置默認值的情況下,默認值為NULL
  • 非空約束(not null)
    • 限制一個字段的值不能為空,insert的時候必須為該字段賦值
    • 空字符不等於NULL
  • 唯一約束(unique key)
    • 限制一個字段的值不重復,該字段的數據不能出現重復的
    • 確保字段中值的唯一
  • 主鍵約束(primary key)
    • 通常每張表都需要一個主鍵來體現唯一性,每張表里面只能有一個主鍵
    • 主鍵 = 非空 + 唯一
  • 自增長約束(auto_increment)
    • 自動編號,和主鍵組合使用,一個表里面只能有一個自增長
    • auto_increment 要求用在主鍵上
    • id int primary key auto_increment,
    • 或者
    • id int auto_increment , primary key(id)
    • 如果不想默認從1開始,從1000開始
    • ...(id int primary key auto_increment)auto_increment=1000;
  • 外鍵約束(foreign key)
    • 保持數據的一致性,我有的你一定有,你沒有的,我絕對沒有
    • foreign key (id_b) references a(id_a)

表關系

  • 一對一
    • 用外鍵的方式,把兩個表的主鍵關聯
  • 一對多
    • 通過外鍵關聯來實現這種關系
  • 多對多
    • 對於多對多關系,需要創建中間表實現
    • 例如學生選課
    • 選課表(中間表)的學生id和課程id分別是學生表和課程表的外鍵





免責聲明!

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



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