欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL修改数据表-添加/删除列

程序员文章站 2022-04-04 09:45:18
...


创建数据表,如果说数据表有错误,我们就要修改,就用下边的一些操作来对数据表进行修改,
修改无疑就是列的添加,列的删除,约束的添加,约束的删除等操作,我们先来看看列的添加

添加单列

ALTER TABLE tab_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
添加单列通过alter table +表名来实现 column关键词可以不加 ,列名称,列定义,我们可以发现还有一个first和after + 列名,first指的是你添加的这列在最前边,after xxx 将会把你新插入的这一列置于你指定的这一列之后,如果省略了first和after,那么插入的列就会在最后下边来测试一下,我们还是用原来创建的表users1

查一下表结构

SHOW COLUMNS FROM users1;

MySQL修改数据表-添加/删除列
可见只有3个字段,id,username,和pid关联的是provinces这张省份表中的省份,
现在我们来加一个单列,age

ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;

MySQL修改数据表-添加/删除列
MySQL修改数据表-添加/删除列
因为我们没有设置first和after col_name 所以默认插入在最后。

现在我们在加一个password字段将其置于username后边

ALTER TABLE users1 ADD password VARCHAR(32) NOT NULL AFTER username; 

MySQL修改数据表-添加/删除列
MySQL修改数据表-添加/删除列
MySQL修改数据表-添加/删除列可见已经插入了表中,并插入在username后,当然也可以使用first插在最前

ALTER TABLE users1 ADD turename VARCHAR(20) NOT NULL FIRST;

MySQL修改数据表-添加/删除列
MySQL修改数据表-添加/删除列

添加多列

ALTER TABLE tbl_name ADD [COLUMNS] (col_name column_definition,…)
添加一列和添加多列稍稍的有些区别
添加单列的时候所有列不需要加小括号
添加单列的时候可以指定插入的位置
添加多列的时候不能指定添加的位置关系,只能添加在表的下方
这里就不在演示
我们可以通过alter table添加单列或多列,那么删除的操作也要清除

删除列

ALTER TABEL tbl_name DROP [COLUMN] col_name
我们可以删除一列页可以删除多列,加入删除新增的truename字段

ALTER TABLE users1 DROP truename;

MySQL修改数据表-添加/删除列
MySQL修改数据表-添加/删除列
如果我的password字段和age都想删除怎么办

ALTER TABLE users1 DROP age,DROP password;

MySQL修改数据表-添加/删除列
MySQL修改数据表-添加/删除列
可见已经同时被删除了,那删除的同时添加一列尼?可以不?可以,操作之间用逗号分隔,

咱先添加一个truename
在删除truename的同时新增一个age字段,来演示一下

ALTER TABLE users1 ADD truename VARVHAR(20) NOT NULL;
ALTER TABLE users1 DROP truename,ADD age TINYINT UNSIGNED NOT NULL AFTER id;

MySQL修改数据表-添加/删除列
没毛病,下一节添加约束

相关标签: mysql