一、SQL语言中的修改语句ALTER和UPDATE有何区别
一、功能上的区别
1、Alter:修改表结构
例如:
增加表的字段
Alter table test Add(id,int).
2、UPdate:修改表数据
例如:
修改字段id列的值
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修改表命令整理的答案你都知道了吗?欢迎再次光临本站哦!