-- ***************查询数据字典***********
-- 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;
创建和管理表
最新推荐文章于 2021-11-27 21:30:00 发布