云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第2章 sql查询、sql函数与数据库对象

第2章 sql查询、sql函数与数据库对象

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 23:20:46

第二章 sql查询、sql函数与数据库对象

目标:

1、了解oracle的数据类型。

2、了解数据定义语言和数据操纵语言。 3、了解事务控制语言和数据控制语言。 4、掌握sql操作符和sql函数的用法。 5、了解理解和使用同义词。 6、理解和使用序列。

一、oracle 的数据类型。 1、字符型。 (1)char类型

是一种固定长度的数据类型,长度可以为1-2000字节。在为字段定义该数据类型时,可以不指定字段长度,那么默认长度就是1个字节。假设用户给某个字段定义成char类型,长度50字节。如果用户输入该类型字段的值时,其长度小于2000字节,则用空格填充至固定长度50字节。如果大于指定长度,就出错。 (2)varchar2类型。

varchar2类型。是可变长度的字符串,该类型的长度可以为1-4000个字节范围。在定义该数据类型时,必须指定其大小。如果某字段定义成varchar2类型,长度50字节,即使将来实际输入字段的值只有3个字节,也不用空格填充,与char相比,节省存储空间。 (3)long数据类型。

可变长度数据类型。最多能存储2G字节。一般不使用,如果要使用,请注意:一个表中只有一个字段可以为long数据类型;long字段不能定义为唯一约束或主键约束;long列上不能建索引。

2、数字型。 number类型。

这种类型看上去只有一种,但使用非常灵活,所以能表达正数、负数、零、小数等。使用格式为number(p,s),其中p表示数字的总位数,小数点也占一位,s表示数字的小数位数。说明: number(10,2) //表示整个数字长度为10位(含小数点),小数部分占2位。

number(10) //表示整个数字长度为10位,且是一个整数。

number(10,-1) //表示整个数字长度为10位,等价于number(10)。

number(10,-2) //表示整个数字长度为10位,精确到百分位。

比如:

如果某个字段定义成number(10,2),该字段取值如下。 12345678.90 保存在该字段中的值为12345678.9 1234.567890 保存在该字段中的值为1234.57 如果某个字段定义成number(10),该字段取值如下。 1234567890 保存在该字段中的值为1234567890 1234.567890 保存在该字段中的值为1235

如果某个字段定义成number(10,-2),该字段取值如下。 1234567890 保存在该字段中的值为1234567900

1234567846 保存在该字段中的值为1234567800 1234.567890 保存在该字段中的值为1200

3、日期型。

日期数据类型用于存储日期值和时间值。 (1)date数据类型。

用于存储表中的日期和时间数据。Oracle使用自己的格式存储日期,使用7个字节固定长度,每个字节分别存储世纪、年、月、日、小时、分钟、秒。建表时定义字段的日期类型,只有date类型可选。

(2)timestamp数据类型。

该数据类型用于存储日期的年、月、日、小时、分、秒,其中秒值精确到小数点后6位,该数据类型同时包含时区信息。使用systimestamp函数可以获取系统当前日期、时间和时区。

4、二进制类型。

raw和long raw数据类型用于存储二进制数据。

5、LOB数据类型。

该类型用于存储多达4G的非结构化信息,比如声音剪辑、视频剪辑等。其中,CLOB用于存储大量的字符数据,BLOB用于存储较大的二进制对象,如图形、声音、视频等。

二、oracle中的伪列与伪表。

伪列就像oracle中某个表中的某个字段,但该列实际上并未存储在表中。伪列可以从表中查询,但不能插入、更新或删除它们的值。 (1)rowid伪列。

数据库中的每一行都有一个行地址,rowid伪列就保存了该行地址信息。可以使用rowid值来定位表中的一行。通常,rowid的值可以唯一的标识表中的一行。伪列的作用是使系统能以最快的方式访问表中的某一行。 对比如下两条语句。 SQL>select empno,ename from scott.emp; SQL>select rowid,empno,ename from scott.emp; (2)rownum伪列。

