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分別是學生表和課程表的外鍵
歡迎關注本站公眾號,獲取更多信息