当我们需要修改数据表名或者修改数据表字段时,就需要用到Mysql alter命令。

查看表结构:

-- 以下2个命令是通用的
show columns from test_alter_tbl;
desc test_alter_tbl;

1.删除、添加、修改表字段

create table `test_alter_tbl` (`id` int(3),`name` varchar(20));
desc test_alter_tbl;
-- 删除某列
alter table test_alter_tbl drop name;
desc test_alter_tbl;
-- 增加某列,默认追加为最后一列
alter table test_alter_tbl add name2 varchar(20);
desc test_alter_tbl;
-- 在指定位置增加某列
alter table test_alter_tbl add personDesc varchar(20) after id;
desc test_alter_tbl;
-- 将插入的列设置为第一列
alter table test_alter_tbl add grade int(2) first;
desc test_alter_tbl;

注意:

  • 1.数据表中只剩1个字段时,不能使用drop来删除字段
  • 2.添加字段时,没有before关键字。只有after、first
  • 3.如果想重置某字段,就要先删除再将列插入到原位置

2.修改字段类型及名称

修改字段类型,使用modify 列名 类型;

修改字段名称,使用change 列名 新列名 类型;

alter table test_alter_tbl change name2 varchar(10);
alter table test_alter_tbl change name2 name varchar(20);

3.alter table对null值和默认值的影响

  • 当修改字段时,可以指定是否接收null值,也可以指定默认值。alter table 表 modify 列名 类型 not null default value;
  • 修改字段默认值,列的默认值默认为null: alter table 表 alter 列名 set default value;
  • 删除字段的默认值: alter table 表 alter 列名 drop default;
  • 也可用于删除其他信息,如外键别名: alter table 表 drop foreign key 外键别名;
  • 修改数据表类型: alter table 表 engine = myisam;
-- 修改字段的类型并设置默认值
alter table test_alter_tbl modify name varchar(10) not null default "tom";
desc test_alter_tbl;
-- 设置字段的默认值
alter table test_alter_tbl alter name set default "jerry";
desc test_alter_tbl;
-- 删除默认值
alter table test_alter_tbl alter name drop default;
desc test_alter_tbl;
-- 修改数据表类型
alter table test_alter_tbl engine = myisam;
-- 使用客户端查看
show table status like 'test_alter_tbl';
-- 使用mysql查看
show table status like 'test_alter_tbl'\G

4.修改表名

修改数据表的名称,可以使用rename语句: alter table 表 rename to 新表名;

show tables;
alter table test_alter_tbl rename to test_alter_csj;
show tables;

mysql-8 alter命令的更多相关文章

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

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

  2. Mysql学习总结(6)——MySql之ALTER命令用法详细解读

    MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强大的. [sql] view plaincopy USE learning;(自己要提前建好) CREATE TABLE ...

  3. MySQL ALTER命令

    当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本文教程前让我们先创建一张表,表名为:testalter_tbl. root@host# mysql -u r ...

  4. Mysql基础之 ALTER命令

    ALTER命令: 作用:当我们修改数据库的列属性.列名称.表名等,要使用ALTER命令 教程: 1.首先是我们创建一个数据库以及一张表 mysql> create table exercise( ...

  5. 二十四、MySQL ALTER命令

    MySQL ALTER命令 当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本章教程前让我们先创建一张表,表名为:testalter_tbl. root@ho ...

  6. MySQL ALTER命令-修改数据表名或者修改数据表字段

    需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 删除,添加或修改表字段 如下命令使用了 ALTER 命令及 DROP 子句来删除表的 i 字段: ALTER TABLE ...

  7. 吴裕雄--天生自然MySQL学习笔记:MySQL ALTER命令

    需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. root@host# mysql -u root -p password; Enter password:******* ...

  8. mysql数据库常规命令操作

    1.MySQL数据库导出命令 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名     mysqldump -u wcnc -p smgp_apps_wcn ...

  9. CentOS系统操作mysql的常用命令

    MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...

  10. 工作常用的linux/mysql/php/工具命令

    工作常用的linux/mysql/php/工具命令: 1. tar备份目录 tar zcvf ****.tar.gz ****/ tar 备份跳过目录 tar --exclude=test1 3. s ...

随机推荐

  1. 癌症免疫细胞治疗知识:CAR-T与TCR-T的区别在哪里?--转载

    肿瘤免疫治疗,实际上分为两大类.一种把肿瘤的特征“告诉”免疫细胞,让它们去定位,并造成杀伤:另一种是解除肿瘤对免疫的耐受/屏蔽作用,让免疫细胞重新认识肿瘤细胞,对肿瘤产生攻击(一般来说,肿瘤细胞会巧妙 ...

  2. 双击不能运行可执行的jar文件

    1.首先在命令行下运行jar包看文件是否报错(java -jar jar文件名称.jar)          如果程序中有System.out.println()语句,不想让其输出到控制台而保存到文件 ...

  3. 100W数据,测试复合索引

    复合索引不是那么容易被catch到的. 两个查询条件都是等于的时候,才会被catch到. mysql> select count(*) from tf_user_index where sex ...

  4. nginx第三方模块安装方法

    nginx第三方模块安装方法 ./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 比如echo模块. 没安装前,使用测试. location /tes ...

  5. 使用 reshape2 重塑数据框

    我们已经学习了如何筛选.排序.合并和汇总数据框.这些操作只适用于行和列,然而有时候我们需要做一些更复杂的事情.例如,下面这段代码读取了一个数据集,包含了两种产品不同日期的质量和耐久性的测试结果:toy ...

  6. mysql之innodb的锁分类介绍

    一.innodb行锁分类 record lock:记录锁,也就是仅仅锁着单独的一行 gap lock:区间锁,仅仅锁住一个区间(注意这里的区间都是开区间,也就是不包括边界值. next-key loc ...

  7. ActiveStorage. 英文书Learnrails5.2的案例,看如何放到云上。

    ActiveStorage. 英文书Learnrails5.2的案例 本例子目标:增加一个avatar image给每个用户. 准备: 需要安装Imagemagick software.它可以crea ...

  8. hdu2177威佐夫博弈

    输的话输出0,赢就输出1并且输出第一步走后的数目 威佐夫博弈判断胜负 原理及常见题型求法: http://blog.csdn.net/y990041769/article/details/216940 ...

  9. 《转》深入理解Activity启动流程(二)–Activity启动相关类的类图

    本文原创作者:Cloud Chou. 出处:本文链接 本系列博客将详细阐述Activity的启动流程,这些博客基于Cm 10.1源码研究. 在介绍Activity的详细启动流程之前,先为大家介绍Act ...

  10. trello 项目管理开启卡片图片显示

    /********************************************************************************* * trello 项目管理开启卡片 ...