欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL学习11:修改数据表(一)

程序员文章站 2022-06-14 17:05:21
...

修改数据表包括添加列、删除列、添加约束、删除约束,修改列定义和修改数据表名称,后面的两个我们使用时 一定要谨慎,尽量不使用。 下面就来一个一个单独介绍怎么修改数据表: 一添加数据表中的列 (1)添加单列 MySQL数据库的数据表中添加单列的语法式为: A

修改数据表包括添加列、删除列、添加约束、删除约束,修改列定义和修改数据表名称,后面的两个我们使用时

一定要谨慎,尽量不使用。

下面就来一个一个单独介绍怎么修改数据表:

一添加数据表中的列

(1)添加单列

MySQL数据库的数据表中添加单列的语法格式为:

ALTER TABLE table_name ADD [COLUMN] col_name columns_definition [FIRST | AFTER col_name];

例子:

SHOW COLUMNS FROM users1;

ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;

SHOW COLUMNS FROM users1;

MySQL学习11:修改数据表(一)

再来增加一个password字段并把这列放在username字段的后面:

ALTER TABLE users1 ADD password VARCHAR(32) NOT NULL AFTER username;

SHOW COLUMNS FROM users1;

MySQL学习11:修改数据表(一)

增加一个truename字段并把这列放在第一列的位置(也就是放在所有字段的前面):

ALTER TABLE users1 ADD truename VARCHAR(20) NOT NULL FIRST;

SHOW COLUMNS FROM users1;

MySQL学习11:修改数据表(一)

(2)添加多列

MySQL数据库的数据表中添加多列的语法格式为:

ALTER TABLE table_name ADD [COLUMN] (col_name columns_definition,...);

例子:这里我们只是添加两列

ALTER TABLE users1 ADD (password VARCHAR(32) NOT NULL AFTER username,age TINYINT UNSIGNED

NOT NULL DEFAULT 10);

DESC users1;

MySQL学习11:修改数据表(一)

和添加单列不同的是添加多列只能在所有列的后面添加多列。

二删除数据表中的列

(1)删除单列

MySQL数据库中的数据表删除单列的语法格式:

ALTER TABLE table_name DROP [COLUMN] col_name;

例子;

ALTER TABLE users1 DROP truename;

SHOW COLUMNS FROM users1;

MySQL学习11:修改数据表(一)

(2)删除多列

MySQL数据库的数据表中删除多列的语法格式:

ALTER TABLE table_name DROP [COLUMN] col_name1,DROP [COLUMN] col_name2,...;

例子:这里只是删除两列

ALTER TABLE users1 DROP password,DROP age;

SHOW COLUMNS FROM users1;

MySQL学习11:修改数据表(一)

三添加约束

(1)添加主键约束

MySQL数据库的数据表中添加主键约束的语法格式为:

ALTER TABLE table_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...);

先来创建一张数据表users2:

CREATE TABLE users2(

username VARCHAR(10) NOT NULL,

pid SMALLINT UNSIGNED

);

SHOW CREATE TABLE users2;

MySQL学习11:修改数据表(一)

上述表明数据表中并没有主键约束。

添加主键约束的例子:

1)首先添加一个要做为主键的列:

ALTER TABLE users2 ADD id SMALLINT UNSIGNED;

SHOW COLUMNS FROM users2;

MySQL学习11:修改数据表(一)
2)在要做为主键的列添加主键约束: ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id);

SHOW COLUMNS FROM users2;

MySQL学习11:修改数据表(一)

上面的例子中我们也可以不加关键字CONSTRAINT,加上它我们就可以为这个主键约束起一个名字,我们所起

的主键名称为PK_users2_id,为了以后方便操作主键,我们最好给主键起个名字。

(2)添加唯一约束

MySQL数据库中的数据表添加唯一约束的语法格式:

ALTER TABLE table_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX| KEY] [index_name] [index_type]

(index_col_name,...);

例子:

ALTER TABLE users2 ADD UNIQUE (username);

SHOW COLUMNS FROM users2;

MySQL学习11:修改数据表(一)