• MySQL-06-表结构修改


    1、表结构修改-新增表字段

    -- 新增表字段
    ALTER TABLE tb_test ADD u_name varchar(10) not null;
    ALTER TABLE tb_test ADD regTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP();
    ALTER TABLE tb_test ADD type TINYINT DEFAULT 1 AFTER u_name;
    ALTER TABLE tb_test ADD  u_age varchar(10) not null,ADD u_sex varchar(2) not null;
    

    2、表结构修改-删除表字段

    -- 删除表字段
    ALTER TABLE tb_test DROP u_age,DROP u_sex;
    
    -- 删除表字段并新增表字段
    ALTER TABLE tb_test DROP type,ADD u_age varchar(10) not null;
    

    3、表结构修改-修改表字段

    -- 修改表字段
    -- type TINYINT 默认是1
    -- 现将 tpye 类型改为 int ;默认改为2
    -- UNSIGNED:表示无符号的
    -- FIRST:将该字段放在第一列
    ALTER TABLE tb_test MODIFY type INT UNSIGNED DEFAULT 2;
    ALTER TABLE tb_test MODIFY type tinyint UNSIGNED DEFAULT 1 FIRST;
    
    -- 修改默认值
    ALTER TABLE tb_test MODIFY type tinyint UNSIGNED DEFAULT 1;
    ALTER TABLE tb_test ALTER type SET DEFAULT 2;
    
    -- 去掉默认值
    ALTER TABLE tb_test ALTER type DROP DEFAULT;
    
    -- 修改字段名
    ALTER TABLE tb_test CHANGE COLUMN regTime createTime TIMESTAMP;
    
    -- 修改表名
    ALTER TABLE tb_test RENAME tb_test1;
    RENAME TABLE tb_test1 to tb_test;
    
    
    

    4、表结构修改-删除数据库或表

    -- 删除数据库
    DROP DATABASE IF EXISTS aaa;
    
    -- 删除表
    DROP TABLE IF EXISTS test3;
    
    -- 清空表数据
    TRUNCATE TABLE  test1;
    

    5、表结构修改-添加约束

    -- 增加主键约束 
    ALTER TABLE test1 ADD CONSTRAINT zjys PRIMARY KEY(a);
    
    -- 添加唯一约束
    ALTER TABLE	test1 ADD UNIQUE KEY(b);
    或者
    ALTER TABLE	test1 ADD UNIQUE(b);
    
    -- 添加外键约束
    
    CREATE TABLE `test1` (
      `a` varchar(255) PRIMARY KEY,
      `b` varchar(255) 
    ) ;
    
    CREATE TABLE `test2` (
      `a` varchar(255) ,
      `b` varchar(255) 
    ) ;
    
    ALTER TABLE	test2 ADD  FOREIGN KEY(a) REFERENCES test1(a);
    
    

    6、表结构修改-删除约束

    • 删除主键约束
    ALTER TABLE table_name DROP PRIMARY KEY;
    
    • 删除唯一约束
    SHOW INDEXES FROM table_name; --查看唯一约束
    ALTER TABLE table_name  DROP index id;
    
    • 删除外键约束
    SHOW create FROM table_name; --查看起的别名
    ALTER TABLE table_name  DROP FOREIGN KEY cid;
    
    • 删除默认约束
    ALTER TABLE table_name  ALTER type DROP DEFAULT;
    

    附录

    -- 创建tb_test表
    CREATE TABLE `tb_test` (
      `id` varchar(20) COLLATE utf8mb4_bin NOT NULL,
      `u_name` varchar(10) COLLATE utf8mb4_bin NOT NULL,
      `type` tinyint DEFAULT '1',
      `regTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
      `u_age` varchar(10) COLLATE utf8mb4_bin NOT NULL,
      `u_sex` varchar(2) COLLATE utf8mb4_bin NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
    
  • 相关阅读:
    D. Constructing the Array
    B. Navigation System
    B. Dreamoon Likes Sequences
    A. Linova and Kingdom
    G. Special Permutation
    B. Xenia and Colorful Gems
    Firetrucks Are Red
    java getInstance()的使用
    java 静态代理和动态代理
    java 类加载机制和反射机制
  • 原文地址:https://www.cnblogs.com/Mr-Wei/p/15423487.html
Copyright © 2020-2023  润新知