Oracle学习----创建和管理表
2012-09-04 23:08
369 查看
数据类型
字符型
char(<size>) 1..2000
varchar(<size>) 1..4000
varchar2(<size>) 1..4000
long 2G
数值型
number(<p>,<s>) 1..38
日期型
date
timestamp [with time zone]
二进制型
RAW(<N>) 1…2000
LONGRAW 2G
LOB类型
BLOB Binary Large Object 4G
CLOB Character Large Object 4G
BFILE Binary File 4G
使用DBMS_LOB包进行处理
CREATE TABLE语句
你必须拥有
— CREATE TABLE特权
—
存储空间
CREATE TABLE [schema.]table (column datatype [DEFAULT expr] [,…]);
你指定:
—
表名
—
列名,列数据类型和列的大小
命名规则
1)必须以字母开头
2)字符长度在1-30之间
3)只能包含A-Z,a-z,0-9,_,$和#
4)被同一个用户拥有的对象不能有重复的名字
5)不能是Oracle服务器保留字
创建表
CREATE TABLE dept (
deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13)
);
数据类型
DEFAULT选项
在一个插入操作之间为一列指定默认的值
…hire_date DATE DEFAULT SYSDATE,…
1)字符值,表达式或者SQL函数都是合法值
2)另外一列的名称或者伪列是非法值
3)默认的数据类型必须匹配列的数值类型
使用子查询语法创建一个表
综合CREATE TABLE语句和AS
subquery选项创建一个表并插入行
CREATE TABLE table [(column,column…)] AS subquery;
指定列的数字和子查询列的数量相匹配
使用列名和默认值定义列
使用子查询创建一个表
CREATE TABLE dept80
AS SELECT employee_id,last_name,salary*12 ANNSAL,hire_date
FROM employees
WHERE department_id = 80;
ALTER TABLE语句
使用ALTER TABLE语句用来
----增加新的一列
----修改已经存在的列
----为新列定义一个默认的值
----删除一列
ALTER TABLE语句
使用ALTER TABLE语句增加,修改或者删除行
ALTER TABLE table
ADD (column datatype [DEFAULT expr] [,column datatype]…);
ALTER TABLE table
NODIFY (column datatype [DEFAULT expr] [,column datatype]…);
ALTER TABLE table
DROP (column);
删除一张表
----表中的数据和结构会被删除
----任何未决的事务被提交
----所有的索引被删除
----你不能回滚DROPTABLE语句
DROP TABLE dept80;
改变对象的名字
要想改变表,视图,序列或者同义字的名称,你可以执行RENAME语句
RENAME dept TO detail_dept;
你必须是对象的拥有者
截断表
TRUNCATE TABLE语句
—
删除表中所有的行
—
释放被表占用的存储空间
TRUNCATE TABLE detail_dept;
你使用TRUNCATE时你不能回滚行删除
作为选择,你可以使用DELETE语句删除行
Oracle数据库中的表
用户表
—
由用户创建和维护的表的集合
—
包含用户信息
数据字典
—
由Oracle服务器创建和维护的表的集合
—
包含数据库信息
查询数据字典
查看用户拥有的表的名称
SELECT table_name FROM user_tables;
查看用户拥有的不同对象类型
SELECT DISTINCT object_type FROM user_objects;
查看用户拥有的表,视图,同义字和序列
SELECT * FROM user_catalog;
字符型
char(<size>) 1..2000
varchar(<size>) 1..4000
varchar2(<size>) 1..4000
long 2G
数值型
number(<p>,<s>) 1..38
日期型
date
timestamp [with time zone]
二进制型
RAW(<N>) 1…2000
LONGRAW 2G
LOB类型
BLOB Binary Large Object 4G
CLOB Character Large Object 4G
BFILE Binary File 4G
使用DBMS_LOB包进行处理
CREATE TABLE语句
你必须拥有
— CREATE TABLE特权
—
存储空间
CREATE TABLE [schema.]table (column datatype [DEFAULT expr] [,…]);
你指定:
—
表名
—
列名,列数据类型和列的大小
命名规则
1)必须以字母开头
2)字符长度在1-30之间
3)只能包含A-Z,a-z,0-9,_,$和#
4)被同一个用户拥有的对象不能有重复的名字
5)不能是Oracle服务器保留字
创建表
CREATE TABLE dept (
deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13)
);
数据类型
数据类型 | 描述 |
VARCHAR2(size) | 可变长度字符数据 1..4000 |
CHAR(size) | 固定长度字符数据 1..2000 |
NUMBER(p,s) | 可变长度数字数据 |
DATE | 日期和时间数值 |
LONG | 可变长度字符数据,最大到2GB |
CLOB | 字符数据,最大到4GB |
RAW and LONG RAW | 原始二进制数 |
BLOB | 二进制数,最大到4GB |
BFILE | 存储到外部文件中的二进制数;最大到4GB |
ROWID | 表示行在表中的唯一地址 |
在一个插入操作之间为一列指定默认的值
…hire_date DATE DEFAULT SYSDATE,…
1)字符值,表达式或者SQL函数都是合法值
2)另外一列的名称或者伪列是非法值
3)默认的数据类型必须匹配列的数值类型
使用子查询语法创建一个表
综合CREATE TABLE语句和AS
subquery选项创建一个表并插入行
CREATE TABLE table [(column,column…)] AS subquery;
指定列的数字和子查询列的数量相匹配
使用列名和默认值定义列
使用子查询创建一个表
CREATE TABLE dept80
AS SELECT employee_id,last_name,salary*12 ANNSAL,hire_date
FROM employees
WHERE department_id = 80;
ALTER TABLE语句
使用ALTER TABLE语句用来
----增加新的一列
----修改已经存在的列
----为新列定义一个默认的值
----删除一列
ALTER TABLE语句
使用ALTER TABLE语句增加,修改或者删除行
ALTER TABLE table
ADD (column datatype [DEFAULT expr] [,column datatype]…);
ALTER TABLE table
NODIFY (column datatype [DEFAULT expr] [,column datatype]…);
ALTER TABLE table
DROP (column);
删除一张表
----表中的数据和结构会被删除
----任何未决的事务被提交
----所有的索引被删除
----你不能回滚DROPTABLE语句
DROP TABLE dept80;
改变对象的名字
要想改变表,视图,序列或者同义字的名称,你可以执行RENAME语句
RENAME dept TO detail_dept;
你必须是对象的拥有者
截断表
TRUNCATE TABLE语句
—
删除表中所有的行
—
释放被表占用的存储空间
TRUNCATE TABLE detail_dept;
你使用TRUNCATE时你不能回滚行删除
作为选择,你可以使用DELETE语句删除行
Oracle数据库中的表
用户表
—
由用户创建和维护的表的集合
—
包含用户信息
数据字典
—
由Oracle服务器创建和维护的表的集合
—
包含数据库信息
查询数据字典
查看用户拥有的表的名称
SELECT table_name FROM user_tables;
查看用户拥有的不同对象类型
SELECT DISTINCT object_type FROM user_objects;
查看用户拥有的表,视图,同义字和序列
SELECT * FROM user_catalog;
相关文章推荐
- oracle 10g 学习之创建和管理表(7)
- 【Oracle学习】之 数据库对象的创建与管理
- oracle学习用户创建和权限管理
- Oracle学习(9):创建和管理表
- 全面学习ORACLE Scheduler特性(4)创建和管理Schedule
- 全面学习ORACLE Scheduler特性(4)创建和管理Schedule
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
- 【oracle学习】5.创建和管理表
- Oracle 11g 学习六:表的创建及管理
- oracle 学习笔记 - 创建和管理表
- 全面学习ORACLE Scheduler特性(4)创建和管理Schedule
- 全面学习ORACLE Scheduler特性(4)创建和管理Schedule
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
- Oracle学习(九):创建和管理表
- Oracle管理与维护.手工创建数据库以及脚本
- 学习和管理oracle角色
- Oracle学习(十六)之建表和审计以及权限管理
- SQL Server与Oracle对比学习:权限管理(二)
- Oracle学习(八)之基于OFM机制的日志组管理
- Oracle中管理用户(创建用户,用户加锁,用户解锁,修改用户密码,授权登录权限,撤销登录权限,授权连接权限,conn命令,创建角色,并为角色赋权限,将角色赋给指定用户)