您好,欢迎访问一九零五行业门户网

mysql列修改怎么操作?

mysql修改列的方法:1、使用“alter table 表名 modify 字段名称 字段类型 [完整性约束条件]”来修改列的数据类型;2、使用“alter table 表名 change 旧列名 新列名 新数据类型;”来修改列的名称。
(推荐教程:mysql视频教程)
修改字段属性--数据类型:
-- 修改字段属性-- alter table tb_name modify 字段名称 字段类型 [完整性约束条件]-- 将email字段 varchar(50)修改成varchar(200)-- 注意,修改时如果不带完整性约束条件,原有的约束条件将丢失,如果想保留修改时就得带上完整性约束条件alter table user10 modify email varchar(200) not null default 'a@a.com';-- 将card移到test后面alter table user10 modify card char(10) after test;-- 将test放到第一个,保留原完整性约束条件alter table user10 modify test char(32) not null default '123' first;
修改字段名称和属性:
-- 将test字段改为test1-- alter table 表名 change 原字段名 新字段名 字段类型 约束条件alter table user10 change test test1 char(32) not null default '123';
添加删除默认值:
-- 创建新表create table user11(id tinyint unsigned key auto_increment,username varchar(20) not null unique,age tinyint unsigned);-- 给age添加默认值alter table user11 alter age set defautl 18;-- 添加一个字段alter table user11 add email varchar(50);-- 给email添加默认值alter table user11 alter email set default 'a@a.com';-- 删除默认值alter table user11 alter age drop default;alter table user11 alter email drop default;
添加主键:
-- 创建一个表create table test12(id int);-- 添加主键-- alter table tb_name add [constraint [sysmbol]] primary key [index_type] (字段名称,...)alter table test12 add primary key(id);-- 添加复合主键-- 先创建个表create table test13(id int,card char(18),username varchar(20) not null);-- 添加复合主键alter table test13 add primary key(id,card);
删除主键:
-- 删除主键alter table test12 drop primary key;-- 再给test12添加主键, 完整形式alter table test12 add constraint symbol primary key index_type(id);
在删除主键时,有一种情况是需要注意的,我们知道具有自增长的属性的字段必须是主键,如果表里的主键是具有自增长属性的;那么直接删除是会报错的。如果想要删除主键的话,可以先去年自增长属性,再删除主键
-- 再创建一个表,create table test14(id int unsigned key auto_increment);-- 删除主键,这样会报错,因为自增长的必须是主键alter table test14 drop primary key;-- 先用modify删除自增长属性,注意modify不能去掉主键属性alter table test14 modify id int unsigned;-- 再来删除主键alter table test14 drop primary key;
唯一索引:
-- 添加唯一性约束-- alter table tb_name add [constant [symbol]] unique [index | key] [索引名称](字段名称,...)-- 创建测试表create table user12(id tinyint unsigned key auto_increment,username varchar(20) not null,card char(18) not null,test varchar(20) not null,test1 char(32) not null);-- username添加唯一性约束,如果没有指定索引名称,系统会以字段名建立索引alter table user12 add unique(username);-- car添加唯一性约束alter table user12 add constraint symbol unique key uni_card(card);-- 查看索引show create table user12;-- test,test1添加联合uniquealter table user12 add constraint symbol unique index muluni_test_test1(test, test1);-- 删除唯一-- alter table tb_name drop {index|key} index_name;-- 删除刚刚添加的唯一索引alter table user12 drop index username;alter table user12 drop key uni_card;alter table user12 drop key muluni_test_test1;
修改表的存储引擎:
-- 修改表的存储引擎-- alter table tb_name engine=存储引擎名称alter table user12 engine=myisam;alter table user12 engine=innodb;
修改自增长值:
-- 修改自增长的值-- alter table tb_name auto_increment=值alter table user12 auto_increment=100;
更多编程相关知识,请访问:编程教学!!
以上就是mysql列修改怎么操作?的详细内容。
其它类似信息

推荐信息