MySQL基础之表的管理

添加和删除字段操作

添加字段

alter table tbl_name add 字段名称 字段属性 [完整性约束条件] [first|after 字段名称之后];

删除字段

alter table tbl_name drop 字段名称;

测试

create table if not exists user1(
	id int unsigned auto_increment key
);

--添加用户名字段 username varchar(20)
alter table user1 add username varchar(20); 

--添加密码字段 password varchar(20) 到id字段之后
alter table user1 add password varchar(20) not null default '123456' after id;

--删除密码字段
alter table user1 drop password;

--多次添加或删除用逗号分隔
create table if not exists test(
	id int unsigned auto_increment key,
	price float(8,2) unsigned not null default 0
);

alter table test
add num int unsigned not null default 100,
add test varchar(50) not null first,
add test1 char(23) not null after price,
drop price;

添加和删除默认值操作

添加默认值

alter table tbl_name alter 字段名称 set default 默认值;

删除默认值

alter table tbl_name alter 字段名称 drop default;

测试

create table user2(
	id int unsigned auto_increment key,
	username varchar(20) not null,
	age tinyint unsigned not null default 18,
	email varchar(50) not null
);

--给email字段添加默认值 huowuyan@163.com
alter table user2 alter email set default 'huowuyan@163.com';

--给age删除默认值
alter table user2 alter age drop default;

modify和change关键字的使用

修改字段类型、字段属性

alter table tbl_name modify 字段名称 字段类型 [字段属性] [first|after 字段名称];

修改字段名称、字段类型、字段属性

alter table tbl_name change 原字段名称 新字段名称 字段类型 [字段属性] [first|after 字段名称];

测试

create table user3(
	id int unsigned auto_increment key,
	username varchar(5) not null unique,
	password char(32) not null,
	email varchar(10) not null
);

--将用户名字段的类型改为20
alter table user3 modify username varchar(20) not null unique;

--将username 名称改为user
alter table user3 change username user varchar(20) not null;

主键和唯一索引操作

添加主键和删除主键

alter table tbl_name add primary key(字段名称);
alter table tbl_name drop primary key;

添加唯一和删除唯一

alter table tbl_name add unique key|index [index_name] (字段名称);
alter table tbl_name drop index index_name;

--当表中没有主键时,unique就相当于主键

测试

create table user4(
	id int unsigned,
	username varchar(20) not null,
	email varchar(30) not null,
	phone varchar(20) not null unique
);

alter table user4 add primary key(id);
alter table user4 drop primary key;
alter table user4 add unique key uni_email (email);
alter table user4 drop index uni_email;

重命名表的操作

alter table tbl_name rename [to|as] new_tbl_name; --第一种方式
rename table tbl_name to new_tbl_name; --第二种方式
原文地址:https://www.cnblogs.com/huowuyan/p/11442460.html