mysql主键可以修改吗(mysql修改主键字段)

mysql主键可以修改吗(mysql修改主键字段)语法如下 ALTER TABLE 表名 RENAME TO 新表名 注意 修改表名还可以执行命令 RENAME TABLE 表名 TO 新表名 例 将 mybatis 数据库中 Register 名改为 bbs Register 代码如下 或 语法如下 ALTER TABLE 表名 ADD

大家好,我是讯享网,很高兴认识大家。



语法如下:

ALTER TABLE 表名

RENAME TO 新表名

注意:修改表名还可以执行命令:RENAME TABLE 表名 TO 新表名;

例:将mybatis数据库中Register名改为bbs_Register。

代码如下:

 
  
讯享网

讯享网

语法如下:

ALTER TABLE 表名

ADD [COLUMN] 字段名 数据类型 [列级约束] [FIRST|AFTER 字段名]

注意:ADD指向表中添加字段。

字段添加包括三部分:字段名、数据类型和约束,语法和字段定义相同。

(字段定义可查看——MYSQL数据库表的创建(定义字段))

FIRST——将新字段添加到第一列。

AFTER——将新字段添加到指定字段之后。

例:在数据库mybatis的Register中添加自增字段RId,数据类型为整型,取值不重复,并添加到第一列。代码如下:

 

语法如下:

ALTER TABLE 表名

DROP [COLUMN] 字段名 

例:删除在数据库mybatis的Register的字段RId。

代码如下:

讯享网

1)修改字段名和数据类型属于表结构的修改,语法如下   :

ALTER TABLE 表名

CHANGE [COLUMN] 原字段名 新字段名 新数据类型

注意:关键词CHANGE用于同时修改字段名和数据类型,也可以用来单独修改字段名或者单独修改数据类型。

2)只修改字段名时,字段类型不变,为原来的数据类型,语法如下:

 CHANGE [COLUMN] 原字段名 新字段名 原数据类型

3)只修改数据类型时,字段名不变,语法如下 :

 CHANGE [COLUMN] 原字段名 原字段名 新数据类型

4)修改字段的数据类型除了CHANGE 关键词可以实现,MODIFY关键字也可以实现,语法如下:

ALTER TABLE 表名

MODIFY [COLUMN] 字段名  新数据类型

注意:MODIFY 关键字仅对字段的数据类型进行修改。

1)表中各列位置是可以调整的,修改字段的排列位置属于表结构的修改,语法如下:

ALTER TABLE 表名

CHANGE [COLUMN] 字段名1 字段名1  数据类型 FIRST|AFTER 字段名2

注意:两个字段名1表示不修改原字段名。

FIRST——表示将字段名1对应的字段调整到第一列。

AFTER——字段名2表示将原字段名1对应的字段移动到字段名2对应字段之后。

2)修改字段的排列位置也可以用modify语法如下:

ALTER TABLE 表名

MODIFY [COLUMN] 字段名1   数据类型 FIRST|AFTER 字段名2

例:将mybatis数据库中user表的Score字段放在RDate字段之后。

代码如下:

 

1)删除主码约束

语法如下:

ALTER TABLE 表名

DROP PRIMARY KEY;

例:删除mybatis数据库Register(注册表)中的主码约束。

代码如下:

讯享网

2)删除外码约束

(外码一旦删除,就会解除父表和子表间的父子关系)

语法如下:

ALTER TABLE 表名 DROP FOREIGN KEY 外码约束名;

例:删除mybatis数据库Register(注册表)中的两个外码约束。

代码如下:

 

3)删除唯一约束

语法如下:

ALTER TABLE 表名

DRO INDEX 唯一约束名;

例:删除mybatis数据库Department(系部表)中的唯一性约束。

代码如下:

讯享网

Department(系部表)中唯一性约束的名称是系统分配的,而删除唯一性约束需要指定约束名。

查看表中约束名方式:

1.使用MYSQL命令:

SHOW CREATE TABLEDepartment;


讯享网

2.使用SQL语句:

SELECT constraint_name , constraint_type

FROM information_schema.table_constraints

WHERE table_schema='mybatis' AND table_Name ='Department';

4)删除默认值约束

语法如下:

ALTER TABLE 表名

CHANGE [COLUMN] 原字段名 原字段名  原数据类型 DEFAULT NULL;

或(使用modify语法

ALTER TABLE 表名

MODIFY [COLUMN] 字段名   数据类型 DEFAULT NULL;

例:删除mybatis数据库Course(课程表)中,CLimit(限选人数)字段的默认值约束。

代码如下:

 

5)删除非空约束

语法如下:

ALTER TABLE 表名

CHANGE [COLUMN] 原字段名 原字段名  原数据类型 NULL;

ALTER TABLE 表名

MODIFY [COLUMN] 字段名   数据类型  NULL;

例:删除mybatis数据库Course(课程表)中,CName(课程名)字段的非空约束。

代码如下:

讯享网

1)添加主键约束

语法如下:

ALTER TABLE 表名

ADD PRIMARY KEY(列名);

例:添加mybatis数据库Register(注册表)中的主码约束。

代码如下:

 

2)添加外码约束

语法如下:

ALTER TABLE 表名 

ADD [CONSTRAINT 约束名] FOREIGN KEY (字段名) REFERENCES 父表 (主码字段名)

例:修改mybatis数据库Register(注册表),将字段SId设置为外码,与数据表Student的主键SId进行关联,同时字段CId设置为外码,与数据表Course的主键CId进行关联。

代码如下:

讯享网

3)添加唯一约束

语法如下:

ALTER TABLE 表名 

ADD [CONSTRAINT 约束名] UNIQUE(列名);

例:删除mybatis数据库Department(系部表),指定部门名唯一。

代码如下:

 

4)添加默认值约束

语法如下:

ALTER TABLE 表名 

CHANGE [COLUMN] 原字段名 原字段名  原数据类型 DEFAULT 默认值;

或(使用modify语法

ALTER TABLE 表名

MODIFY [COLUMN] 字段名   数据类型 DEFAULT 默认值;

5)添加非空约束

语法如下:

ALTER TABLE 表名 

CHANGE [COLUMN] 原字段名 原字段名  原数据类型 NOT NULL;

或(使用modify语法

ALTER TABLE 表名

MODIFY [COLUMN] 字段名   数据类型  NOT NULL;

语法如下:

ALTER TABLE 表名

ENGINE=新的存储引擎类型

语法如下:

ALTER TABLE 表名

DEFAULT CHARSET=新的字符集

语法如下:

ALTER TABLE 表名

PACK_KEYS=新的压缩类型

ALTER TABLE 表名

AUTO_INCREMFNT=新的初始值


小讯
上一篇 2025-05-04 07:30
下一篇 2025-06-02 10:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/140674.html