欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

MySQL 修改字段类型或长度

修改表格 orders 的 time的字段类型为 timestamp  默认值为 当时时间戳

alter table orders modify time  timestamp default

CURRENT_TIMESTAMP 

mysql> alter table 表名 modify column 字段名 类型;
例如

数据库中address表 city字段是varchar(30)

修改类型可以用(谨慎修改类型,可能会导致原有数据出错)

mysql> alter table address modify column city char(30);

修改长度可以用(修改长度,要保证不短与已有数据,以保证原有数据不出错)

mysql> alter table address modify column city varchar(50);

来自 http://www.cnblogs.com/mfryf/p/3520336.html

 

mysql alter 语句用法,添加、修改、删除字段等

 42787人阅读 评论(1) 收藏 举报
 分类:

修改表名:

ALTER  TABLE admin_user RENAME TO a_use

//增加主键

[sql] view plain copy
 
  1. alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);  

//修改ID为自增,并设置为主键

 

[sql] view plain copy
 
  1. alter table brand_title_temp_noread modify id int auto_increment primary key  

列操作:

 

增加字段:

[sql] view plain copy
 
  1. mysql> ALTER TABLE table_name ADD field_name field_type;  
[sql] view plain copy
 
  1.  ALTER TABLE search_record ADD `send` INT default 0;  

 

修改字段类型:

 

[sql] view plain copy
 
  1. alter table search_record alter column big set default 0;  

在某个字段后增加字段:

 

[sql] view plain copy
 
  1. alter table `user_movement_log`  
  2. Add column GatewayId int  not null default 0 AFTER `Regionid` (在哪个字段后面添加)  


调整字段顺序:
[sql] view plain copy
 
  1. ALTER TABLE `user_movement_log`  CHANGE `GatewayId` `GatewayId` int not null default 0  AFTER RegionID  

修改原字段名称及类型:
[sql] view plain copy
 
  1. mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;  
[sql] view plain copy
 
  1. ALTER TABLE manual_record CHANGE `Note-sort` `Note_sort` varchar(50) DEFAULT NULL;    
[sql] view plain copy
 
  1. <p>修改字段类型</p><p> alter table scholar_keys change hold hold int default 0;</p>  

 

删除字段:
[sql] view plain copy
 
  1. mysql> ALTER TABLE table_name DROP field_name;   

修改一个字段
[sql] view plain copy
 
  1. alter table user MODIFY new1 VARCHAR(10);            //修改一个字段的类型  
[sql] view plain copy
 
  1. alter table manual_record MODIFY `ORGANIZATION` VARCHAR(500) DEFAULT NULL  
[sql] view plain copy
 
  1. alter table user CHANGE new1 new4 int;              //修改一个字段的名称,此时一定要重新指定该字段的类型  

 

索引操作:

 

1.添加PRIMARY KEY(主键索引)

 

[sql] view plain copy
 
  1. mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )  

 

2.添加UNIQUE(唯一索引)

[sql] view plain copy
 
  1. mysql>ALTER TABLE `table_name` ADD UNIQUE (  
  2. `column`  
  3. )  

3.添加INDEX(普通索引)
[sql] view plain copy
 
  1. 3.添加INDEX(普通索引)  
  2. mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )  

4.添加FULLTEXT(全文索引)
[sql] view plain copy
 
  1. mysql>ALTER TABLE `table_name` ADD FULLTEXT (  
  2. `column`  
  3. )  


5.添加多列索引

 

[sql] view plain copy
 
  1. mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )  
  2.  
来自 http://blog.csdn.net/wyswlp/article/details/8881103


mysql中alter语句中change和modify的区别[转]

摘要:您可以使用CHANGE old_col_namecolumn_definition子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。例如:要把一个INTEGER列的名称从a变更到b,您需要如下操作...
转载请注明来源:mysql中alter语句中change和modify的区别[转]

以下摘自mysql5手册

您可以使用CHANGE old_col_namecolumn_definition子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。例如:要把一个INTEGER列的名称从a变更到b,您需要如下操作:

·                mysql> ALTER TABLE t1 CHANGE a b INTEGER;

如果您想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。例如:

mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;

您也可以使用MODIFY来改变列的类型,此时不需要重命名:

mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;

mysql alter 语句用法,添加、修改、删除字段等 

//主键549830479

alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列549830479

alter table t2 add d timestamp;
alter table infos add ex tinyint not null default '0';
//删除列549830479

alter table t2 drop column c;
//重命名列549830479

alter table t1 change a b integer;

//改变列的类型549830479

alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';

//重命名表549830479

alter table t1 rename t2;
加索引549830479

mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);
加主关键字的索引549830479

mysql> alter table tablename add primary key(id);
加唯一限制条件的索引549830479

mysql> alter table tablename add unique emp_name2(cardnumber);
删除某个索引549830479

mysql>alter table tablename drop index emp_name;
修改表:549830479

增加字段:549830479

mysql> ALTER TABLE table_name ADD field_name field_type;
修改原字段名称及类型:549830479

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
删除字段:549830479

mysql> ALTER TABLE table_name DROP field_name;

删除主键: alter table Employees drop primary key;

转载请注明来源:mysql中alter语句中change和modify的区别[转]
http://www.php1.cn/Content/mysql_Zhong_alter_YuJuZhong_change_He_modify_DeQuBie_-_Zhuan_-.html


来自  http://www.php1.cn/article/9466.html


 

普通分类: