首页 > 其他分享 >修改表的各种操作

修改表的各种操作

时间:2023-02-03 20:46:33浏览次数:57  
标签:test1 各种 name col 修改 table 操作 默认值 alter

修改表的各种操作

官网:https://dev.mysql.com/doc/refman/8.0/en/alter-table.html

这里挑几个常用的演示一下:

原表格sql语句:

create table if not exists test1
(
    id     int auto_increment primary key comment '主键id',
    `name` varchar(10) not null,
    sex    bit(1)      not null,
    address varchar(50) not null ,
    phone char(11) not null ,
    createTime timestamp default CURRENT_TIMESTAMP,
    updateTime timestamp default current_timestamp on update current_timestamp
)engine = Innodb CHARACTER SET utf8mb4;

insert into test1(id,name,sex,address,phone) values (null,'情韵',1,'河南省郑州市','13243299121');

给当前表添加一个字段

语法:

ALTER TABLE tbl_name
ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]

示例:

alter table test1
add column deleted bit(1) default 0;

效果展示:

image-20230203195659072

注意:

如果添加某列没加默认值的话,默认值为null,即使后面修改为有默认值,修改过后原添加的数据不会发生更改,再添加数据时默认值才会生效。

修改当前表的某个字段名称

语法:

ALTER TABLE tbl_name
RENAME COLUMN old_col_name TO new_col_name

示例:

alter table test1
rename column deleted to iddel;

效果展示:

image-20230203200240494

删除当前表中某个字段

语法:

ALTER TABLE tbl_name
DROP [COLUMN] col_name

示例:

alter table test1
drop column iddel;

效果展示:

image-20230203200532674

修改表中字段的位置

语法:

ALTER TABLE tbl_name
MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]

示例:

# 把updateTime放在最前面
alter table test1
modify column updateTime timestamp default current_timestamp first ;

效果展示:

image-20230203200900310

注意:

这里不可以不把默认值加上,会把字段的默认值丢掉。反之会加上。

删除/重置某个字段的默认值

语法:

ALTER TABLE tbl_name
ALTER [COLUMN] col_name {
        SET DEFAULT {literal | (expr)}
      | SET {VISIBLE | INVISIBLE}
      | DROP DEFAULT
    }

示例:

# 把createTime的默认值移除
alter table test1
alter column createTime drop default;

效果展示:

image-20230203201548021

修改表的名称

语法:

ALTER TABLE tbl_name
 RENAME [TO | AS] new_tbl_name

示例代码:

alter table test1
rename user;

效果展示:

image-20230203201855848

注意:

名字修改后,原表的名字就失效了。

后面还有一些添加/删除约束什么的 ,依照官网可以写出来就行。

标签:test1,各种,name,col,修改,table,操作,默认值,alter
From: https://www.cnblogs.com/beishanqingyun/p/17090372.html

相关文章

  • 修改文件时mmap如何处理
    拷贝二进制(elf)文件在拷贝二进制文件的时候,如果文件是一个可执行文件,并且有一个进程在运行这个可执行文件,那么拷贝的时候会出现"文本忙"(ETXTBSY)的错误提示,并且拷贝失败......
  • mysql修改表结构
    3,修改表结构:添加表字段altertable表名add字段名类型约束;例如:altertablestudentaddageintnotnulldefault0aftername;ps:aftername表示在name字......
  • EMR修改Core节点EBS卷大小
    本文用于修改已创建好的EMR集群Core节点EBS磁盘容量,由于业务场景、成本等多方面考虑,需要周期性的调整Core节点的磁盘容量,但是通过人工调整EBS卷大小非常耗时,本文通过Bootstr......
  • Java集合 Map 集合 与 操作集合的工具类: Collections 的详细说明
    Java集合Map集合与操作集合的工具类:Collections的详细说明每博一文案别把人生,输给心情师父说:心情不是人生的全部,却能左右人生的全部。你有没有体会到,当你心......
  • docker常见操作
    docker常用命令docker ps –a   :查看所有容器docker logs –f –-tail=100  容器id或者容器名:监控日志docker exec –it 容器id  bash :进入容器调试docker......
  • crmeb文件修改
    修改文件位置:/view/admin/src/router/routes.js修改图中CRMEB即可。修改完成后,需要打包后台前端文件,上传覆盖。PC浏览器打开移动端前台的时候显示crmeb-PC端文件位置/view......
  • keil操作——典型语句模板设置
      典型语句1:mainvoidmain(){while(1){|}} 典型语句2:#ifndef#ifndef__DELAY_H__#define__DELAY_H__voidDelay(unsignedintx......
  • MongoDB CURD操作
    window平台安装MongoDBMongoDB下载MongoDB提供了可用于32位和64位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB预编译二进制包下载地址:http://w......
  • uniapp不介入第三方,Android调用各种权限
    代码:onLaunch:function(){console.log('onLaunch')//监听底部中间菜单的事件uni.onTabBarMidButtonTap(()=>{......
  • 【转载】@TableLogic注解(当使用了@TableLogic注解,调用update方法修改该字段的值是不会
    @TableLogic注解表示逻辑删除1、在实体类中属性加上@TableLogic注解,表示该字段是逻辑删除字段。2、增加注解后调用BaseMapper的deleteById(id)或者IService的removeById(id......