Oracle day 02

Oracle day02
<-- 菜鸟的学习笔记 -->
1.数据库概念
数据库是按照数据结构组值,存储和管理数据的仓库。
2.关系型数据库概念
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,
关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,
而查询是一个用于限定的数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模式,
而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
简单的说就是:
关系型数据库是以二维表的形式去存储数据,同时表与表之间存在着一定的关系。
非关系型数据库,不是以二维表的形式存储数据。
3.SQL
3.1介绍
SQL语言是属于第四代编程语言,主要用来操作关系型数据库的一门语言。
语言代数:
第一代语言:机器语言 面向机器。是通过二进制代码及其进行操作。
第二代语言:汇编语言 用针对指令的符号代替二进制代码。
第三代语言:高级开发语言C、C++、Java 语言更加简单,操作更加方便
第四代语言:SQL只需要告诉计算机需要做什么。而如何做,不需要告诉机器。更加接近自然语言。
3.2SQL语言分类
DQL(Data Query Language)
·数据库查询语言,用于检索数据库中的数据,主要是SELECT语句,他在操作数据库时较为频繁
DML(Data Mainpulation Language)
·数据库操作语言,用于改变数据库中的数据,主要包括INSERT,UPDATE,DELECT 3条语句
DDL(Data Define Language)
·数据定义语言,用来建立、修改、删除数据库对象
TCL(Transaction Control Language)
·事务控制语言,用于维护数据的一致性,包括COMMIT,ROLLBACK,SAVEPOINT 3条语句
DCL(Data Control Language)
·用于执行权限授予和权限收回操作,主要包括GRANT,REVOKE 两条命令
4.数据库对象
·用户(User)
·表(Table)
·触发器(Trigger)
·视图(View)
·存储过程(StoredProcedure)
·索引(Index)
·缺省值(Default)
·图表(Diagram)
·规则(Rule)
5.用户
Oracle服务器其实只有一个数据库,但是区分用户,也就是可以通过不同用户操作同一个数据库。
mysql是区分数据库,同一个用户可以操作多个数据库
5.1用户登录
语法:sqlplus 用户名/密码
登陆管理员用户
sqlplus system/system
5.2用户创建
语法:create user 用户名 identified by 密码;
当前这个用户没有任何权限,只有赋予权限之后,才能去操作数据库服务器
5.3用户授权
语法:grant 权限/角色 to 用户名;
5.4切换用户
语法:conn 用户名/密码
查看当前用户:
show user;
6.sql脚本
一个以.sql结尾的文件,且文件里面都是sql语句或者注释。这种文件称为sql脚本
6.1执行脚本
两种方法:
1. @ xxx/xx.sql
2. start xxx/xx.sql
如果脚本中包含英文日期,那么就需要先设置日期环境
alter session set NLS_LANGUAGE=‘english’;
6.2创建脚本文件
新建一个文件,往里面写入sql语句,并且将后缀名改为.sql即可。
7.DQL
查询当前按用户下所有的表
select table_name from user_tables;
SQL语言编写的语句,称为SQL语句,SQL语言不区分大小写。
查看表结构(在sqlplus中)
desc tableName
7.1基本查询
查询某张表所有或者指定的数据内容
语法:
查询表中所有数据:
select * from 表名;
查询表中指定数据:
select 字段名,字段名… from 表名;
; 代表sql语句的结束
* 代表查询所有,不建议使用* 效率太低
字段名 表示查询指定的列中数据
7.2列值计算
语法:
select 字段名 运算符 数值 from 表名
运算符:+,-,,/
·查询员工的名字和年薪
select last_name,salary from tables;
·查看每个员工的员工id,名字和月薪涨100以后的年薪
select id,(salary+100)12 from tables;
注意事项:
查询永远不会改变表中的数值
乘除的优先级高于加减
优先级相同时,按照从左到右的顺序运算
可以使用括号改变优先级
7.3列起别名
·查询员工名和年薪
select last_name,salary
13 from tables;
发现这个列的名字已经改变,同时这个列名有时候也不符合我们的需求,所以我们可以给列名起别名。
语法:
select 字段名 as 别名 from 表名;
as 可以省略不要
别名 别名可以用双引号包裹起来,以便包含特殊字符,只有此处会使用双引号,其他的地方都是单引号
·查看员工的id,名字,年薪列名annual
select id,last_name,salary
13 as annual from tables;
select id,last_name,salary13 as “annual” from tables;
/
sql 是不区分大小写的,但是如果用双引号包起来,里面的别名写了什么就是什么,区分大小写 /
7.4多列拼接
把多个列的数据拼接成一个列
·语法
select 字段1 || 字段2 from 表名;
·查看员工的员工id,全名
select last_name || first_name from tables;
select last_name ||’.’|| first_name from tables;
/
单引号,拼接字符串 */
·查看员工的员工id,全名和职位名称,全名和职位名称合并成一列显示,且格式为:姓名:xxx-xx,职位:xxx
select id,‘姓名:’||last_name||’-’||first_name||’,职位:’||dept info from tables;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值