Oracle
数据库:
- 保存数据,方便操作数据,对数据进行CRUD的操作
第一代编程语言:机器语言
第二代编程语言:汇编语言
第三代编程语言:高级开发语言
第四代编程语言:sql语言
提供了一种SQL语言(被称为第四代语言):
只关心做什么,不关心怎么做.
select last_name,salary
from s_emp
数据库保存数据的方式:
表 :
1.视图:
2.索引:提高解锁的效率
3.存储过程:
4.触发器:
5.同义词 :相当于取个别名
6.序类:oracle数据库特有的 主要用来生成主键的值
起始值:1
步长:1
1,2,3,4,…
用户 :oracle数据库 将表,视图... 放在用户下面
默认情况下,已经存在用户:
SYS:管理员 ,具有非常高的权限
SYSTEM: 管理员 ,具有非常高的权限
区别:SYS相当于皇帝
SYSTEM:相当于宰相
SQL语句的分类:
1)DQL:数据的查询语句
select
2)DML:数据的操作语句
insert ,delect,update
3)DDL:数据的定义语言
create 创建,alter修改,drop删除,truncat截断
4)TCL:事务的控制:
commit,rollback,savepoint
5)DCL:数据的控制功能
grant授权, revoke 回收权限
1.select
关系表数据库
表与表之间有关系,由外键来维护这个关系
s_emp:员工表
s_dept:部门表
s_region:注册区域表
访问数据库
1)cmd终端
sqlplus 用户名/密码
查看表结构
desc s_emp
2)界面的方式
select语句
查询所有员工的last_name,salary?
select last_name,salary
from s_emp;
查询所有的部门名字? distinct 去掉重复的
select distinct name
from s_dept;
查询所有部门的所有信息?
select *
from s_dept;
查询语句的结构:
select distinct 多个字段
from 表名;
2.查询有四则运算 + - * /
数字类型:+-*/
查询所有员工的年薪:
select last_name,salary*12
from s_emp;
查询所有员工月薪涨500之后的年薪
select last_name,(salary+500)*12
from s_emp;
日期类型:+ - 单位是天
start_date
select start_date,start_date+1
from s_emp;
3.给查询的字段取别名
a)在需要取别名的地方 空格后加别名
b)使用 as关键字
c)使用"" 可以区分大小写和特殊的字符
4.查询所有员工的年薪(包含基本工资和奖金)
select last_name,salary,commission_pct sal
from s_emp;
5.空值处理 nvl
nvl(字段名,默认值)
如果字段名为null,那么nvl处理之后的结果为默认值.
如果字段名对应的值不为null,nvl处理后的结果为字段本身的值
如:nvl(commission_pct,0)
select last_name,(salary+nvl(commission_pct,0))*12 sal
from s_emp;
6.字段的拼接 ||
查询所有员工的全名
select last_name,first_name
from s_emp;
select last_name||'-'||first_name NAME
from s_emp;
注意:Oracle数据库字符串使用 ‘’
练习:查询所有员工的信息,按照以下格式返回,并取别名为 info
firstName ,Last_Name in dept_id dept
select first_name||'-'||last_name||'-'||' in '||dept_id||'dept' info
from s_emp;
7.format 设置字段显示的宽度 a15(15根短线)
col last_name format a15
col first_name format a15
数据库:mysql, sqlserver, oracle , db2 ,access…