MySQL数据表的修改:修改表名

MySQL数据表的修改:修改表名,第1张

4.4

MySQL数据表的修改

在MySQL中,允许对创建好的数据表进行修改,修改时可以有以下几种形式:修改表名、修改字段名、修改字段类型、修改字段排列位置、添加字段、删除字段、添加字段约束、删除约束等,它们一般都是使用“Alter table表名”命令,但后跟的具体参数不同,下面分别介绍其语句格式。

4.4.1修改表名

语句格式一:Alter table表名RENAME [TO] 新表名

语句格式二:RENAME TABLE 表名 TO 新表名

在上面语句格式中,“表名”为要更名的表,“新表名”为要更改成的表名,格式一中参数“TO”可以省略。

下面截图中的“ALTER TABLE”语句将dept更名为t_dept。

一、修改表

二、复制表

三、表字段的数据类型

存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的。

mysql常用数据类型有:

数值类型

1、整数类型

TINYINT SMALLINT MEDIUMINT INT BIGINT

作用:存储年龄,等级,id,各种号码等

注意:为该类型指定宽度时,仅仅只是指定查询结果的显示宽度,与存储范围无关,存储范围如下

其实我们完全没必要为整数类型指定显示宽度,使用默认的就可以了

默认的显示宽度,都是在最大值的基础上加1

2、浮点型

定点数类型 DEC等同于DECIMAL

浮点类型:FLOAT DOUBLE

作用:存储薪资、身高、体重、体质参数等

3、日期类型

DATE TIME DATETIME TIMESTAMP YEAR

作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等

datatime与timestamp的区别

4、字符串类型

总结:

单从数据类型的实现机制去考虑,char数据类型的处理速度更快,有时甚至可以超出varchar处理速度的50%。

但对于InnoDB数据表,内部的行存储格式没有区分固定长度和可变长度列(所有数据行都使用指向数据列值的头指针),因此在本质上,使用固定长度的CHAR列不一定比使用可变长度VARCHAR列性能要好。因而,主要的性能因素是数据行使用的存储总量。由于CHAR平均占用的空间多于VARCHAR,因此使用VARCHAR来最小化需要处理的数据行的存储总量和磁盘I/O是比较好的。

5、枚举类型和集合类型

字段的值只能在给定范围中选择,如单选框,多选框

enum 单选 只能在给定的范围内选一个值,如性别 sex 男male/女female

set 多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...)

MYSQL

ALTER

TABLE命令用于修改表结构,例如添加/修改/删除字段、索引、主键等等,本文章通过实例向大家介绍MYSQL

ALTER

TABLE语句的使用方法,

MySQL

ALTER语法如下:

ALTER

[IGNORE]

TABLE

tbl_name

alter_spec

[,

alter_spec

...]

alter_specification:

ADD

[COLUMN]

create_definition

[FIRST

|

AFTER

column_name

]

or

ADD

INDEX

[index_name]

(index_col_name,...)

or

ADD

PRIMARY

KEY

(index_col_name,...)

or

ADD

UNIQUE

[index_name]

(index_col_name,...)

or

ALTER

[COLUMN]

col_name

{SET

DEFAULT

literal

|

DROP

DEFAULT}

or

CHANGE

[COLUMN]

old_col_name

create_definition

or

MODIFY

[COLUMN]

create_definition

or

DROP

[COLUMN]

col_name

or

DROP

PRIMARY

KEY

or

DROP

INDEX

index_name

or

RENAME

[AS]

new_tbl_name

or

table_options

下面来看几个实例:

1、向表employee中添加Account_Number字段并设置其字段类型为INT

ALTER

TABLE

employee

ADD

COLUMN

Account_Number

INT

2、修改表employee中的ID字段为索引

ALTER

TABLE

employee

ADD

INDEX

(ID)

3、修改表employee中的ID字段为主键PRIMARY

KEY

ALTER

TABLE

employee

ADD

PRIMARY

KEY

(ID)

4、修改表employee中的ID字段为唯一索引UNIQUE

ALTER

TABLE

employee

ADD

UNIQUE

(ID)

5、将employee表中的id字段重命名为salary并设置其数据类型为int

ALTER

TABLE

employee

CHANGE

ID

salary

INT

6、删除employee表中的Customer_ID字段

ALTER

TABLE

employee

DROP

Customer_ID

7、删除employee表中所有主键

ALTER

TABLE

employee

DROP

PRIMARY

KEY

8、删除employee表中字段Customer_ID的索引,只是将Customer_ID的索引取消,不会删除Customer_ID字段。

ALTER

TABLE

employee

DROP

INDEX

Customer_ID

9、修改employee表中First_Name的字段类型为varchar(100)

ALTER

TABLE

employee

MODIFY

First_Name

varchar(100)

10、将表employee重命名为Customer

ALTER

TABLE

employee

RENAME

Customer

11、多命令写在一起:

mysql>

ALTER

TABLE

Books

->

ADD

PRIMARY

KEY

(BookID),

->

ADD

CONSTRAINT

fk_1

FOREIGN

KEY

(PubID)

REFERENCES

Publishers

(PubID),

->

ADD

COLUMN

Format

ENUM('paperback',

'hardcover')

NOT

NULL

AFTER

BookName

感谢阅读此文,希望能帮助到大家,谢谢大家对本站的支持!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7314070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存