创建和管理表

-- ***************查询数据字典***********
-- 1.查看所有创建的表
SELECT table_name FROM user_tables;

--2.查看所有创建的对象
SELECT DISTINCT object_type FROM user_objects;

-- 3.查看用户自定义的表、视图、同义词、序列
SELECT * FROM user_catalog

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

-- 5.创建表
CREATE TABLE t_dept (
       ID NUMBER(6),
       NAME VARCHAR2(30),
       pwd VARCHAR2(30)
);

-- 6.查看表信息(使用command window执行)
DESCRIBE t_dept;
DESC t_dept;

-- 7.数据类型
VARCHAR2(size)    可变长字符数据
CHAR(size)      定长字符数据
NUMBER(p,s)      可变长数值数据
DATE     日期型数据
LONG     可变长字符数据,最大可达到2G(一个表自定创建一个该类型,不建议使用)
CLOB    字符数据,最大可达到4G
RAW (LONG RAW)     原始的二进制数据
BLOB    二进制数据,最大可达到4G
BFILE    存储外部文件的二进制数据,最大可达到4G
ROWID    行地址

-- 8.使用子查询创建表
create table emp1 as select * from employees;
--创建的emp2是空表。
create table emp2 as select * from employees where 1=2;
CREATE TABLE     dept80
  AS  SELECT  employee_id, last_name, salary*12 ANNSAL, hire_date    
      FROM    employees    
      WHERE   department_id = 80;
      
-- 9.修改表
-- 新增一个字段
ALTER TABLE dept80
ADD           (job_id VARCHAR2(9));

-- 修改一个字段
ALTER TABLE    dept80
MODIFY        (last_name VARCHAR2(30));

-- 对默认值的修改不会影响之前为null的字段
ALTER TABLE    dept80
MODIFY        (job_id number(9,2) default 1000);

-- 删除一个列
ALTER TABLE  dept80
DROP COLUMN  job_id;

-- 重命名一个列
ALTER TABLE  dept80
RENAME COLUMN  employee_id TO id;

-- 删除一个表,不能回滚
DROP TABLE dept80;

-- 清空表(不能回滚)
TRUNCATE TABLE emp1;

-- 清空表(可以回滚)
delete from emp2;
rollback;

-- 执行RENAME语句改变表, 视图, 序列, 或同义词的名称
RENAME emp1 TO emp11;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值