ALTER TABLE 语句用于在已有的表中添加、修改或删除列

1.ADD [COLUMN] column name (column definitions) [FIRST or AFTER column_name]

增加列并且可以指定在某一个列名(column_name)的之前或之后增加这个列

2. ADD INDEX [index_name] (column_list)

增加列的索引

3.ADD PRIMARY KEY (column_list)

增加列的主键

4.ADD UNIQUE [index_name] (column_list)

增加列的唯一约束

5.ALTER [COLUMN] column_name {SET DEFAULT default_value or DROP DEFAULT}

设置列的默认约束或者删除其默认约束

6.CHANGE [COLUMN] old_col_name create_definition

改变一个列的名称或者,属性

7.DROP [COLUMN] col_name

删除一列

8.DROP PRIMARY KEY

删除列的主键属性

9.DROP INDEX index_name

删除键的索引

10.MODIFY [COLUMN] create_definition RENAME [AS] new_tbl_name

作用和change相同,只是不需要写两遍old_colname

注:employee 数据库需要下载,用法是一样的

ALTER TABLE employee ADD COLUMN Account_Number INT

ALTER TABLE employee ADD INDEX (ID)

ALTER TABLE employee ADD PRIMARY KEY (ID)

 ALTER TABLE employee ADD UNIQUE (ID)

 ALTER TABLE employee CHANGE ID salary INT

 ALTER TABLE employee DROP Customer_ID

 ALTER TABLE employee DROP PRIMARY KEY

ALTER TABLE employee DROP INDEX Customer_ID

 ALTER TABLE employee MODIFY First_Name varchar(100)

 ALTER TABLE employee RENAME Customer

下面是使用实例:

1.alter操作表字段

(1)增加字段

alter table 表名 add 字段名 字段类型;

alter table student add name varchar(10);

(2)修改字段

alter table 表名 change 旧字段名 新字段名 字段类型;

alter table student change name name varchar(20)not null default 'liming';//修改字段类型

alter table student change name name1 varchar(20)not null default 'liming';//修改字段名

(3)删除字段

alter table 表名 drop 字段名;

alter table student drop name;

2.alter 索引操作

(1)增加索引

alter table 表名 add index 索引名 (字段名1,字段名2.....);

alter table student add index stu_name(name);

(2)删除索引

alter table 表名 drop index 索引名;

alter table student drop index stu_name;

(3)查看某个表的索引

show index from 表名;

(4)增加唯一限制条件的索引

alter table 表名 add unique 索引名(字段名);

3.主键操作

增加主键:

alter table 表名 add primary key(字段名);

  • 添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
  • 添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);

//主键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的使用的更多相关文章

  1. MySQL之alter语句用法总结

    MySQL之alter语句用法总结 1:删除列 ALTER TABLE [表名字] DROP [列名称] 2:增加列 ALTER TABLE [表名字] ADD [列名称] INT NOT NULL  ...

  2. mysql 中alter语句中change跟modify的区别

    mysql 中alter语句中change和modify的区别可以使用CHANGE old_col_name column_definition子句对列进行重命名.重命名时,需给定旧的和新的列名称和列 ...

  3. Mysql命令alter add:增加表的字段

    alter add命令用来增加表的字段. alter add命令格式:alter table 表名 add字段 类型 其他; 例如,在表MyClass中添加了一个字段passtest,类型为int(4 ...

  4. MySql之ALTER命令用法详细解读(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细解读了MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强 ...

  5. MySQL之 ALTER vs CHANGE vs MODIFY COLUMN

    1.ALTER COLUMN 用于设置或者移除某一列的默认(缺省)值, 1.1用法 ALTER TABLE MyTable ALTER COLUMN foo SET DEFAULT 'bar'; AL ...

  6. mysql 的 alter table 操作性能小提示

    通常情况下,修改表的结构一般不会有太大问题,无非就是一个 alter table 操作,但是对于大表做 alter 操作是一个大问题,请小伙伴们慎重. mysql执行大部分修改表结构操作方法是创建一个 ...

  7. (笔记)Mysql命令alter add:增加表的字段

    alter add命令用来增加表的字段. alter add命令格式:alter table 表名 add字段 类型 其他; 例如,在表MyClass中添加了一个字段passtest,类型为int(4 ...

  8. MySQL的ALTER变更、正则查询、分组查询、排序查询以及事务查询的概

    MySQL的表和字段信息的变更 ALTER TABLE table-name DROP column-name; #删除某个字段 ALTER TABLE table-name ADD column-n ...

  9. Mysql的alter用法

    一.在已有表上创建索引  1.ALTER TABLE <表名> ADD PRIMARY KEY (字段名); ALTER TABLE <表名> DROP PRIMARY KEY ...

随机推荐

  1. Virtualbox - 共享文件夹

    在虚拟机中添加共享文件夹——比如主机中的/home/user/download,我想把download文件夹共享给虚拟机用. 步骤:1.在虚拟机中找个挂载的目录,比如 /mnt/d,没有就新建一个目录 ...

  2. Debian 7 安装 Emacs 24.4

    一. 安装依赖包 sudo apt-get build-dep emacs23 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包将被[卸载]: li ...

  3. 【数论,思路】HDU-5288;多校#1-1001

    2015 Multi-University Training Contest 1  1001 /* Problem: HDU-5288,多校#1 1001 Tips: 数学.思路 Date: 2015 ...

  4. 误用ArrayListMultimap引发的问题

    最近生产环境的系统在运行一段时间后,用户登录速度越来越慢,但是重启某一模块后,用户登录恢复正常.如此反复,令人提心吊胆.于是下定决心,找出问题原因. 趁着系统运行低峰期,打印出相应Dump文件,发现D ...

  5. 神奇的CSS3选择器

    话说园子里也混迹多年了,但是基本没写过blog,写点基础的,那就从css3选择器开始吧. Css3选择器 先说下,为什么提倡使用选择器. 使用选择器可以将样式与元素直接绑定起来,在样式表中什么样式与什 ...

  6. 第八章 jQuery与Ajax应用

    Ajax(Asynchronous JavaScript and XML),异步JavaScript和XML,它实现的无刷新更新页面,能够进行异步提交. jQuery对Ajax进行了封装,最底层的是$ ...

  7. Java集合类 java.util包

    概述   软件包  类  使用  树  已过时  索引  帮助  JavaTM Platform Standard Ed. 6  上一个软件包   下一个软件包 框架    无框架           ...

  8. 初学Android: 四大组件之Activity

    1.activity (1)一个Activity通常就是一个单独的屏幕(窗口),简单来说activity就是一个交互界面,一般应用程序都要由一个或者多个activity组成. (2)Activity之 ...

  9. zookeeper启动报错(数据目录权限不对)

    zookeeper启动报错日志: 2016-11-16 11:19:43,880 [myid:3] - INFO [WorkerReceiver[myid=3]:FastLeaderElection@ ...

  10. ASP.NET下运用Memcached

    对于大型网站的高并发,在ASP.NET网站下的session性能并不高,所以造成人们一种印象,大型WEB项目使用JAVA的错觉,致使很多人吐槽微 软不给力,其实这好比拉不出怪地球引力,本文介绍Memc ...