mysql-8 alter命令
当我们需要修改数据表名或者修改数据表字段时,就需要用到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命令的更多相关文章
- MySql之ALTER命令用法详细解读(转)
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细解读了MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强 ...
- Mysql学习总结(6)——MySql之ALTER命令用法详细解读
MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强大的. [sql] view plaincopy USE learning;(自己要提前建好) CREATE TABLE ...
- MySQL ALTER命令
当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本文教程前让我们先创建一张表,表名为:testalter_tbl. root@host# mysql -u r ...
- Mysql基础之 ALTER命令
ALTER命令: 作用:当我们修改数据库的列属性.列名称.表名等,要使用ALTER命令 教程: 1.首先是我们创建一个数据库以及一张表 mysql> create table exercise( ...
- 二十四、MySQL ALTER命令
MySQL ALTER命令 当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 开始本章教程前让我们先创建一张表,表名为:testalter_tbl. root@ho ...
- MySQL ALTER命令-修改数据表名或者修改数据表字段
需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 删除,添加或修改表字段 如下命令使用了 ALTER 命令及 DROP 子句来删除表的 i 字段: ALTER TABLE ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL ALTER命令
需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. root@host# mysql -u root -p password; Enter password:******* ...
- mysql数据库常规命令操作
1.MySQL数据库导出命令 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcn ...
- CentOS系统操作mysql的常用命令
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...
- 工作常用的linux/mysql/php/工具命令
工作常用的linux/mysql/php/工具命令: 1. tar备份目录 tar zcvf ****.tar.gz ****/ tar 备份跳过目录 tar --exclude=test1 3. s ...
随机推荐
- js的重载
1.重载 //重载(个数不同,类型不同)function prop(){var firstP = document.getElementById("p");if(arguments ...
- kue
尝试着看英文的文档,你发现他其实并不难. https://www.npmjs.com/package/kue
- jquery ui是什么
jquery ui是什么 一.总结 一句话总结:jQuery UI [1] 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互.动画.特效和可更换主题的可视 ...
- Android下移植tcpflow
tcpflow是linux平台下的开源抓包工具,它能监听网络url,获取http请求的各种数据.tcpflow可以说是tcpdump的简约版.要想将tcpflow移植到Android平台中,就需要通过 ...
- html中用变量作为django字典的键值
若字典为dic={'name': Barbie, 'age': 20},则在html中dic.name为Barbie,dic.age为20. 但若字典为dic={'Barbie': 1, 'Roger ...
- 143. Long Live the Queen 树形dp 难度:0
143. Long Live the Queen time limit per test: 0.25 sec. memory limit per test: 4096 KB The Queen of ...
- JS之replace
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- New Concept English Two 27 73
新概念一:对应小学水平,重在口语和基础.是不可多得的学习教材,全本144课,可以给孩子(hello world 级别的我)学半年.新概念二:对应高中水平,重在听力和场景对话,共96课,学后,听懂歪果仁 ...
- protel 99se 加载库文件 files not recognised 解决办法-转
WIN7操作系统下,protel99se添加元件库的操作方法(非修改ADVSch99SE方法) 最近更换了新电脑,操作系统是正版的WIN7,在用protel时发现元件库无法加载,很是郁闷,上网查找解决 ...
- iOS-----线程同步与线程通信
线程同步与线程通信 多线程是有趣的事情,它很容易突然出现”错误情况”,这是由于系统的线程调度具有一定的随机性造成的.不过,即使程序偶然出现问题,那么是由于编程不当所引起的.当使用多个线程来访问同一个数 ...