mysql语句大全 新浪博客_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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值