0
点赞
收藏
分享

微信扫一扫

oracle学习71-oracle之创建和管理表之练习题


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

举报

相关推荐

0 条评论