Oracle复习(一)

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…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值