在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿。这些操作可以在phpmyadmin或者别的mysql管理工具中完成,但是我们有时为了更方便的管理,会选择写sql语句来实现。

1.修改字段的长度

语法:

ALTER TABLE 表名 MODIFY COLUMN 字段名  数据类型(修改后的长度)

例子:

将字段的长度由10改为20

ALTER TABLE attence MODIFY COLUMN id INT(20)

2.修改字段的名称

语法:

alter table <表名> change <字段名> <字段新名称> <字段的类型>。

例子:

将字段attence_name改为name

ALTER TABLE attence CHANGE attence_name NAME  VARCHAR(20)

3.新增字段

语法:

新增默认为空的字段
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 DEFAULT NULL;
新增不为空的字段
ALTER TABLE 表名ADD COLUMN 字段名 字段类型  NOT NULL;

例子:
ALTER TABLE attence ADD COLUMN attence_name VARCHAR(20) DEFAULT NULL;

ALTER TABLE attence ADD COLUMN age VARCHAR(20) NOT NULL;

4.删除字段

语法:

ALTER TABLE 表名 DROP COLUMN 字段名;

例子:

ALTER TABLE attence DROP COLUMN age;

5.批量增加字段

方法一
可以使用事务

语法:

begin;                                           //事务开始
alter table 表名  add 字段名  字段类型(长度);
alter table 表名 add 字段名  字段类型(长度);
alter table 表名 add 字段名  字段类型(长度);
alter table 表名 add 字段名  字段类型(长度);
commit;

例子:

begin;                                           //事务开始
alter table em_day_data add f_day_house7 int(11);
alter table em_day_data add f_day_house8 int(11);
alter table em_day_data add f_day_house9 int(11);
alter table em_day_data add f_day_house10 int(11);
commit;

方法二

alter table 表名 add (字段1 类型(长度),字段2 类型(长度),字段3 类型(长度));

alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11));

6.批量修改字段名称

语法:

alter table 表 change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null

例子:

alter table em_day_data change f_day_house11 f_day_hour11 int(11) not null,
change f_day_house12 f_day_hour12 int(11) not null,
change f_day_house13 f_day_hour13 int(11) not null,
change f_day_house14 f_day_hour14 int(11) not null,
change f_day_house15 f_day_hour15 int(11) not null,
change f_day_house16 f_day_hour16 int(11) not null,
change f_day_house17 f_day_hour17 int(11) not null

来源:mysql中利用sql语句修改字段名称,字段长度等操作 - 努力奋斗吧 - 博客园

mysql中利用sql语句修改字段名称,字段长度等操作(亲测)相关推荐

  1. mysql 修改字段长度 合并语句_mysql中利用sql语句修改字段名称,字段长度等操作...

    1.修改字段的长度 语法: ALTER TABLE 表名 MODIFY COLUMN 字段名  数据类型(修改后的长度) 例子: 将字段的长度由10改为20 ALTER TABLE attence M ...

  2. mysql中通过sql语句查询指定数据表的字段信息

      mysql数据库在安装完成时,自动创建了information_schema.mysql.test这三个数据库.其中,information_schema记录了创建的所有数据库的相关信息,因此可以 ...

  3. SQL入门:在MySQL中使用SQL语句实现收藏排行功能

    文章目录 导读 问题描述 环境声明 数据准备 业务上手 熟悉数据 一头莽上去 试查询 正片开始 收藏数统计 收藏量排名 导读 这次有个同学问我SQL的问题,我发现这个问题虽然简单,但是涉及了很多很细节 ...

  4. MySQL中优化sql语句查询常用的30种方法

    为什么80%的码农都做不了架构师?>>>    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 whe ...

  5. 浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  6. mysql中复杂sql语句之多重if嵌套语句

    今天做项目写的一个sql: SELECT(SELECTIF (NOW() < cs.start_date,'has_not_started',IF (NOW() > cs.end_date ...

  7. 浅谈MySQL中优化sql语句查询常用的30种方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  8. Entity Framework 在MySQL中执行SQL语句,关于参数问题

    在Entity Framework中添加MySQL模型,在写代码的过程中需要直接执行SQL语句. 在SQL语句中用到了@curRank := 0 这样在SQL语句中定义参数,同时还会有传入参数:ai. ...

  9. MySQL 数据库利用alter语句修改表字段属性实例演示,如何拓展表字段长度,sql语句修改表字段名称和类型

    -- 创建表 create table field_changes ( name char); desc field_changes; 给表添加字段. alter table field_change ...

最新文章

  1. [转]web标准的几个误区
  2. python3 获取cookie解决方案
  3. 在 Flutter 中更改文本的字体系列
  4. Selenium2+python自动化58-读取Excel数据(xlrd)
  5. java gc log调优_Java 开启 gc 日志
  6. 3c vrrp的接口监视_主备冗余协议,VRRP基础,状态机选举及VRRP配置,理论+实战...
  7. 22.4. IP Address
  8. 在线HTML实体转字符串工具
  9. spring aop示例_Spring批处理示例
  10. MySQL-第九篇分组和组函数
  11. JAVA生成pdf文件
  12. mac 版 idea 破解
  13. 计算机毕业设计 网吧计费管理系统 网吧管理系统 网吧管理系统java 网吧上机管理系统 网吧计费系统 网吧系统 网吧收费管理系统 网咖系统 网咖管理系统 网咖计费系统 网咖收费管理系统
  14. 程序员需要知道的地理知识
  15. GPS测量误差来源分析
  16. 如何通过F12开发者工具保存网页中想要的视频资源
  17. K线形态识别—多K线之卖出型多日K线组合
  18. Rosalind Java|k-Mer Composition
  19. 基于.net5.0常用开源组件Xman
  20. 程序猿段子_程序员的那些段子

热门文章

  1. QT的QUdpSocket类的使用
  2. QT的QScriptValueIterator类的使用
  3. C++ Priority Queues(优先队列)
  4. SpringBoot使用JdbcTemplate案例(学习笔记)
  5. 转:ibatis动态sql
  6. apt-get install用发
  7. Mysql 死锁过程及案例详解之记录锁与间隔锁Record Lock Gap Lock
  8. 更改图片位置_如何轻松快速地将图片转换到JPG/JPEG/PNG/BMP/TIFF
  9. YOLOV3 --BUG---No labels in D:\yolov5\train_data\train.cache. Can not train without labels.
  10. OpenCV—形态学运算定义与实现