国内最全IT社区平台 联系我们 | 收藏本站
阿里云优惠2流量王
您当前位置:首页 > 数据库 > 数据库应用 > MySQL表的操作(二)

MySQL表的操作(二)

来源:程序员人生   发布时间:2017-02-15 09:01:20 阅读次数:1464次

创建表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 表名;

今天先学到这儿了~

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生