表結構修改(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分別是學生表和課程表的外鍵
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/107795.html
標籤:MySQL
