×

MySQL修改表(ALTER TABLE语句)_mysql alter table

前端技术网 前端技术网 发表于2024-01-04 04:20:40 浏览651 评论0

抢沙发发表评论

一、SQL语言中的修改语句ALTER和UPDATE有何区别

一、功能上的区别

1、Alter:修改表结构

MySQL修改表(ALTER TABLE语句)_mysql alter table

例如:

增加表的字段

Alter table test Add(id,int).

2、UPdate:修改表数据

例如:

修改字段id列的值

MySQL修改表(ALTER TABLE语句)_mysql alter table

update test set id=2;

二、本质上的区别

1、Alter是数据定义语言(Data difinition Language),在修改表的结构时,不需要Commit和Rollback。

2、Update是数据数据操作语言(Data manipulation Language),在修改数据值时,需要Commit和Rollback,否则提交的结构无效。

扩展资料

Update用法:

Update是一个数据库SQL语法用语,用途是更新表中原有数据,单独使用时使用where匹配字段。

语法为:UPDATE表名称SET列名称=新值WHERE列名称=某值

例如:Update table_nameSetcolumn_name= new_valueWherecolumn_name= some_value

update使用注意事项:

1、sp_updatestats可以更新统计信息到最新。

2、低内存会导致未被客户端连接的查询计划被清除。

3、修改表结构,修改索引后,查询计划会被清除,可以再修改后运行几遍查询。

4、使用update时候,order by会影响查询速度,where中使用函数则会调用筛选器进行扫描,扫描表要尽量避免。

参考资料来源:百度百科-update

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

4.4

MySQL数据表的修改

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

4.4.1修改表名

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

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

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

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

三、mysql alter table修改表命令整理

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;

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

四、mysql中alter语句中change和modify的区别

区别:

1、CHANGE对列进行重命名或更改列的类型,需给定旧的列名称和新的列名称、当前的类型MODIFY可以改变列的类型,此时不需要重命名(不需给定新的列名称)

2、案例

以使用CHANGE old_col_namecolumn_definition子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。例如:要把一个INTEGER列的名称从a变更到b,需要如下操作:

· mysql> ALTER TABLE t1 CHANGE a b INTEGER;

如果想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。例如:

mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;

也可以使用MODIFY来改变列的类型,此时不需要重命名:

mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;

mysql alter语句用法,添加、修改、删除字段等

//主键549830479

alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment,add primary key(new_field_id);

//增加一个新列549830479

alter table t2 add d timestamp;

alter table infos add ex tinyint not null default'0';

//删除列549830479

alter table t2 drop column c;

//重命名列549830479

alter table t1 change a b integer;

//改变列的类型549830479

alter table t1 change b b bigint not null;

alter table infos change list list tinyint not null default'0';

//重命名表549830479

alter table t1 rename t2;

加索引549830479

mysql> alter table tablename change depno depno int(5) not null;

mysql> alter table tablename add index索引名(字段名1[,字段名2…]);

mysql> alter table tablename add index emp_name(name);

加主关键字的索引549830479

mysql> alter table tablename add primary key(id);

加唯一限制条件的索引549830479

mysql> alter table tablename add unique emp_name2(cardnumber);

删除某个索引549830479

mysql>alter table tablename drop index emp_name;

修改表:549830479

增加字段:549830479

mysql> ALTER TABLE table_name ADD field_name field_type;

修改原字段名称及类型:549830479

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

删除字段:549830479

mysql> ALTER TABLE table_name DROP field_name;

删除主键: alter table Employees drop primary key;

文章分享结束,MySQL修改表(ALTER TABLE语句)_mysql alter table和mysql alter table修改表命令整理的答案你都知道了吗?欢迎再次光临本站哦!