目录

一、修改列定义(modify col_name)

二、修改列类型(modify col_name)

三、修改列名称(change col_name)

三、修改表名称(rename table a to b)


用到的语句

a、修改列定义和名称:

语法一:Alter table tbl_name modify[column] col_name [first|after col_name]

讲解:更改 数据表 某某表 修改 【列】 列名称 列定义 【位置|位置】

语法二:alter table tab_name change[column] old_name new_name [first|after col_name]

讲解:更改 数据表 某某表 修改 【列】 列名称 列定义 【位置|位置】

注意:语法二的功能要比语法一大很多,因为语法二既可以更改列定义,由可以更改列名称

b、修改表名称:

语法一: alter table tbl_name rename[to|as] new_tbl_name

讲解:可以更改一张数据表名称

语法二:rename table tbl_name to new_tbl_name [,tbl_name2 TO new_tbl_namew]……

讲解:可以多表更改名称


一、修改列定义(改变age列的位置,使用modify)

  • 先确定我们数据库存在我们操作的数据表city2
mysql> show columns from city2;//查询数据表
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id       | smallint(5) unsigned | NO   |     | 0       |       |
| username | varchar(20)          | NO   |     | NULL    |       |
| pid      | smallint(5) unsigned | YES  |     | NULL    |       |
| age      | tinyint(3) unsigned  | NO   |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+
  • 案例

//具体操作语句:更改数据表city2,修改age列 位于username之后
mysql> alter table city2 modify age tinyint unsigned NOT NULL after username;
Query OK, 0 rows affected (0.21 sec)//修改成功//修改前age列位于pid之下
mysql> show columns from city2;
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id       | smallint(5) unsigned | NO   |     | 0       |       |
| username | varchar(20)          | NO   |     | NULL    |       |
| pid      | smallint(5) unsigned | YES  |     | NULL    |       |
| age      | tinyint(3) unsigned  | NO   |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+//修改后,age位于username之下,pid之上
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id       | smallint(5) unsigned | NO   |     | 0       |       |
| username | varchar(20)          | NO   |     | NULL    |       |
| age      | tinyint(3) unsigned  | NO   |     | NULL    |       |
| pid      | smallint(5) unsigned | YES  |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

二、修改列类型(修改age列的储存类型,使用modify)

注意:由大类型改变成小类型的时候有可能造成数据的丢失

语句: alter table city2 modify age smallint unsigned NOT NULL;
解析:更改数据表city2 修改age列,类型:smallint,无符号,非空


//具体操作
mysql> alter table city2 modify age smallint unsigned NOT NULL;
Query OK, 0 rows affected (0.18 sec)//修改成功//查询数据表
mysql> show columns from city2;
//修改前,age的类型为tinyint
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id       | smallint(5) unsigned | NO   |     | 0       |       |
| username | varchar(20)          | NO   |     | NULL    |       |
| age      | tinyint(3) unsigned  | NO   |     | NULL    |       |
| pid      | smallint(5) unsigned | YES  |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+//修改后,age的类型改变为smallint
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id       | smallint(5) unsigned | NO   |     | 0       |       |
| username | varchar(20)          | NO   |     | NULL    |       |
| age      | smallint(5) unsigned | NO   |     | NULL    |       |
| pid      | smallint(5) unsigned | YES  |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+

三、修改列名称(使用change改变列的名称和类型,使用change)

注意:change col_name 不仅仅可以修改列定义,还可以修改列的名称。

语法:alter table tab_name change[column] old_name new_name [first|after col_name]

解析:更改数据表某某,改变列 老列名 新列明 列定于【位置first|某列之后】


