zoukankan      html  css  js  c++  java
  • mysql修改表结构语句

    mysql 修改表结构,字段等信息

     

    一、查看表信息

    1:查看建表语句
    show create table test_a;
    2:查看表字段信息
    DESC test_a;

    二、建表语句

    CREATE TABLE `test_a` (
    `id` char(32) NOT NULL COMMENT '主键ID',
    `work_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增列',
    `creator_id` char(32) DEFAULT NULL COMMENT '创建人',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `modifier_id` char(32) DEFAULT NULL COMMENT '修改人',
    `modify_time` datetime DEFAULT NULL COMMENT '修改时间',
    `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1 启动 0 停用',
    `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除标记:0、未删除 1、已删除',
    `handle_mission` tinyint(1) unsigned zerofill DEFAULT NULL COMMENT '手动完成,0,正常上刊任务;1,手动完成任务',
    `signed_customer` varchar(64) DEFAULT NULL COMMENT '签约客户',
    # 主键索引
    PRIMARY KEY (`id`) USING BTREE,
    # 唯一索引
    UNIQUE KEY `index_id` (`id`) USING BTREE,
    # 索引
    KEY `index_signed_customer` (`signed_customer`) USING BTREE,
    ) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4

    unsigned:无符号。常用于一些数据不能为负数的场合。增大数据类型的可用范围,我们在查看数值类型的可用范围时,通常都会有一个无符号范围,这个无符号范围就是在数值类型中添加了unsigned。假如:一个数值类型的可用范围为-10~10,那么他的无符号范围就是0~20,你可以理解为数值类型加上unsigned,可以使数值类型的正数范围翻倍。
     zerofill:   作用是填充0。在字段中数据类型规定的范围中,若是插入的数据不满足范围,则会使用空格作为填充,使其符合要求,而zerofill则会将空格改为0。
     ENGINE=InnoDB   使用 InnoDB 引擎
     AUTO_INCREMENT=100   从100开始自动递增
     DEFAULT CHARSET=utf8mb4    默认的编码格式 utf8mb4
     USING BTREE:  索引方法使用BTREE.
     索引方法包含BTREE、HASH
    1.HASH(用于对等比较,如"="和" <=>") //<=> 安全的比对 ,用与对null值比较,语义类似is null()
    2.BTREE(用于非对等比较,比如范围查询)>,>=,<,<=、BETWEEN、Like

    三、 修改表信息

    1.修改表名 
    alter table test_a rename to test_b;
    
    2.修改表注释 
    alter table test_a comment 'test_a字段注释';

    四、修改表字段信息

    1.修改字段类型
    alter table test_a modify column user_name text;
    
    2.修改字段类型和注释
    alter table test_a modify column user_name varchar(20) COMMENT '用户名字';
    
    3.设置字段允许为空
    alter table test_a modify column user_name varchar(255) default null COMMENT '用户名字';
    
    4.修改为自增主键
    alter table test_a modify column a_id int(5) auto_increment ;
    
    5.修改字段名字(要重新指定该字段的类型)
    alter table test_a change user_name user_name2 varchar(255) not null comment '其他的备注信息';

    五、给表增加字段

    1.增加一个字段,设好数据类型,且不为空,添加注释
    alter table test_a add user_name varchar(255) not null comment '用户名字';
    
    2.给字段增加主键
    alter table test_a add primary key (a_id);
    
    3.增加一个字段(a_id)并设置为主键 
    alter table test_a add a_id int(5) not null , add primary key (a_id);
    
    4.增加字段并设置为自增主键
    alter table test_a add a_id int(5) not null auto_increment , add primary key (a_id);

    六、删除表字段

    1.删除字段
    alter table test_a drop user_name;

    七、其他

    1.在某个字段(a_id)后增加字段
    alter table test_a add column user_age int(4) not null default 0 AFTER a_id;
    
    2.调整字段顺序 #(注意gateway_id出现了2次)
    alter table test_a change user_age user_age int not null AFTER a_id ;

     

  • 相关阅读:
    《大话数据结构》第1章 数据结构绪论 1.2 你数据结构怎么学的?
    伍迷七八月新浪微博集锦
    《大话数据结构》第9章 排序 9.7 堆排序(下)
    《大话数据结构》第3章 线性表 3.8.2 单链表的删除
    《大话数据结构》第9章 排序 9.5 直接插入排序
    《大话数据结构》第9章 排序 9.8 归并排序(上)
    《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度
    《大话数据结构》第1章 数据结构绪论 1.1 开场白
    《大话数据结构》第9章 排序 9.1 开场白
    [AWS] Assign a public IP address to an EC2 instance after launched
  • 原文地址:https://www.cnblogs.com/dw3306/p/9650220.html
Copyright © 2011-2022 走看看