对于查询返回的每一行,rownum伪列返回一个数值代表行的次序,返回的第一行的rownum值为1,第二行的rownum的值为2,依此类推。通过rownum伪列,用户可以限制查询返回的行数。(sql server中限制返回行数是用top n来表示,还记得么?)比如。 SQL>select * from scott.emp where rownum<=5 //查找前5条。

(3)dual伪表。

这是一个系统中不存在的表,按语法格式要求表,但又不需要具体表名的地方使用。

三、基本的sql语句。

1、创建表命令(create table)

格式:create table [schema.]table (column datatype,column datatype, ?? ); 如: SQL>create table itjob.examp (a varchar2(10) primary key, b varchar2(10) not null, c date default systimestamp, d number(10) check (d>10 and d<100 ) ) 2、修改表命令(alter table)

更改某个字段的定义,格式如下。

Alter table 表名 modify (字段 类型); 向表中添加新的字段,格式如下。 Alter table 表名 add (字段 类型); 删除表中现有字段,格式如下。 Alter table 表名 drop column 字段;

3、删除表命令(drop table) 格式如下。 Drop table 表名;

4、select命令。

Select语句及其包含的子句如order by等的用法,与sql server完全一致。

5、根据现有表创建新表。 Create table 新表名 as select * from 现有表。

6、通过as使用别名。

比如:下面两句都对。你看出它们的区别了么?第二句别名可以使用特殊字符如空格等。 Select empno,ename as 姓名 from scott.emp; Select empno,ename as “姓 名” from scott.emp;

7、insert 命令。

格式与sql server完全一致。注意的是,插入记录中日期的值,要通过单引号将其引起

来。如日期为2005年12月6日,就要写成‘06-12月-05’,比如:

SQL>create table order_master (os char(1),del_date date); //创建一个带日期字段的表 SQL>insert into order_master values ('1','25-6月-05'); //插入正确 SQL>insert into order_master values('2',to_date('2005-07-31','yyyy-mm-dd')); //插入正确 也可以插入来自其它表的记录。Insert命令可以用来复制其它表中的记录。格式如下。 SQL>insert into 表名1 select * from 表名2; //从表2中复制记录到表1中,与sql server完全一样。

8、update命令。

与sql server完全一样。

9、delete命令。

与sql server完全一样。

四、事务控制语句。 1、commit命令。

事务提交命令。格式:commit;

2、savepoint命令。

用于设置保存点的命令。格式如下。 Savepoint savepoint_1; //savepoint_1是指保存点名字,可任意命名。

3、rollback命令。格式:rollback;

比如: SQL>update order_master set del_date=?30-6月-05? where orderno=?1?; SQL>savepoint mark1; SQL>delete from order_master where orderno=?1?; SQL>savepoint mark2; SQL>rollback to savepoint mark1; SQL>commit; 要理解上述过程,请分别在上述每条语句后加一条查询该表的语句来看看结果的变化。

四、数据控制语句。 1、grant命令。

如果用户创建了某个数据库对象,比如表、视图、序列、同义词等,该用户就具有对这些对象的所有权限。当该用户需要将操纵这些对象的权限授予其它用户时,就需要使用grant命令授权。

比如,将order表的查询和更新权限授予martin用户,如下。

搜索更多关于: 第2章 sql查询、sql函数与数据库对象 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

第二章 sql查询、sql函数与数据库对象 目标: 1、了解oracle的数据类型。 2、了解数据定义语言和数据操纵语言。 3、了解事务控制语言和数据控制语言。 4、掌握sql操作符和sql函数的用法。 5、了解理解和使用同义词。 6、理解和使用序列。 一、oracle 的数据类型。 1、字符型。 (1)char类型 是一种固定长度的数据类型,长度可以为1-2000字节。在为字段定义该数据类型时,可以不指定字段长度,那么默认长度就是1个字节。假设用户给某个字段定义成char类型,长度50字节。如果用户输入该类型字段的值时,其长度小于2000字节,则用空格填充至固定长度50字节。如果大于指定长度,就出错。 (2)varchar2类型。 varchar2类型。是可变长度的字符串,该

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com