• MySQL的alter的使用


    ALTER TABLE 语句用于在已有的表中添加、修改或删除列

     1.ADD [COLUMN] column name (column definitions) [FIRST or AFTER column_name]

     增加列并且可以指定在某一个列名(column_name)的之前或之后增加这个列

     2. ADD INDEX [index_name] (column_list)

     增加列的索引

     3.ADD PRIMARY KEY (column_list)

     增加列的主键

     4.ADD UNIQUE [index_name] (column_list)

     增加列的唯一约束

     5.ALTER [COLUMN] column_name {SET DEFAULT default_value or DROP DEFAULT}

     设置列的默认约束或者删除其默认约束

     6.CHANGE [COLUMN] old_col_name create_definition

     改变一个列的名称或者,属性

     7.DROP [COLUMN] col_name

     删除一列

     8.DROP PRIMARY KEY

     删除列的主键属性

     9.DROP INDEX index_name

     删除键的索引

     10.MODIFY [COLUMN] create_definition RENAME [AS] new_tbl_name

     作用和change相同,只是不需要写两遍old_colname

     注:employee 数据库需要下载,用法是一样的

     ALTER TABLE employee ADD COLUMN Account_Number INT

     ALTER TABLE employee ADD INDEX (ID)

     ALTER TABLE employee ADD PRIMARY KEY (ID)

     ALTER TABLE employee ADD UNIQUE (ID)

     ALTER TABLE employee CHANGE ID salary INT

     ALTER TABLE employee DROP Customer_ID

     ALTER TABLE employee DROP PRIMARY KEY

     ALTER TABLE employee DROP INDEX Customer_ID

     ALTER TABLE employee MODIFY First_Name varchar(100)

     ALTER TABLE employee RENAME Customer

    下面是使用实例:

    1.alter操作表字段

    (1)增加字段

      alter table 表名 add 字段名 字段类型;

      alter table student add name varchar(10);

    (2)修改字段

       alter table 表名 change 旧字段名 新字段名 字段类型;

       alter table student change name name varchar(20)not null default 'liming';//修改字段类型

       alter table student change name name1 varchar(20)not null default 'liming';//修改字段名

    (3)删除字段

       alter table 表名 drop 字段名;

       alter table student drop name;

    2.alter 索引操作

     (1)增加索引

        alter table 表名 add index 索引名 (字段名1,字段名2.....);

        alter table student add index stu_name(name);

      (2)删除索引

         alter table 表名 drop index 索引名;

         alter table student drop index stu_name;

      (3)查看某个表的索引

         show index from 表名;

       (4)增加唯一限制条件的索引

         alter table 表名 add unique 索引名(字段名);

     3.主键操作

        增加主键:

       alter table 表名 add primary key(字段名);

    • 添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
    • 添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);

     //主键549830479 

       alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id); 
    //增加一个新列549830479 

       alter table t2 add d timestamp; 
    alter table infos add ex tinyint not null default '0'; 
    //删除列549830479 

       alter table t2 drop column c; 
    //重命名列549830479 

       alter table t1 change a b integer; 

    //改变列的类型549830479 

       alter table t1 change b b bigint not null; 
    alter table infos change list list tinyint not null default '0'; 

    //重命名表549830479 

       alter table t1 rename t2; 
    加索引549830479 

       mysql> alter table tablename change depno depno int(5) not null; 
    mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]); 
    mysql> alter table tablename add index emp_name (name); 
    加主关键字的索引549830479 

    mysql> alter table tablename add primary key(id); 
    加唯一限制条件的索引549830479 

      mysql> alter table tablename add unique emp_name2(cardnumber); 
    删除某个索引549830479 

       mysql>alter table tablename drop index emp_name; 
    修改表:549830479 

    增加字段:549830479 

       mysql> ALTER TABLE table_name ADD field_name field_type; 
    修改原字段名称及类型:549830479 

       mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type; 
    删除字段:549830479 

       mysql> ALTER TABLE table_name DROP field_name;

    删除主键: alter table Employees drop primary key;

  • 相关阅读:
    在Docker中安装JDK
    在Docker中安装Zookeeper以及集群环境搭建
    Druid连接池加密
    在Docker中安装Nginx
    Docker镜像、容器、仓库的介绍
    记一次 oracle 流复制 传播进程故障
    今天遭遇 cannot restore segment prot after reloc:Permission denied
    记一次由raid换盘引起的message记录
    今晚测试了下微信的摇一摇传图
    遭遇linux 异常掉电后 文件系统只读
  • 原文地址:https://www.cnblogs.com/yuqiandoudou/p/4657937.html
Copyright © 2020-2023  润新知