表結構操作:
添加單列:alter table tb_name add [column] col_name
添加一列: alter table `sudty` add `aaa` int;
添加多列:
指定添加在哪:默認添加在最后一列,用after+col_name可以添加在某一列之后
使用first可以添加第一列。
alter table `sudty` add `bbb` int after `name`;在sudty這個表的name后添加一列bbb。
alter table `sudty` add `科目` int first;
刪除列:alter table sudty drop bbb;
刪除多列:alter table sudty drop aaa,drop scx;
修改表:
修改age的數據類型:
alter table sudty modify `age` varchar(20);
修改age的列名為年齡:
alter table sudty change `age` `年齡` varchar(20);
修改表名sudty為school:
alter table sudty rename to school;
非空約束:not null
建表時約束:
建表后約束:
此時,id和name的Null值都變為NO了。有非空約束的列,傳值進去的時候就必須傳它。
唯一約束:
刪除唯一約束:
添加唯一約束:現在給tb 添加一列`name`,讓后添加一個聯合唯一:
此時,聯合唯一的key名是id,所以刪除只需要寫:alter table tb drop key id;
insert into tb (id,name) values(1,'王五'),(2,'王五'); 注意兩個聯合起來才唯一,
即只要id和name不是兩個同時相同就可以。
主鍵約束:
一個unique key 又是一個not null的時候,那么它被當做primary
key主鍵當一張表里沒有一個主鍵的時候,第一個出現的非空且為唯一的列被視為有主鍵。
自然可以在建表的時候添加主鍵約束,下面討論給表tb的id添加主鍵約束:
刪除主鍵:
添加聯合主鍵:任然只有一個主鍵(雖然有兩個PRI)
刪除聯合主鍵和正常刪除主鍵是一樣的操作。
默認約束:default
初始值設置,插入記錄時,如果沒有明確為字段賦值,則自動賦予默認值。
插入值:
此時表的詳情:
刪除default:
添加默認default
方法一:
方法二:
mysql數據庫,外鍵約束和表關系