语法:alter table city2 change pid p_id tinyint unsigned not null
解析:更改数据表city2 改变pid列 老名称:pid,新名称:p_id,类型:tinyint ,无符号,非空。mysql> alter table city2 change pid p_id tinyint unsigned not null;
Query OK, 0 rows affected (0.20 sec)//修改成功过mysql> show columns from city2;
//修改前,数据表的名称pid 类型为smallint
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id       | smallint(5) unsigned | NO   |     | 0       |       |
| username | varchar(20)          | NO   |     | NULL    |       |
| age      | smallint(5) unsigned | NO   |     | NULL    |       |
| pid      | smallint(5) unsigned | YES  |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+//修改后,pid列名称改变为p_id,类型由smallint改变为tinyint
+----------+----------------------+------+-----+---------+-------+
| Field    | Type                 | Null | Key | Default | Extra |
+----------+----------------------+------+-----+---------+-------+
| id       | smallint(5) unsigned | NO   |     | 0       |       |
| username | varchar(20)          | NO   |     | NULL    |       |
| age      | smallint(5) unsigned | NO   |     | NULL    |       |
| p_id     | tinyint(3) unsigned  | NO   |     | NULL    |       |
+----------+----------------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

三、修改表名称

  • 注意:修改数据表的名称有两种方式。

//可以更改一张数据表
1、alter table tbl_name rename[to|as] new_tbl_name

//可以为多张数据表修改名称
2、rename table tbl_name to new_tbl_name [,tbl_name2 TO new_tbl_namew]……

  • 一、方法一 单列改名
语句:show tables;
解析:查看数据库里有那些数据表语句:alter table city2 rename city222;
解析:更改数据表名称tity2 更改为名称city222mysql> show tables;
+--------------+
| Tables_in_t1 |
+--------------+
| city         |
| city1        |
| city2        |
| mm1          |
| mm2          |
| mm3          |
| sheng        |
+--------------+//我们修改city2的表名称为city222
mysql> alter table city2 rename city222;
Query OK, 0 rows affected (0.07 sec)//修改成功mysql> show tables;//修改前,数据表city2存在
+--------------+
| Tables_in_t1 |
+--------------+
| city         |
| city1        |
| city2        |
| mm1          |
| mm2          |
| mm3          |
| sheng        |
+--------------+
//修改后,city2数据表变成了city222
+--------------+
| Tables_in_t1 |
+--------------+
| city         |
| city1        |
| city222      |
| mm1          |
| mm2          |
| mm3          |
| sheng        |
+--------------+

方法二,多列改名

mysql> rename table city to city_1,city222 to city2;
Query OK, 0 rows affected (0.17 sec)//修改成功mysql> show tables;
//修改前,city和city111数据表存在
+--------------+
| Tables_in_t1 |
+--------------+
| city         |
| city1        |
| city222      |
| mm1          |
| mm2          |
| mm3          |
| sheng        |
+--------------+//city和city111数据表的名称 改变为了 city_1 和city2。
+--------------+
| Tables_in_t1 |
+--------------+
| city1        |
| city2        |
| city_1       |
| mm1          |
| mm2          |
| mm3          |
| sheng        |
+--------------+

注意:我们尽量不要去修改表的名称和列的名称。因为我们在代码中或者某项操作中引用了此数据表或者表的列,我们更改后可能会导致某些试图和存储过程无法正常工作。所以尽量不要去修改数据表名和列名

