mysql练习之Alter用法总结

来源:互联网 发布:唐大少爷网络象棋学校 编辑:程序博客网 时间:2024/04/29 02:16
mysql练习之Alter用法总结
 alert 用法总结:
 ALTER DATABASE语法
ALTER DATABASE用于更改数据库的全局特性。这些特性储存在数据库目录中的db.opt文件中。要使用ALTER DATABASE,您需要获得数据库ALTER权限。
CHARACTER SET子句用于更改默认的数据库字符集。COLLATE子句用于更改默认的数据库整序。
 数据库名称可以忽略,此时,语句对应于默认数据库。也可以使用ALTER SCHEMA。
 ALTER TABLE语法
ALTER TABLE用于更改原有表的结构。例如,您可以增加或删减列,创建或取消索引,更改原有列的类型,或重新命名列或表。您还可以更改表的评注和表的类型。
1:删除列
 ALTER TABLE 【表名字】 DROP 【列名称】
 2:增加列
 ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL  COMMENT '注释说明'
3:修改列的类型信息
 ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT NULL  COMMENT '注释说明'
 如果您想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。例如:
 mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;
您也可以使用MODIFY来改变列的类型,此时不需要重命名:
 mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;
 如果您使用CHANGE或MODITY缩短列长时,列中存在有索引,并且缩短后的列长小于索引长度,则MySQL会自动缩短索引的长度。
当您使用CHANGE或MODIFY更改列的类型时,MySQL会尽量把原有的列值转化为新的类型。
 您可以使用FIRST或AFTER col_name在一个表行中的某个特定位置添加列。默认把列添加到最后。您也可以在CHANGE或MODIFY语句中使用FIRST和AFTER。
 4:重命名列
 ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称】 BIGINT NOT NULL  COMMENT '注释说明'
 5:重命名表
 ALTER TABLE 【表名字】 RENAME 【表新名字】
 6:删除表中主键
 Alter TABLE 【表名字】 drop primary key
 7: 添加主键
 alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
 ALTER TABLE sj_resource_charges ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)
 8:添加索引  www.2cto.com  
 ALTER TABLE sj_resource_charges add index INDEX_NAME (name);
 9: 添加唯一限制条件索引
 ALTER TABLE sj_resource_charges add unique emp_name2(cardnumber);
 (emp_name2 就是自己起的名字)
 [sql] 
alter table good add unique ugood_name(name);  
10: 删除索引
 alter table tablename drop index emp_name;
 11 添加主键自增长
 [sql] 
alter table good modify id int auto_increment;  
12、删除唯一限制条件
alter table good add unique good_name
(name);
 实际上就是删除索引。 增加唯一限制会添加一个索引。
[plain] 
ALTER TABLE `good`  
DROP INDEX `ugood_name`;  
 13、 删除主键自增长。
[sql] 
ALTER TABLE `good`  
MODIFY COLUMN `id`  int(11) NOT NULL FIRST ; 
0 0