您的位置:首页 > 数据库 > Oracle

Oracle基础知识点(一)

2017-04-26 16:08 225 查看

Oracle基础知识点

SQL (Structured Query Language,结构化查询语言)支持如下类别命令:

数据定义语言:CREATE(创建)、ALTER(更改)、TRUNCATE(截断)、DROP(删除)命令。

数据操纵语言:INSERT(插入)、SELECT(选择)、DELETE(删除)、UPDATE(修改)命令。

事务控制语言:COMMIT(提交)、SAVEPOINT(保存点)、ROLLBACK(回滚)命令。

数据控制语言:GRANT(授予)、REVOKE(回收)命令。

对数据表的操作(数据库定义语言(DDL))

创建数据表

create table MONEY(表名称)
(
id   (列名称1)  varchar2(32)(数据类型),
name (列名称2)  varchar2(32),
money(列名称3) number,
scrq (列名称4)  date default SYSDATE
)


修改数据表

Oracle对数据表的修改是用alter进行操作的

修改字段的数据类型
alter table money **modify** name(列) varchar2(64) not null;
修改字段的名称
alter table money **rename** column name(旧字段名) to newname(新字段名);
增加数据表主键
alter table money add **constraint** PID(约束名,不能重复) primary key (ID);
删除数据表列
alter table money drop column name;
添加注释
comment on column money.name is '姓名';


删除数据表

drop删除操作会删除表结构,表数据,表内索引

drop table money;


CREATE、ALTER、DROP、COMMENT、RENAME几种对表结构的操作均不用commit;无法进行事务回滚,操作了就是操作了,没法回退了,后边还有truncate操作也属于DDL类型。

对数据表数据的操作(数据操纵语言(DML))

插入表数据

insert into money (id,name,money) values('001','张三',2000);


更新表数据

update money set name='李四' where name='张三';


删除表数据

删除表数据有两种方式:

delete(DML)

delete table money where name='李四';删除任意表数据
delete table money;删除表全部数据


truncate(DDL)

truncate table money;删除表全部数据


truncate快速删除记录并释放空间,不使用事务处理,无法回滚,效率高。

delete删除操作之后空间不释放,可以回滚。

查询表数据

select * from money;查询全部数据
select distinct(name) from money; 去掉所选字段中的重复数据


oracle数据类型

Oracle 常用数据类型

1、字符数据类型

CHAR 固定长度字符串 长度 1~2000个字节,未指定则默认为 1字节

VARCHAR2 可变长度字符串 长度 1~4000个字节,定义时必须指定大小

LONG 可变长度字符串 最多能存储 2GB,存储超过 VARCHAR2 的长文本信息

ps.一个表中只有一列为 LONG 数据类型,

.LONG 列不能建立索引,

.存储过程不能接受 LONG 数据类型的参数

2、数值数据类型

NUMBER 数据类型可以存储 正数、负数、零、定点数(不带小数点的?)和精度为38为的浮点数。

格式: NUMBER [(precision 精度,数字总位数 1~38间

, scale 范围,小数点右边的位数 -84~127间)]

3、时期时间数据类型

DATE 数据类型,用于存储表中日期和时间数据。SYSDATE 函数功能就是返回当前的日期和时间。

TIMESTAMP 数据类型,存储时期、时间和时区信息。SYSTIMEATAMP 功能就是返回当前日期、时间和时区。

4、二进制数据类型

RAW 二进制数据或字节串 长度 1~2000 字节,定义时应指定大小,可建索引

LONG RAW 可变长度的二进制数据 最大能存储 2GB,限制等同于 LONG 数据类型

5、LOB 数据类型

“大对象”数据类型,最多可存储多达 4GB的信息。LOB 可以是外部的,也可以是内部的,取决于相对于数据库位置。

CLOB Character LOB 存储大量的字符数据

BLOB Binary LOB 存储大量的二进制对象(多媒体对象等)

BFILE Binary FIle 能够将二进制文件存储在数据库外部的操作系统文件中

BFILE 存储一个 BFILE 定位器,它指向位于服务器文件系统上的二进制文件。

ps.一个表中可以有多个 LOB 列,每个 LOB 列可以是不同的 LOB 类型。

6、伪列

Oracle 中的一个表列,但实际上未存储表中。可以从表中查询,但是不能插入,更新或者删除。

ROWID 返回行记录的行地址,通常情况下,ROWID 值可以唯一地标识数据库中的一行。

作用: .能最快形式访问表中的一行。

.能显示表中的行是如何存储的。

.可以作为表中行的唯一标识。

例:SELECT ROWID, * FROM EMP WHERE empno=’7900’;

ROWNUM 返回一个数值单表行的次序,第一行为1,第二行为2.

通过使用 ROWNUM 用户可以限制查询返回的行数(或者分页?)

例:SELECT * FROM EMP WHERE ROWNUM <= 10;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle