基本概念:
数据Data:描述事物的符号,可以有多种形式(数字、文字、图形、图像、声音等)
数据库:存放数据的地方
需要长期存放在计算机内的、有组织的、可共享的数据集合
物理形式是存储在磁盘上的一个或多个数据文件
数据库管理系统:是操纵和管理数据库的大型软件,可建立、使用和维护数据库
它对数据库进行统一管理和控制,保证数据库的安全性和完整性
数据库管理员:管理和维护数据库的人DBA
数据库系统
一般指数据库、数据库管理系统以及运行硬件、应用程序、数据库管理员和用户的集合
关系数据库(Relational DataBase, RDB)就是基于关系模型的数据库,在计算机中,关系数据库是数据和数据库对象的集合。
Oracle数据库的主要特点
支持多用户、大事务量的事务处理
数据安全性和完整性控制
支持分布式数据处理
可移植性
数据库三大范式
第一范式1NF
定义:表中每一条记录的每个一个字段值,都是不可再分的最小数据单位。
第二范式2NF
定义:在满足1NF的基础上,每一个非主键字段必须完全依赖于主键。
第三范式3NF
定义:在满足1NF和2NF的基础上,所有非主键字段对任何主键字段都不存在传递依赖。
oracle自动生成的用户
1、sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install
2、system用户是管理操作员,权限也很大,具有sysoper角色,没有create database的权限,默认的密码是manager
3、scott普通账号(默认自带),默认的密码是tiger
一般讲,对数据库维护,使用system用户登录就可以。
SQL语句:
SQL 语言大小写不敏感。
SQL 可以写在一行或者多行
关键字不能被缩写也不能分行
各子句一般要分行写。
使用缩进提高语句的可读性。
1.SELECT 基本语句
select * from job_grades;
select last_name,hire_date from employees;
AS:列的别名(用双引号括起来)
select last_name as "NAME",hire_date as "date" from employees;
||:连接符(把列与列,列与字符连接在一起)
select last_name || 'date is' || hire_date from employees;
DISTINCT:删除重复行
select DISTINCT department_id from employees;
WHERE:在查询中过滤数据
字符和日期要包含在单引号中。
字符大小写敏感,日期格式敏感
select department_id from employees where department_id=30;
比较运算:<,>,=,<>
select last_name,salary from employees where salary<=3000;
BETWEEN
select last_name,salary from employees where salary between 3000 and 5000;
IN(运算显示列表中的值)
select last_name,salary from employees where salary in (3000,4800);
LIKE(运算选择类似的值)
选择条件可以包含字符或数字:
% 代表零个或多个字符(任意个字符)。
_ 代表一个字符。
select first_name
from employees
where first_name like 'S%';
ESCAPE:回避特殊符号的
SELECT job_id
FROM jobs
WHERE job_idLIKE ‘IT\_%‘escape ‘\‘;
NULL(NOT NULL)判断空值
SELECT last_name, manager_id
FROM employees
WHERE manager_id IS NULL;
ORDER BY排序
ASC(ascend): 升序
DESC(descend): 降序
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date ;
SQL 语句与SQL*Plus 命令
使用SQL*Plus可以:
描述表结构。
编辑SQL 语句。
执行SQL语句。
将SQL 保存在文件中并将SQL语句执行结果保存在文件中。
在保存的文件中执行语句。
将文本文件装入SQL*Plus编辑窗口。