04-创建和管理表

数据库对象:
  表 :基本的数据存储集合,行+列
  视图:相关的数据集合
  序列:提供有规律的数值
  索引:提高查询效率
  同义词:给对象起别名

数据类型: 

命名规则:
  表名和列名:  
    •必须以字母开头
    •必须在 1–30 个字符之间
    •必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
    •必须不能和用户定义的其他对象重名
    •必须不能是Oracle 的保留字

 1 --DDL 数据定义语言
 2 --查询用户定义的表
 3 select * from user_tables;
 4 
 5 --查看用户定义的各种数据库对象
 6 select distinct object_type
 7 from user_objects;
 8 
 9 --查看用户定义的表、视图、同义词和序列
10 select * from user_catalog;
11 
12 --使用子查询创建表举例
13 CREATE TABLE     dept80
14   AS  SELECT  employee_id, last_name, 
15               salary*12 ANNSAL, 
16               hire_date  
17       FROM    employees
18       WHERE   department_id = 80;
19       
20 
21 --追加一个新列
22 ALTER TABLE dept80
23       ADD        (job_id VARCHAR2(9));
24 
25 --修改一个列(可修改列的数据类型, 尺寸和默认值)
26 ALTER TABLE    dept80
27 MODIFY        (last_name VARCHAR2(30));
28 
29 ALTER TABLE    dept80
30 MODIFY        (salary number(9,2) default 1000);
31 
32 --删除一个列
33 ALTER TABLE  dept80
34 DROP COLUMN  job_id; 
35 
36 --重命名一个列
37 ALTER TABLE  dept80
38 RENAME COLUMN  job_id TO id; 
39 
40 --删除表
41 --数据和结构都被删除
42 --所有正在运行的相关事务被提交
43 --所有相关索引被删除
44 --DROP TABLE 语句不能回滚
45 DROP TABLE dept80;
46 
47 --清空表(TRUNCATE TABLE 语句)
48 --删除表中所有的数据
49 --释放表的存储空间
50 --TRUNCATE语句不能回滚
51 --可以使用 DELETE 语句删除数据,可以回滚
52 TRUNCATE TABLE detail_dept;
53 
54 --改变对象的名称
55 --执行RENAME语句改变表, 视图, 序列, 或同义词的名称
56 RENAME jobss To jobs ;

eg:

 1 --创建表dept1
 2 --name    Null?    type
 3 --id        Number(7)
 4 --name        Varchar2(25)
 5 create table dept1(
 6 id number(7),
 7 name varchar2(25)
 8 );
 9 
10 --将表departments中的数据插入新表dept2中
11 create table dept2
12 as
13 select * from departments
14 
15 --创建表emp5
16 --name         Null?       type
17 --id                       Number(7)
18 --First_name               Varchar2(25)
19 --Last_name                 Varchar2(25)
20 --Dept_id                   Number(7)
21 create table emp5(
22 id number(7),
23 first_name varchar2(25),
24 last_name varchar2(25),
25 dept_id number(7)
26 )
27 
28 --将列Last_name的长度增加到50
29 alter table emp5
30 modify (last_name varchar2(50))
31 
32 --根据表employees创建employees2
33 create table employees2
34 as
35 select * from employees
36 
37 --删除表emp5
38 drop table emp5;
39 
40 --将表employees2重命名为emp5
41 rename employees2 to emp5
42 
43 --在表dept和emp5中添加新列test_column,并检查所作的操作
44 alter table dept
45 add(test_column number(10));
46 desc dept;
47 
48 --在表dept和emp5中将列test_column设置成不可用,之后删除
49 alter table emp5
50 set unused column test_column
51 
52 alter table emp5
53 drop unused columns
54 
55 --直接删除表emp5中的列 dept_id
56 Alter table emp5
57 drop column dept_id
原文地址:https://www.cnblogs.com/shici/p/13414339.html