altertable,altertable语句可以修改表中各列的先后顺序
使用alter table修改表时,如果要修改表的名称,可以使用哪一子句
修改表名不是用alter table,是用rename;
SQL select table_name from user_tables;
TABLE_NAME
------------------------------------------------------------
RUN_2
RUN_1
RUN_3
SQL rename run_2 to run_4;
Table renamed.
SQL select table_name from user_tables;
TABLE_NAME
------------------------------------------------------------
RUN_1
RUN_3
RUN_4
SQL
mysql数据库在已存在表格上增删列,能否用alter table语句实现?
ALTER TABLE:添加,修改,删除表的列,约束等表的定义。
查看列:desc 表名;
修改表名:alter table t_book rename to bbb;
添加列:alter table 表名 add column 列名 varchar(30);
删除列:alter table 表名 drop column 列名;
修改列名MySQL: alter table bbb change nnnnn hh int;
修改列名SQLServer:exec sp_rename't_student.name','nn','column';
修改列名Oracle:lter table bbb rename column nnnnn to hh int;
修改列属性:alter table t_book modify name varchar(22);
sp_rename:SQLServer 内置的存储过程,用与修改表的定义。
请点击输入图片描述
删除语句:delete from fatie where id not in(select t.id1 from ( (select max(a.id) id1 from fatie a group by a.name)as t));留下的是各组id号最大的,如果留的是最小的话换成min(a.id)就行了
如果没有加上一个中间表t,即这句话 select t.id from去掉直接写成delete from fatie where id not in(select max(id) a.id1 from fatie a group by a.name);mysql会提示错误:You can't specify target table 'fatie' for update in FROM clause (不能先select出同一表中的某些值,再update这个表(在同一语句中)。
如何使用 alter table 语句一次往一个表里添加多个字段
oracle给表添加多个字段用如下语法: alter table test add (col1 type(length) ,col2 type(length),...);如test表结构如下: 要为此表添加两个字段,语句如下: alter table test add (a number(1) ,b varchar2(2));执行后,表变为: