简介
在这个指南中通过学习oracle的基本知识你将会建立你的数据库知识,一种最广泛的使用数据库管理系统开发的行业产品。
SQL*Plus
SQL*Plus是oracle的命令解释器。你可以启动SQL*Plus通过在UNIX发送SQL*Plus命令或者在运用’start’菜单。在’start’菜单里,SQL*Plus is listed under programs > oracle > application development > SQL Plus.你将看到关于你的姓名和密码的提示。如果你没有一个账户,你可以试用scott作为你的用户名,tiger作为你的密码。在后面的阶段你将学习如何改你的密码,在最后一块需要信息通过SQL*Plus是你想用的数据库的名字(叫做host string)。
你现在是连接到共享数据库,你有一个账户(叫做host string)。
Basic SQL
Table 1概括了oracle SQL的主要数据类型,连同他们的MySQL相等。注意VARCHAR2类型,所谓的历史原因。类型NUMBER(p,s)有两个参数,精度和范围,精度的值是小数点的重大意义范围的数字代表精确到小数点后几位。
Table1:主要的SQL数据类型
Type description Oracle SQL MySQL SQL
variable-length char. string VARCHAR2(l)1 VARCHAR(l)
fixed-length char. string CHAR(l) CHAR(l)
number NUMBER(p,s)2 NUMERIC(p,s)
currency NUMBER(10,2) NUMERIC(10,2)
date DATE DATE
1 length.
2 precision, scale.
你现在应该能够建一些表并且填充他们。
CREATE TABLE books
(
title VARCHAR2(60),
author VARCHAR2(60),
isbn NUMBER(10,0)
CONSTRAINT pk_books PRIMARY KEY,
pub_date DATE DEFAULT SYSDATE
)
/
CREATE TABLE book_reviews
(
isbn NUMBER(10,0)
CONSTRAINT fk_books_booksrev REFERENCES books(isbn),
reviewer VARCHAR2(30),
comments VARCHAR2(150)
)
/
注意,函数SYSDATE的使用是在上面的DEFAULT子句中返回系统的当前值。字符`/'是SQL语句的结束和提交给SQL*Plus。你应该已经熟悉主关键字的语法和运用完整性的约束,MySQL. pk_books和fk_books_booksrev是约束名字,在oracle中的功能和MySQL有点类似。现在检查表的模式你恰好运用降序排列创建了一个表。
command (same command as in MySQL).
下面,我们想加入一些数据在books和reviews中:
INSERT INTO books VALUES
(
'The Importance of Being Earnest',
'Oscar Wilde', -- this is a comment
9876543210,
'14-FEB-1895'
)
/
INSERT INTO book_reviews VALUES
(
9876543210,
'Alice',
'Excellent work, humorous and witty.'
)
/
如同上面显示,数据格式为DD-MMM-YY.双联字符‘- -’是注释。
编辑命令
编辑SQL*Plus的缓冲区。
正如你可能已经有经验,你不能取消声明在他们已经送入SQL*Plus。ed命令允许你在系统的默认编辑器中对SQL*Plus的缓冲区进行编辑。当你保存了你的改变之后,提交’/’的声明。意识到只有最后声明被提交给SQL*Plus有可能被编辑。
使用命令文件
一个实际的方法来避免无意中失去你的SQL工作是使用命令文件。
1. 在你喜欢的编辑器中输入你的SQL语句。
2. 保存后缀加上.sql的文件在你的根目录中(比如:myfile.sql)—确认你的后缀是否正确,有的编辑器会尝试打开名字为a.txt的文件。
3. 在SQL*Plus输入@myfile执行你的SQL语句。
在开始学习下一节之前,你应该练习创建和组装一些更多的表格。