MYSQL数据库(九)- 修改数据表名称、列名称相关推荐

  1. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  2. MySQL数据库中的数据表

    1.创建数据表 创建数据表的,使用字符串应该遵循的原则 从速度方面考虑,要选择固定的列,可以使用CHAR类型 要节省空间,使用动态的列,可以使用VARCHAR类型 要将列中的内容限制为一种选择,可以使 ...

  3. MySQL约束和修改数据表知识集结

    一.约束 划分标准:功能.数据列的数目 功能: (1)NOT NULL(非空约束) (2)PRIMARY KEY(主键约束) (3)UNIQUE(唯一约束) (4)DEFAULT(默认约束) (5)F ...

  4. MySQL数据库基础(数据表的SELECT操作)

    文章目录 数据表的操作 1.创建成绩表 2.select表达式 3.查询 4.修改(AS) 5.筛选(WHERE) 6.排序(ORDER) 7.分组(GROUP) 8.过滤(HAVING) 9.聚合函 ...

  5. 04-JDBC连接MySQL数据库【修改数据】

    JDBC连接mysql–学习目录: 地址:http://blog.csdn.net/baidu_37107022/article/details/72600018 1.实现修改步骤 前三个步骤:注册. ...

  6. 如何批量删除mysql的数据库_如何快速批量删除Mysql数据库中的数据表

    一个mysql数据库中,是可以同时安装几个网站程序的,在使用中,我们只需要用不同的数据库表前缀来区分就可以了.但随着我们不断调试,那么数据 库中的表,就会一天天的多起来,如一个一个的删除就很麻烦.很辛 ...

  7. 【MySQL】 批量修改数据表和数据表中所有字段的字符集

    查询某个数据库所有表名的语句: # 更改 DATABASE_NAME SELECT TABLE_NAME from information_schema.`TABLES` WHERE TABLE_SC ...

  8. mysql数据库视图重命名_数据表和视图:修改数据表

    在MySQL中,ALTER 语句用来修改数据表名称或者数据表字段名称.也可以用来添加或者删除数据表字段. ALTER 语句经常和"ADD", "DROP" an ...

  9. MySQL修改数据表名

    修改数据表,包括:修改表名.修改字段名.修改字段的数据类型等. MySQL中,修改数据表的操作都是使用ALTER TABLE 修改表名 ALTER TABLE 旧表名 RENAME [TO] 新表名: ...

  10. mysql 数据库导出全部数据到excel,并保存为不同的sheet

    代码思路: 依次从mysql数据库中导出数据表,保存在本地 将本地的数据表合并在一个excel中,使用sheet区分不同表 首先运行这份代码,得到导出数据表的代码对应的字符串 ip = "1 ...

最新文章

  1. 华为策略路由加等价路由_两个ISP接入路由,双路由接入华为S5700交换机,实施策略路由...
  2. matlab 时间序列 周期,求助:在MATLAB里如何输入时间序列中的时间
  3. linux查询设备文件信息失败怎么办,Linux下使用blkid命令查询设备及文件系统信息的方法...
  4. 如何revert一个merged branch上所有的改动
  5. C#网络编程概述 三
  6. 怎么使用Nginx服务开启HTTPS
  7. android在线root,KingRoot全球率先实现Android 7.0一键 Root
  8. 关于pycharm安装出现的interpreter field is empty,无法创建项目存储位置
  9. java提取(获取)博客信息(内容)
  10. 强连通分量(Tarjan算法)
  11. Vue+element ui+springboot实现用户头像修改
  12. 【矩阵乘法】外部矩阵乘法
  13. vscode鼠标滚轮调整字体大小
  14. 视频封装格式篇--MP4
  15. nimg 文件服务器 部署,RHEL6.5 部署DNS服务器
  16. Excel怎么把两列数据穿插合并为一列
  17. 内网安全——域控提权-CVE-2020-1472NTLM中继攻击
  18. 520,都来被虐吧。。。
  19. 计算机电缆能代替控制电缆吗,如何区分:计算机电缆与控制电缆!
  20. 让Oracle高效并行执行的13个必备知识点

热门文章

  1. 所谓的我对大学的目标与期望!!!
  2. 绝世舞姬计算机弹音乐,绝世舞姬(伴奏)
  3. 贵州小县城出身的“网约车品牌”,如何拓县出省、走向全国?
  4. C语言练习题——函数
  5. 【效率神器】电脑上实现语音输入文字
  6. matlab2010 notebook,Matlab在Win10 64位下用notebook的问题
  7. 【uniapp】根据身份证号获取生日日期
  8. 动物视觉感知进化的一些看法
  9. skywalking服务端_skywalking-01-搭建skywalking服务端
  10. A-Level经济真题(7)