51. 利用子查询创建表 myemp, 该表中包含 employees 表的 employee_id(id), last_name(name), salary(sal), email 字段 1). 创建表的同时复制 employees 对应的记录 create table myemp as select employee_id id, last_name name, salary sal, email from employees 2). 创建表的同时不包含 employees 中的记录, 即创建一个空表 create table myemp as select employee_id id, last_name name, salary sal, email from employees where 1 = 2 52. 对现有的表进行修改操作 1). 添加一个新列 ALTER TABLE myemp ADD(age number(3)) 2). 修改现有列的类型 ALTER TABLE myemp MODIFY(name varchar2(30)); 3). 修改现有列的名字 ALTER TABLE myemp RENAME COLUMN sal TO salary; 4). 删除现有的列 ALTER TABLE myemp DROP COLUMN age; 53. 清空表(截断: truncate), 不能回滚!! 54. 1). 创建一个表, 该表和 employees 有相同的表结构, 但为空表: create table emp2 as select * from employees where 1 = 2; 2). 把 employees 表中 80 号部门的所有数据复制到 emp2 表中: insert into emp2 select * from employees where department_id = 80; /*************************************************************************************************/
测 试 1. 创建表dept1 name Null? type id Number(7) name Varchar2(25) create table dept1( id number(7), name varchar2(25) ) 2. 将表departments中的数据插入新表dept2中 a) create table dept2 b) as c) select * from departments 3. 创建表emp5 name Null? type id Number(7) First_name Varchar2(25) Last_name Varchar2(25) Dept_id Number(7) create table emp5( id number(7), first_name varchar2(25), last_name varchar2(25), dept_id number(7) ) 4. 将列Last_name的长度增加到50 a) alter table emp5 b) modify (last_name varchar2(50)) 5. 根据表employees创建employees2 a) create table employees2 b) as c) select * from employees 6. 删除表emp5 drop table emp5; 7. 将表employees2重命名为emp5 rename employees2 to emp5 8. 在表dept和emp5中添加新列test_column,并检查所作的操作 alter table dept add(test_column number(10)); desc dept; 9. 在表dept和emp5中将列test_column设置成不可用,之后删除 a) alter table emp5 b) set unused column test_column alter table emp5 drop unused columns 10. 直接删除表emp5中的列 dept_id Alter table emp5 drop column dept_id