4.1.1 SQL是什么
SQL(StrUCtured Query Language,译为结构化查询语言)在关系型数据库中的地位就如同英语在世界上的地位。它是数据库系统的通用语言,利用它,用户可以用几乎同样的语句在不同的数据库系统上执行同样的操作。
比如“select * from 数据表名”代表要从某个数据表中取出全部数据,在Oracle 9i、SQL Server 2000、FoXPRo等关系型数据库中都可以使用这条语句。SQL已经被ANSI(美国国家标准化组织)确定为数据库系统的工业标准。
SQL语言按照功能可以分为4大类。
数据查询语言DQL:查询数据。
数据定义语言DDL:建立、删除和修改数据对象。
数据操纵语言DML:完成数据操作的命令,包括查询。
数据控制语言DCL:控制对数据库的访问,服务器的关闭、启动等。
4.1.2 SQL的主要特点
SQL语言简单易学、风格统一,利用简单的几个英语单词的组合就可以完成所有的功能。在SQLPlus Worksheet环境下可以单独使用的SQL语句,几乎可以不加修改地嵌入到如VB、PB这样的前端开发平台上,利用前端工具的计算能力和SQL的数据库操纵能力,可以快速建立数据库应用程序。
4.1.3 Oracle 9i使用SQL的工具
在Oracle 9i中为使用SQL语言提供了两个主要的工具。
【SQL Plus】
【SQLPlus Worksheet】
两种工具在使用上功能都相同,但在可操作性上,【SQLPlus Worksheet】更适合初学者。因此,本书重点介绍后者的使用。
4.1.4 SQL中访问数据表的方法
在SQL语言中访问数据表是通过“用户名.数据表”的形式来进行的。
比如在Oracle 9i数据库服务器安装过程中,默认建立有scott用户,该用户对dept数据表和emp数据表有数据查询的权限,因此访问数据表的语句为select * from scott.emp。当然,假如用户是用scott用户本身登录的,则访问数据表的语句可以简化为select * from emp,实质是一样的。
在本章的实例中,我们以数据库系统治理员system、口令manager登录数据库,访问数据必须采用select * from scott.emp的形式。即使是用户本身登录后访问属于自己的数据表,我们也推荐使用“用户名.数据表”的形式来访问数据表以清楚地反映数据表的有权用户信息。
4.1.5 两个范例数据表
在读者没有学习如何创建数据表,如何创建用户,如何将用户赋予对数据表的访问权限之前,我们以数据库已经建立的两个范例数据表为例来介绍。
(1)启动【SQLPlus Worksheet】
(2)在【命令编辑区】输入语句“desc scott.emp”,然后单击【执行】按钮,出现如图4.1所示的emp数据表结构。
【参见光盘文件】:\第4章\4.1\415-1.sql。
(图片较大,请拉动滚动条观看)
desc,describe命令的简化形式,作用是显示数据表的结构。使用形式:“desc 数据表名”。
(3)在【命令编辑区】输入“desc scott.dept”,然后单击【执行】按钮,出现如图4.2所示的scott.dept数据表结构。
【参见光盘文件】:\第4章\4.1\415-2.sql。
接下来我们以实际查询例子来介绍数据查询的语法,读者可以参照配套光盘的实例跟随本书执行同样的操作。