MYSQL ALTER命令

当需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。

修改表名

 语法格式:ALTER TABLE  old_table_name   RENAME TO  new_table_name

查看表结构

                  SHOW  COLUMNS   FROM   table_name

查看数据表类型

                  SHOW  TABLE  STATUS  LIKE 'table_name'

   修改数据表类型  语法:ALTER TABLE testalter_tbl ENGINE = 新的数据类型;   

如果一个系统有很多数据库,在找某张表的时候可以使用如下sql:

SELECT table_schema FROM information_schema.TABLES WHERE table_name = '表名';

查看表的建表语句

语法格式:SHOW  CREATE  TABLE   table_name

删除,添加或修改表字段

1.删除

语法格式:ALTER TABLE  table_name  DROP  i

                  i:为字段名

                  如果数据表中只剩余一个字段则无法使用DROP来删除字段。

2.添加

语法格式:ALTER  TABLE  table_name  ADD  i  int  [ FIRST |  AFTER column ]

                  添加使用add,后面紧跟你要添加的字段及字段类型。

                  [ FIRST |  AFTER column ]:为可选参数。

                  FIRST:添加至表的第一列。

                  AFTER column:添加至某个字段column的后面。

修改字段类型及名称

语法格式:1    ALTER  TABLE  table_name  MODIFY   字段名称   字段数据类型

                  2    ALTER  TABLE table_name   CHANGE  旧字段名称    新字段名称   新字段数据类型

                  方法1:只修改字段的数据类型。方法2:可以修改字段名称和数据类型。

ALTER  TABLE 对 NULL 值和默认值的影响

语法格式:ALTER  TABLE  table_name  MODIFY  字段名称  字段类型   是否为NULL  默认值

                示例:alter  table  test  modify  c  varchar(10)  not null default 100

                MYSQL设置字段时,不设置默认值,MYSQL会自动设置该字段默认为 NULL。

修改和删除字段的默认值

1.修改

语法格式:ALTER  TABLE  table_name   ALTER   字段名称  SET   DEFAULT  数值

2.删除

语法格式:ALTER  TABLE  table_name   ALTER  字段名称   DROP   DEFAULT

添加,删除表中的主键或者外键

Mysql的两种主键。Primary key 和not null auto_incriment在建立mysql表时,给一个字段添加了主键primary key 在insert数据时可以不用insert主键,mysql会自动添加0,但是在第二次insert时没有填写值mysql数据库还是默认添加0,会导致 有重复的主键,这是不可以的。所有在定义了primary key时,在insert数据时要给主键填写值。

添加主键

语法格式:1   ALTER  TABLE  table_name  ADD  PRIMARY  KEY( id )

                  2   ALTER  TABLE  table_name  MODIFY   id  int(10)  NOT  NULL AUTO_INCREMENT

删除主键:

语法格式: 1   ALTER  TABLE  table_name  CHANGE   id   id  int(10)  //先删除自增长

                   2   ALTER  TABLE  table_name  DROP  PRIMARY  KEY   //删除主键

添加外键

语法格式:

ALTER  TABLE  表1   ADD  CONSTRAINT 外键名  FOREIGN  KEY(表1中得到字段名)   REFERENCES 表2(表2中的字段名) 

删除外键

语法格式:ALTER  TABLE  table_name  DROP   FOREIGN    KEY 外键名称

添加和删除索引

查看索引

语法格式:SHOW  INDEX  FROM  table_name

添加索引

        1.唯一索引 unique

         语法格式: ALTER  TABLE  table_name  ADD  UNIQUE (  字段名称  )  

        2.普通索引

         语法格式:ALTER  TABLE  test  ADD  INDEX  索引名称 ( 字段名称 )   

       3.全文索引

语法格式:ALTER  TABLE  table_name  ADD  FULLTEXT  (  字段名称  )

                 备注:如果是InnoDB,改为MyISAM,InnoDB不支持FULLTEXT类型的索引

                           InnoDB会报错: [Err] 1214 - The used table type doesn't support FULLTEXT indexes

 

  

 

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值