mysql的alter用法总结

ALTER TABLE简介

当表被创建后,在使用过程中可能会有一些新的需求,这时候可能需要修改表的结构。如果表中已经填充了数据,重新建表会造成现有数据的丢失,为此可以用ALTER TABLE对表结构进行修改

为表添加新列


前提

向表中添加列的前提是所添加的列允许使用NULL值或者对该列使用DEFAULT约数指定了默认的值。

命令格式

ALTER TABLE $tablename ADD  $column_name $object_type [NULL|NOT NULL DEFAULT "默认值"];

参数解释:
tablename:需要添加字段的表名称
column_name:添加的列名
object_type:添加列的数据类型
[]:添加列的默认值

说明

向一个表添加新列时,数据库引擎会在该列中为表中的每个现有数据行插入一个值。因此,在向表中添加列时为指定DEFAULT定义会很有用。如果新列没有DEFAULT定义,则必须指定该列允许NULL值,数据库引擎将NULL值插入该列。如果不允许NULL值,则返回错误。

示例操作


删除表中的列


前提

在删除一列之前,必须先删除任何引用该列的约束、默认表达式、计算列表达式或索引

命令
ALTER TABLE $tablename DROP COLUMN $column_name;

示例操作



修改表中的列

修改主要操作

  • 修改列的名称
  • 修改列的数据类型

命令
ALTER TABLE $tablename CHANGE $old_column_name $new_column_name $column_type;

示例操作

修改列名


截图中的错误是因为修改列明是没有指定数据类型,所以$column_type是必须参数

修改列的数据类型



重命名表

命令
ALTER TABLE $table_name1 RENAME $table_name2;

示例




简单的[创建|删除]索引字段


创建索引

命令
ALTER TABLE $table_name ADD INDEX $index_name($column_name1,$colunm_name2)

参数解释:
$index_name:建立索引的名称
$column_name[1|2]:需要建立索引的字段名

示例操作


删除索引

命令
ALTER TABLE $table_name DROP INDEX $index_name;

示例操作



参考书籍

《锋利的SQL》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值