創建表test3,主鍵有id和name,id字段自動增長,
Name字段不為空,且具有唯1屬性,
Password為字符串,字段不為空。
create table test3(id int auto_increment, name varchar(20) not null unique, password varchar(20) not null, primary key(id,name) );
創建表test4,id字段自動增長,
Name字段不為空,且具有唯1屬性,
Password為字符串,字段不為空
Nameid和othername為外鍵,關聯父表為test3,對應關聯屬性為父表中的id和name;
create table test4(id int auto_increment, name varchar(20) not null unique, password varchar(20) not null, nameid int , othername varchar(20), constraint testf foreign key(id,name)references test3(id,name) );
現在數據庫中所有表如圖:
1,修改表名:
語法:alter table 舊表名rename 新表名;
例如,修改test2表名為test5;
alter table test2 rename test5;
如圖,可以看到test2沒有了,test5取代了它:
2,修改字段的數據類型:
語法:alter table 表名 modify 屬性名數據類型;
例如,修改test5表中的password字段數據類型,原password數據類型為varchar(20),現在要修改成varchar(40);
alter table test5 modify passwordvarchar(40);
password數據類型已變成varchar(40),如圖:
3,修改字段名:
語法:alter table 表名 change 舊屬性名新屬性名 新數據類型;
例如修改test5中的password字段為sex 數據類型為boolean;
Password字段被sex字段所取代,數據類型也變成布爾型,如圖:
4,增加字段:
語法:alter table 表名 add 屬性1 數據類型[完全性束縛條件] [first|after 屬性名2];
例如為test5增加1個address字段,數據類型為varchar(20),位置放在name后面,sex前面,束縛條件是不為空;
alter table test5 add address varchar(20)not null after name;
履行以后test5表的詳細結構如圖:
5,刪除字段:
語法:alter table 表名drop 屬性名;
例如,把test5中的sex字段刪除;
alter table test5 drop sex;
命令履行結果:
6,修改字段在表中位置:
語法:alter table 表名 modify 屬性名數據類型 first|after 屬性名2;
例如,修改test5中的address字段位置,使address放到name之前,id以后;
Alter table test5 modify addressvarchar(20) after id;
命令履行結果:
7,更改表的存儲引擎:
語法:alter table 表名 engine=存儲引擎名;
例如,修改test5表的存儲引擎,修改成myisam;
alter table test5 engine=myisam;
命令履行結果:
8,刪除表的外鍵束縛:
語法:alter table 表名 drop foreign key 外鍵別名;
Test4表具有1個外鍵束縛,外鍵別名為testf,父表為test3,test4表的詳細結構如圖所示:
刪除test4的外鍵束縛alter table test4 drop foreign key testf;
命令履行結果:
9,刪除表:
Drop table 表名;
今天先學到這兒了~
上一篇 hadoop環境搭建