改动已经存在数据的MySQL表结构
2016-04-08 21:10
429 查看
有时候我们需要对已经存在数据库中的表,进行一些改动,针对这种情况,有如下常用的SQL语句:
往已经存在一个表中添加一个新的column “id”
取消表的原有主键
设置”id”为主键
取消表中的某一列”id”
现在有这样一个题目:
往已经存在数据的表中添加一个新的column “id”,并让其值依次递增,取消表的原有主键,设置”id”为主键
下面给出题目要求的做法:
改动前的表:
往已经存在一个表中添加一个新的column “id”,设置其为主键,并让其值依次递增
执行上面一条SQL,可得改动后的表:
有时候我们会发现,改动后的id,并不是按照加1来增加的。递增步长控制着增加的数值:
设置递增步长
往已经存在一个表中添加一个新的column “id”
ALTER TABLE testdb.testtable Add id bigint(20)
取消表的原有主键
ALTER TABLE testdb.testtable DROP primary key
设置”id”为主键
ALTER TABLE testdb.testtable ADD PRIMARY KEY (id)
取消表中的某一列”id”
ALTER TABLE testdb.testtable DROP COLUMN id
现在有这样一个题目:
往已经存在数据的表中添加一个新的column “id”,并让其值依次递增,取消表的原有主键,设置”id”为主键
下面给出题目要求的做法:
改动前的表:
name | sex | title |
---|---|---|
Lili | femal | Dev |
Lilei | male | QA |
ALTER TABLE testdb.testtable ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
执行上面一条SQL,可得改动后的表:
name | sex | title | id |
---|---|---|---|
Lili | female | Dev | 1 |
Lilei | male | QA | 2 |
设置递增步长
SET @@auto_increment_increment=1; SHOW VARIABLES LIKE 'auto_inc%';
相关文章推荐
- mysql设置远程访问数据库的多种方法
- MySQL修改字符集编码
- mysql 的轮回重生(win7)
- mysql索引提高优化order by语句用法介绍
- mysql索引提高优化order by语句用法介绍
- MySQL性能优化的21个最佳实践
- MySQL学习笔记—运算符与常用函数总结
- MySQL修改root密码
- ubuntu 安装配置mysql
- 用mysql workbench导出mysql数据库关系图
- mysql中update与delete 注意事项
- mysql建表设置两个默认CURRENT_TIMESTAMP的技巧
- MySQL主主
- mysql数据中计算时间差函数
- 学习笔记之第一次遇见mysql
- cmd连接mysql的方法详解(转载)
- mysql5.5 物理删除binlog文件导致的故障
- MySQL的btree索引和hash索引的区别
- kettle中使用mysql的tinyint 类型到slqserver的tinyint类型
- MySql中的时间类型datetime,timestamp,date,year比较