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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章