MySQL表的操作(二)

创建表test3,主键有id和name,id字段自动增长,

Name字段不为空,且具有唯一属性,

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字段不为空,且具有唯一属性,

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增加一个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表具有一个外键约束,外键别名为testf,父表为test3,test4表的详细结构如图所示:


删除test4的外键约束alter table test4 drop foreign key testf;

命令执行结果:


9,删除表:

Drop table 表名;

今天先学到这儿了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值