一、数据库简介
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;
转载请注明出处