≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > MySQL

MySQL学习笔记5:修改表(alter table)

人气:337 时间:2020-07-09

这篇文章主要为大家详细介绍了MySQL学习笔记5:修改表(alter table),具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编小韵来看看吧!

我们在创建表的过程中难免会考虑不周,因此后期会修改表修改表需要用到alter table语句
修改表名

代码如下:

 
mysql> alter table student rename person; 
Query OK, 0 rows affected (0.03 sec) 

这里的student是原名,person是修改过后的名字
用rename来重命名,也可以使用rename to
修改字段的数据类型

代码如下:

 
mysql> alter table person modify name varchar(20); 
Query OK, 0 rows affected (0.18 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

此处modify后面的name为字段名,我们将原来的varchar(25)改为varchar(20)
修改字段名

代码如下:

 
mysql> alter table person change stu_name name varchar(25); 
Query OK, 0 rows affected (0.20 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

这里stu_name是原名,name是新名
需要注意的是不管改不改数据类型,后面的数据类型都要写
如果不修改数据类型只需写成原来的数据类型即可
tips:我们同样可以使用change来达到modify的效果,只需在其后写一样的字段名
增加无完整性约束条件的字段

代码如下:

 
mysql> alter table person add sex boolean; 
Query OK, 0 rows affected (0.21 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

此处的sex后面只跟了数据类型,而没有完整性约束条件
增加有完整性约束条件的字段

代码如下:

 
mysql> alter table person add age int not null; 
Query OK, 0 rows affected (0.17 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

地处增加了一条age字段,接着在后面加上了not null完整性约束条件
在表头添加字段

代码如下:

 
mysql> alter table person add num int primary key first; 
Query OK, 0 rows affected (0.20 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

默认情况下添加字段都是添加到表尾,在添加语句后面加上first就能添加到表头
在指定位置添加字段

代码如下:

 
mysql> alter table person add birth date after name; 
Query OK, 0 rows affected (0.20 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

这里添加一条新字段放在name字段后面
tps:表中字段的排序对表不会有什么影响,不过更合理的排序能便于理解表
删除字段

代码如下:

 
mysql> alter table person drop sex; 
Query OK, 0 rows affected (0.18 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

和前面删除表或数据库一样,这里也需要用drop
不同的是,删除字段还要用alter table跟着表名
修改字段到第一个位置

代码如下:

 
mysql> alter table person modify id int first; 
Query OK, 0 rows affected (0.20 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

first在前面已经讲过,此处要注意的是字段后面要写数据类型
修改字段到指定位置

代码如下:

 
mysql> alter table person modify name varchar(25) after id; 
Query OK, 0 rows affected (0.18 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

我们把name字段放到了id后面,此处的varchar(25)要写全,varchar不行
建议操作以上步骤之前都先desc table
修改表的存储引擎

代码如下:

 
mysql> alter table user rename person; 
Query OK, 0 rows affected (0.05 sec) 

这里先不具体讲各个存储引擎的特点,内容比较多
修改完之后别忘了使用show create table语句查看,第三节有写用法
tips:如果表中已存在很多数据,不要轻易修改存储引擎
增加表的外键

代码如下:

 
mysql> alter table score add constraint fk foreign key(stu_id) references student(id); 
Query OK, 10 rows affected (0.18 sec) 
Records: 10 Duplicates: 0 Warnings: 0 

这里只需使用add增加即可,后面的语法参见第四节中的外键设置
删除表的外键约束

代码如下:

 
mysql> alter table student3 drop foreign key fk; 
Query OK, 0 rows affected (0.18 sec) 
Records: 0 Duplicates: 0 Warnings: 0 

由于基本的表结构描述无法显示外键,所以在进行此操作前最好使用show create table查看表
这里的fk就是刚刚设置的外键
需要注意的是:如果想要删除有关联的表,那么必先删除外键
删除外键后,原先的key变成普通键
至于删除表的操作,在第三节有写,设置外键在第四节也有写如果创建表的时候没有设置外键,可使用上面的方法

本文来自:http://www.q1010.com/177/10091-0.html

注:关于MySQL学习笔记5:修改表(alter table)的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:MYSQL

您可能感兴趣的文章

  • MySQL中的Load data的使用方法
  • MySQL学习笔记4:完整性约束限制字段
  • MySQL 事务处理及表锁定深入简析
  • MySQL表的七种类型详细介绍
  • MySQL数据库优化需要遵守的原则
  • MySQL如何按照中文排序解决方案
  • InnoDB引擎数据库主从复制同步新的分享
  • MySQL中自增auto_increment功能的相关设置及问题
  • MySQL日志文件在哪 如何修改MySQL日志文件位置
  • MySQL load data infile 的用法(40w数据 用了3-5秒导进MySQL)
上一篇:MySQL多表联合查询返回一张表的内容实现代码
下一篇:MySQL load data infile 的用法(40w数据 用了3-5秒导进MySQL)
热门文章
  • mysql 修改character_set_server为utf-8的简单示例
  • 解决MySQL丢失文件localhost.localdomain.pid、mysql.sock的示例
  • MySQL 数据类型binary和varbinary的简单示例
  • MySQL:reading initial communication packet问题解决方法
  • MySql 表类型MYISAM、InnoDB区别
  • bash: mysql: command not found 的解决方法
  • MYSQL默认用户名ROOT修改方法
  • MySQL 常用命令菜鸟教程
  • MySQL 使用命令行新建用户并授予权限
  • MySql 数据库物理文件存放位置查看示例
  • 最新文章
    • MySQL查看死锁与解除死锁的简单示例
    • MySQL 慢查询的功能实例
    • MySQL查看死锁与去除死锁的简单示例
    • MySQL找出未提交事务的SQL的简单示例
    • MySQL锁阻塞的的简单示例
    • MySQL中的binary类型使用操作的示例
    • SQL优化教程之in与range查询的简单示例
    • MySQL 的 21 个规范、优化最佳实践!
    • MySQL 字符类型大小写敏感的简单示例
    • 解决mybatis-plus分页传入参数后sql where条件没有limit分页信息的问题

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。