zoukankan      html  css  js  c++  java
  • Mysql 更改表结构--增加,修改,删除

    Mysql 更改表结构--增加,修改,删除

    添加列:

    alter table tablename add column datatype [primary key/default/not null/...] after 'columnX'   //在colunmX列后增加字段

            例:在student表中添加一个年级(grade)字段,类型为varchar,不能为null,在age字段后面

                    alter table student add grade varchar(2) not null after age;

                    添加后,表结构如下所示:

                   


    删除列:

    alter table tablename drop column;

              例:将student表中的grade列删除

               alter table student drop grade;

               修改后,表结构如下:

              

    修改列--重命名列 / 更改列的数据类型:

     alter table 表名 change 原列名 新列名 数据类型 [primary key/default/not null/...];(change 既能重命名列,也可以更改列的数据类型)

     alter table 表名 modify 列名 数据类型

               更改列名

                   例:将gender更名为sex

                           alter table student change gender sex varchar(10);

                           修改后,表结构如下:

                         

                 更改列数据类型

                 例:将grade列数据类型更改为int型

                   alter table student change gender gender int(2);

                   修改后,表结构如下:

                       
                 例:将grade列数据类型更改为varchar型

                  alter table student modify grade varchar(2);

                      

    修改表名:

    alter table 表名 rename to 新表名;

                    例:将student表名更改为students

                    alter table student rename to students;

                    修改表后,表结构如下:

                   


    添加约束:

                      mysql常用五类约束类型:

                                 not null:非空约束,指定某列不为空
                                 unique: 唯一约束,指定某列和几列组合的数据不能重复
                                 primary key:主键约束,指定某列的数据不能重复、唯一
                                 foreign key:外键,指定该列记录属于主表中的一条记录,参照另一条数据
                                 check:检查,指定一个表达式,用于检验指定数据
                      注意: MySQL不支持check约束,但可以使用check约束,而没有任何效果;  

    alter table 表名 add  [constraint 约束名] 约束类型(column1,[column2,column3,...]);

                      例:给student表添加主键name;

                      alter table student add primary key(name);

                    


    删除约束:

    alter table 表名 drop 约束;

                   例:  删除student表的主键约束

                    alter table student add primary key;

                    修改表后,表结构如下:

                   

                    注:

                         1. 删除唯一性约束,语法必须如下:

                          alter table 表名 drop  index 约束名;

                          若不加index,无法删除唯一性约束。

                          例:给students表的name列添加唯一性约束,然后删除。

                         alter table students add constraint unique_name UNIQUE(name);

                        

                         alter table students drop unique_name;(报错,无法删除唯一性约束)

                        
                         alter table students drop index unique_name;(正确)

                        
                        修改后,表结构如下:

                       
                      
                       2.删除主键约束:

                           删除主键约束时,无法使用约束名来删除主键约束。

                          例:对students表name列增加主键约束,然后删除

                           alter table students add constraint primary_key_name primary key(name);

                          
                           删除主键:

                           alter table students drop primary_key_name;(错误,无法删除)

                          
                           alter table students drop primary key;(删除成功)

  • 相关阅读:
    目前阻碍大数据成功的常见问题有哪些
    YII2 的授权(Authorization)
    CCBPM工作流引擎的消息机制与设计
    日志框架实现实时改动,实时生效,详细框架思路(2)
    manacher hihoCoder1032 最长回文子串
    C#.NEt-GDI+中的Pen測试
    Unity3D游戏开发最佳实践20技巧(一)
    Android init.rc文件浅析
    OBIEE开发手冊
    Android Jni层 创建 linux socket 出错问题解决
  • 原文地址:https://www.cnblogs.com/xxd-qyr/p/10399627.html
Copyright © 2011-2022 走看看