Oracle数据库 — DDL:数据定义语言

数据定义语言:用于定义数据库的结构,比如创建、修改或删除数据库对象;

包括:

  • CREATE TABLE:创建数据库表

创建表的命名规则

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

创建表的数据类型

VARCHAR2(size)      可变长字符数据                                    CHAR(size)     定长字符数据

NUMBER(p,s)        可变长数值数据                                         DATE           日期型数据

LONG      可变长字符数据,最大可达到2G                           CLOB          字符数据,最大可达到4G

RAW (LONG RAW) 原始的二进制数据                                   BLOB          二进制数据,最大可达到4G

BFILE  存储外部文件的二进制数据,最大可达到4G            ROWID   行地址

 

例1:创建一个表:

例2:使用子查询创建表:将创建表和插入数据结合起来!

 

  • ALTER TABLE:更改表结构、添加、删除、修改列长度;

追加一个新列:新列为表中的最后一列;

例:ALTER TABLE…

ADD…

修改一个列:可以修改列的数据类型, 尺寸默认值,默认值的修改只影响今后对表的修改;

例:ALTER TABLE…

MODIFY

删除一个列:删除不再需要的列;

例:ALTER TABLE…

DROP COLUMN

重命名一个列:给列重新命名;

例:ALTER TABLE…

RENAME COLUMN…TO…

 

  • DROP TABLE:删除表;

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

例:删除student_s表

清空表:删除表中所有的数据;释放表的存储空间;不能回滚;

例:清空student_s表的数据

 

  • CREATE INDEX:在表上建立索引;

索引:

  • 一种独立于表的模式对象, 可以存储在与表不同的磁盘或表空间中
  • 索引被删除或损坏, 不会对表产生影响, 其影响的只是查询的速度
  • 索引一旦建立, Oracle 管理系统会对其进行自动维护, 而且由 Oracle 管理系统决定何时使用索引。用户不用在查询语句中指定使用哪个索引
  • 在删除一个表时,所有基于该表的索引会自动被删除
  • 通过指针加速 Oracle 服务器的查询速度
  • 通过快速定位数据的方法,减少磁盘 I/O

 

创建索引:

自动创建: 在定义 PRIMARY KEY 或 UNIQUE 约束后系统自动在相应的列上创建唯一性索引手动创建: 用户可以在其它列上创建非唯一的索引,以加速查询

 

什么时候创建索引:

  • 列中数据值分布范围很广
  • 列经常在 WHERE 子句或连接条件中出现
  • 表经常被访问而且数据量很大 ,访问的数据大概占数据总量的2%到4%

 

例:在表 EMPLOYEES的列 LAST_NAME 上创建索引

 

  • DROP INDEX:删除索引

使用DROP INDEX 命令删除索引,只有索引的拥有者或拥有DROP ANY INDEX 权限的用户才可以删除索引,不可回滚;

 

例:删除索引EMP_LAST_NAME_IDX

 

序列: 可供多个用户用来产生唯一数值的数据库对象

  • 自动提供唯一的数值
  • 共享对象
  • 主要用于提供主键值
  • 将序列值装入内存可以提高访问效率

 

创建序列:通过CREATE SEQUENCE 语句 定义序列

 

例:创建序列 DEPT_DEPTID_SEQ为表 DEPARTMENTS 提供主键

        

 

修改序列:修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存;只有将来的序列值会被改变;改变序列的初始值只能通过删除序列之后重建序列的方法实现

例:

 

删除序列:使用 DROP SEQUENCE 语句删除序列;删除之后,序列不能再次被引用

例:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值