欢迎投稿

今日深度:

ORACLE_创建和管理表,oracle创建

ORACLE_创建和管理表,oracle创建




ORACLE_创建和管理表

①常见的数据库对象
表:基本的数据存储集合,由行和列组成。
视图:从表中抽出的逻辑上相关的数据集合。
序列:提供有规律的数值。
索引:提高查询的效率
同义词:给对象起别名

②Oracle 数据库中的表
1.用户定义的表:
用户自己创建并维护的一组表,包含了用户所需的信息
如:SELECT * FROM user_tables;查看用户创建的表
2.数据字典:
由 Oracle Server 自动创建的一组表
包含数据库信息

③查询数据字典
查看用户定义的表.
SELECT table_name FROM user_tables ;
查看用户定义的各种数据库对象
SELECT DISTINCT object_type FROM user_objects ;
查看用户定义的表, 视图, 同义词和序列
SELECT * FROM user_catalog

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

⑤CREATE TABLE 语句
必须具备:
1.CREATE TABLE权限
2.存储空间
CREATE TABLE [schema.]table
     (column datatype [DEFAULT expr][, ...]);

3.必须指定:
    表名
    列名, 数据类型, 尺寸

4.数据类型:描述
VARCHAR2(size):可变长字符数据
CHAR(size):定长字符数据
NUMBER(p,s):可变长数值数据
DATE:日期型数据
LONG:可变长字符数据,最大可达到2G
CLOB:字符数据,最大可达到4G
RAW (LONG RAW):原始的二进制数据
BLOB:二进制数据,最大可达到4G
BFILE:存储外部文件的二进制数据,最大可达到4G
ROWID:行地址

5.使用子查询创建表
使用 AS subquery 选项,将创建表和插入数据结合起来
CREATE TABLE table
     [(column, column...)]
AS subquery;
指定的列和子查询中的列要一一对应
通过列名和默认值定义列

注:原来表中的数据会插入到新创建的表中,若不需要数据,添加一个FALSE条件即可

⑥ALTER TABLE 语句
1.使用 ALTER TABLE 语句追加, 修改, 或删除列的语法
追加列
ALTER TABLE table
ADD     (column datatype [DEFAULT expr]
     [, column datatype]...);

修改列
ALTER TABLE table
MODIFY    (column datatype [DEFAULT expr]
     [, column datatype]...);

注:如果列中有数据是不能修改类型的,默认值只对后添加的数据有效

删除列
ALTER TABLE table
DROP COLUMN  column_name;

重命名列
ALTER TABLE table_name
RENAME COLUMM old_column_name TO new_column_name

设置列不可用
ALTER TABLE table_name
set unused COLUMM column_name

⑦删除表
数据和结构都被删除
所有正在运行的相关事务被提交
所有相关索引被删除
DROP TABLE 语句不能回滚

DROP TABLE table_name;

⑧清空表
TRUNCATE TABLE 语句:
删除表中所有的数据
释放表的存储空间
TRUNCATE语句不能回滚
可以使用 DELETE 语句删除数据,可以回滚

TRUNCATE TABLE table_name;

⑨改变对象的名称
执行RENAME语句改变表, 视图, 序列, 或同义词的名称
必须是对象的拥有者

RENAME old_object_name TO new_object_name;

注:以上DDL语言都不能回滚,执行完就默认提交


怎在Oracle中建立表与表空间?

1.建表空间ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额.  因此,在创建对象之前,首先要分配存储空间.
  分配存储,就要创建表空间:
  创建表空间示例如下:
CREATE TABLESPACE "SAMPLE"LOGGINGDATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO上面的语句分以下几部分:第一: CREATE TABLESPACE "SAMPLE" 创建一个名为"SAMPLE"的表空间.
对表空间的命名,遵守Oracle的命名规范就可了.
ORACLE可以创建的表空间有三种类型:
(1)TEMPORARY:临时表空间,用于临时数据的存放;
创建临时表空间的语法如下:
CREATE TEMPORARY TABLESPACE "SAMPLE"......
(2)UNDO :还原表空间.用于存入重做日志文件.
创建还原表空间的语法如下:
CREATE UNDO TABLESPACE "SAMPLE"......
(3)用户表空间:最重要,也是用于存放用户数据表空间
可以直接写成: CREATE TABLESPACE "SAMPLE"
TEMPORARY和UNDO表空间是ORACLE管理的特殊的表空间.只用于存放系统相关数据.
第二: LOGGING
有NOLOGGING和LOGGING两个选项,
NOLOGGING:创建表空间时,不创建重做日志.
LOGGING和NOLOGGING正好相反,就是在创建表空间时生成重做日志.
用NOLOGGING时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复,但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的,所以通常不需要表空间的创建日志,因此,在创建表空间时,选择NOLOGGING,以加快表空间的创建速度.第三: DATAFILE用于指定数据文件的具体位置和大小.
如: DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M
说明文件的存放位置是'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' ,文件的大小为5M.
如果有多个文件,可以用逗号隔开:
DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M,'D:\ORACLE\ORADATA\ORA92\dd.ora' SIZE 5M但是每个文件都需要指明大小.单位以指定的单位为准如5M或500K.
对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少IO竟争.
指定文件名时,必须为绝对地址,不能使用相对地址.第四: EXTE......余下全文>>
 

用oracle创建一个表

创建表语句
-- Create tablecreate table CAPITAL_ADJUST( CAPITAL_ID VARCHAR2(10), CAPITAL_NAME VARCHAR2(50), TYPE VARCHAR2(10), BELONG VARCHAR2(50), IN_DEP VARCHAR2(50), ID VARCHAR2(10) not null, IN_DEP_LEADER VARCHAR2(50), OUT_DEP_LEAD VARCHAR2(50))-- Add comments to the columns comment on column CAPITAL_ADJUST.CAPITAL_ID is '资产编号';comment on column CAPITAL_ADJUST.CAPITAL_NAME is '资产名称 ';comment on column CAPITAL_ADJUST.TYPE is '规格型号';comment on column CAPITAL_ADJUST.BELONG is '所属部门';comment on column CAPITAL_ADJUST.IN_DEP is '调入部门 ';comment on column CAPITAL_ADJUST.ID is '编号';comment on column CAPITAL_ADJUST.IN_DEP_LEADER is '拨出部门负责人 ';comment on column CAPITAL_ADJUST.OUT_DEP_LEAD is '调入部门负责人';-- Create/Recreate primary, unique and foreign key constraints alter table CAPITAL_ADJUST add constraint PK_CAPITAL primary key (ID);插入数据sql
INSERT INTO CAPITAL_ADJUST (ID, CAPITAL_ID, CAPITAL_NAME, TYPE, BELONG, IN_DEP, IN_DEP_LEADER, OUT_DEP_LEAD)VALUES (1, '001', '电脑', 'V001', '部门1', '部门2', '调入负责人', '调出负责人');删除数据sql
DELETE FROM CAPITAL_ADJUST T WHERE T.ID = 1;修改表
ALTER TABLE CAPITAL_ADJUST DROP COLUMN OUT_DEP_LEAD;查询记录
SELECT * FROM CAPITAL_ADJUST;
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4448.html NewsArticle ORACLE_创建和管理表,oracle创建 ORACLE_创建和管理表 ①常见的数据库对象 表:基本的数据存储集合,由行和列组成。 视图:从表中抽出的逻辑上相关的数据集合。 序列:提供有规律的数。...
评论暂时关闭