mysql alter table命令修改表结构实例

mysql实例之使用alter table命令修改表结构

mysql alter table语句可以修改表的基本结构,例如添加字段、删除字段、添加主键、添加索引、修改字段数据类型、对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法

 实例一:使用ALTER TABLE命令向表中添加字段、修改字段类型以及设置主键。

首先创建一个表,SQL语句如下:

mysql> CREATE TABLE myTable(
  ->  ID SMALLINT
  -> );

使用desc命令查看表结构:

mysql> desc myTable;
+-------+-------------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID  | smallint(6) | YES |   | NULL  |    |
+-------+-------------+------+-----+---------+-------+

使用ALTER TABLE命令向表中添加字段、修改字段类型以及设置主键,SQL语句如下:

mysql> ALTER TABLE myTable
  ->  ADD COLUMN Quantity SMALLINT UNSIGNED NOT NULL,
  ->  MODIFY ID SMALLINT UNSIGNED NOT NULL,
  ->  ADD PRIMARY KEY (ID);

再次使用desc命令查看表结构,我们发现上面的修改命令生效了:

desc myTable;
+----------+----------------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| ID    | smallint(5) unsigned | NO  | PRI |     |    |
| Quantity | smallint(5) unsigned | NO  |   |     |    |
+----------+----------------------+------+-----+---------+-------+

实例二:在上面的实例基础上,我们删除myTable表中的Quantity字段和PRIMARY KEY主键

mysql> ALTER TABLE myTable
  ->  DROP COLUMN Quantity,
  ->  DROP PRIMARY KEY;

查看表结构:

mysql> desc myTable;
+-------+----------------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+----------------------+------+-----+---------+-------+
| ID  | smallint(5) unsigned | NO  |   |     |    |
+-------+----------------------+------+-----+---------+-------+

感谢阅读此文,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • MySQL中的alter table命令的基本使用方法及提速优化

    一.基本用法 1. 增加列 alter table tbl_name add col_name type 例如,  给pet的表增加一列 weight, mysql>alter table pet add weight int; 2. 删除列 alter table tbl_name drop col_name 例如, 删除pet表中的weight这一列 mysql>alter table pet drop weight; 3. 改变列 分为改变列的属性和改变列的名字 改变列的属性--方法1:

  • mysql alter table 修改表命令详细介绍

    MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_name ] or ADD INDEX [index_name] (index_col_name,...) or ADD PRIMARY KEY (index_col_name,...) or AD

  • MySQL学习笔记5:修改表(alter table)

    我们在创建表的过程中难免会考虑不周,因此后期会修改表修改表需要用到alter table语句 修改表名 复制代码 代码如下: mysql> alter table student rename person; Query OK, 0 rows affected (0.03 sec) 这里的student是原名,person是修改过后的名字 用rename来重命名,也可以使用rename to 修改字段的数据类型 复制代码 代码如下: mysql> alter table person modi

  • mysql alter table命令修改表结构实例详解

    mysql alter table语句可以修改表的基本结构,例如添加字段.删除字段.添加主键.添加索引.修改字段数据类型.对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法.  实例一:使用ALTER TABLE命令向表中添加字段.修改字段类型以及设置主键. 首先创建一个表,SQL语句如下: mysql> CREATE TABLE myTable( -> ID SMALLINT -> ); 使用desc命令查看表结构: mysql>

  • MySQL ALTER语法的运用方法

    以下的文章主要介绍的是MySQL ALTER语法的实际运用,我们大家都知道MySQL ALTER语法在实际应用中的比例还是很大的,所以了解一下MySQL ALTER语法的实际运用可以很好的选择. MySQL ALTER语法中ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] 复制代码 代码如下: alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER

  • 详解MySQL中ALTER命令的使用

    MySQL的ALTER命令是非常有用的,当想改变表的名称,表的字段,或者如果要添加或删除一个现有的表中的列. 让我们开始创建一个表名为testalter_tbl的用例: root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c C

  • mysql alter table命令修改表结构实例

    mysql实例之使用alter table命令修改表结构 mysql alter table语句可以修改表的基本结构,例如添加字段.删除字段.添加主键.添加索引.修改字段数据类型.对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法  实例一:使用ALTER TABLE命令向表中添加字段.修改字段类型以及设置主键. 首先创建一个表,SQL语句如下: mysql> CREATE TABLE myTable( -> ID SMALLINT ->

  • php批量修改表结构实例

    废话不多说,直接上代码 <?php set_time_limit(0); $con = mysql_connect("localhost", "root", "root"); $dbname = "db"; if ($con) { if (mysql_select_db($dbname, $con)) { $sql = "show tables like 'pre_tb_%'"; $ret = mys

  • MySQL数据库线上修改表结构的方法

    目录 一.MDL元数据锁 1.什么是MDL锁 2.MDL锁的问题 二.如何线上修改MySQL表结构 一.MDL元数据锁 在修改表结构之前,先来看下可能存在的问题. 1.什么是MDL锁 MySQL有一个把锁,叫做MDL元数据锁,当对表修改的时候,会自动给表加上这把锁,也就是不需要自己显式使用. 当对表做增删改查的时候,加的是MDL读锁 当对表结构做变更修改的时候,加的是MDL写锁 读与读之间不互斥,读与写,写与写之间互斥,因此 当有一个线程对表执行增删盖茶的时候,会阻塞掉别的线程对表结构修改的请求

  • mysql alter table修改表命令整理

    MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段.索引.主键等等,本文章通过实例向大家介绍MYSQL ALTER TABLE语句的使用方法, MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_name ] or ADD

  • mysql修改表结构方法实例详解

    本文实例讲述了mysql修改表结构方法.分享给大家供大家参考.具体如下: mysql修改表结构使用ALTER TABLE语句,下面就为您详细介绍mysql修改表结构的语句写法,希望对您学习mysql修改表结构方面能有所帮助. ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_nam

  • MySQL中修改表结构时需要注意的一些地方

    MySql 在修改表结构的时候可能会中断产品的正常运行影响用户体验,甚至更坏的结果,丢失数据.不是所有的数据库管理员.程序员.系统管理员都非常了解Mysql能避免这种情况.DBA会经常碰到这种生产中断的情况,当升级脚本修改了应用层和数据库层,或者缺乏经验的管理员.开发在不是很了解Mysql内部工作机制的情况下修改了规范文件. 真相是: 直接修改表结构的过程中会锁表(在5.6版本之前) 在线的数据定义语言在5.6版本不总是在线的而且也会锁表 就算使用Percona工具包(在线修改定义文件)也会有若

  • Mysql ALTER TABLE加字段的时候到底锁不锁表

    目录 Mysql5.6版本之前 Mysql5.6版本之后 总结 注意 Mysql5.6版本之前 更新步骤 对原始表加写锁 按照原始表和执行语句的定义,重新定义一个空的临时表. 对临时表进行添加索引(如果有). 再将原始表中的数据逐条Copy到临时表中. 当原始表中的所有记录都被Copy临时表后,将原始表进行删除.再将临时表命名为原始表表名. 这样的话整个DDL过程的就是全程锁表的. Mysql5.6版本之后 更新步骤 对原始表加写锁 按照原始表和执行语句的定义,重新定义一个空的临时表.并申请ro

随机推荐