Oracle学习笔记(一)

一、数据库简介

1、两种常用的数据存储形式

文件

数据库

2.数据库与数据库管理系统

数据库:关系数据库使用关系或二维存储信息

数据库管理系统:是一套软件,用于在数据库中存储数据、维护数据、查询数据等

3、数据库的种类

Oracle/sybase/db2           大             电信、银行             上千万级别的数据

sql Server/mysql              中                  企业           

access                              小

4、数据库的基本存储单位

表示数据库中存储数据的基本单位,由行和列组成

行:row/record

列:column/field

5、结构化查询语言(SQL)

数据定义语言(DDL)create、drop、alter、truncate

数据操作语言(DML)insert、update、delete

事务控制语言(TCL)commit、rollback、savepoint

数据查询语言(DQL)select

数据控制语言(DCL)grant、revoke

6、用sqlplus与数据库建立连接

命令行方式:

ORACLE_HOME:ORACLE产品的安装目录

ORACLE_SID:数据库对应的实例(instance)名字(一个实例唯一的对应一个数据库,实例确定了,数据库就确定了)

telnet 服务器IP

sqlplus username/password(远程机器的用户名和密码)

远程登录后连接数据库的方式:sqlplus

%sqlplus username/password(数据库的用户名和密码)

sqlplus是Oracle提供的命令行客户端工具

7、数据类型

NUMBER(数字类型)、VARCHAR2(可变长字符串)、CHAR(定长字符串)、DATE(日期)

NUMBER(2)2位数

NUMBER(7,2)最长7位,小数点后2位,99999.99

NUMBER 任意位

VARCHAR2(7)最长不超过7个字符长度

8、desc

使用desc(describe的缩写)来显示表结构,包括列明(column name)、非空(not null)、数据类型(data type),非空列必须包含数据

二、SELECT语句的功能(大小写不敏感)

1.select查找

SELECT [DISTINCT] {*,column,[alias],...}

FROM table;

SELECT 用于指定字段名(column name)

FROM用于指明表名(table name)

select * from dept;--其中*表示查询全部列

2.在sqlplus环境下,如何执行语句,出错后如何修改

(1)执行上一条语句:/

(2)编辑SQL语句:ed(edit)

(3)显示buffer里的语句:l(list)

3.SQL语句的处理过程

(1)用户进程sqlplus<---------------->服务进程Server process oracleSID<----------->创建会话session

                                      建立连接

(2)处理一条select语句

(a)分析语句

搜索缓存中是否有相同语句(严格相同)

检查语法、表名、权限

在分析过程中给对象加锁

生成执行计划(explain plan)

(b)绑定变量--给变量赋值

(c)执行语句

(d)获取数据--将数据返回给用户进程

4.在number数据类型上使用算数表达式(+-*/)

select ename,sal*12 from emp;

5.给列起别名(列别名)能够改变一个列,表达式的标识

(1)适合计算字段

(2)在原名和别名之间可使用as关键字,也可以不写

(3)别名中包含空格、特殊字符或希望大小写敏感时,使用双引号将其括起来

select ename,sal*12 year_sal from emp;

select ename,sal as salary,job from emp;

select ename, sal "Salary",job as "Job" from emp;

select ename "Employee name" from emp;

6.了解数据库的空值(NULL):在输入数据时,该字段没有指定值,并且也没有缺省值

(1)空值不等于0

(2)空值不等于空格

(3)算术表达式中包含空值导致结果为空

(4)在算术表达式中包含空值,需用空值转换函数nvl处理

select ename,sal,comm,sal+comm month_sal from emp;

select ename,sal,comm,sal+nvl(comm,0) month_sal from emp;

7.空值转换函数nvl

(1)数据类型可以是数值number、字符character、日期date

(2)数据类型必须匹配:

nvl(sal,100)

nvl(title,'No Title yet')

nvl(start_date,'01-Jan-01')

8.拼接运算符用||表示

字符表达式意为字符串的拼接,||可以将某几列或某列与字符串拼接在一起

select ename || job from emp;

select ename || 'work as' || job employee from emp;

转载请注明出处

猜你喜欢

转载自blog.csdn.net/u014596135/article/details/51627171
今日推荐