MySQL修改数据表-添加/删除列
创建数据表,如果说数据表有错误,我们就要修改,就用下边的一些操作来对数据表进行修改,
修改无疑就是列的添加,列的删除,约束的添加,约束的删除等操作,我们先来看看列的添加
添加单列
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;
可见只有3个字段,id,username,和pid关联的是provinces这张省份表中的省份,
现在我们来加一个单列,age
ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;
因为我们没有设置first和after col_name 所以默认插入在最后。
现在我们在加一个password字段将其置于username后边
ALTER TABLE users1 ADD password VARCHAR(32) NOT NULL AFTER username;
可见已经插入了表中,并插入在username后,当然也可以使用first插在最前
ALTER TABLE users1 ADD turename VARCHAR(20) NOT NULL FIRST;
添加多列
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;
如果我的password字段和age都想删除怎么办
ALTER TABLE users1 DROP age,DROP password;
可见已经同时被删除了,那删除的同时添加一列尼?可以不?可以,操作之间用逗号分隔,
咱先添加一个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;
没毛病,下一节添加约束
上一篇: 安卓入门2