Oracle笔记


SQL(结构化查询语言),是操作关系型数据库中的对象。
DDL(数据定义语言),用于建表或删表操作,以及对表约束进行修改。
DML(数据操作语言),向表中插入纪录,修改纪录。
事务控制语言,commit; rollback;
授权语句

select(数据的查询),投影,过滤(选择)查寻,关联查寻(表连接)。

sqlplus 访问数据库命令(本地访问/远程访问),和数据库建立连接的命令,是数据库操作的环境
sqlplus 用户名/密码

show user 显示当前用户的用户名

在sqlplus中可以使用 ! 可以在shell和sqlplus间切换,!shell命令 可以在sqlplus中使用shell命令。实际上是sqlplus开了子进程来执行shell命令。

Oracle数据库中的表分两类:用户表(用户使用操作的表),系统表(数据库系统维护的表,数据字典)

select查询语句
select table_name from user_tables;(查询系统表)
以上的查询语句就是查询本用户下所拥有的所有表的表名。

desc [表名] 这是一条sqlplus命令,注意他不是sql语句,这条命令用于查看表的结构。
[字段名] [字段的类型],这是使用完desc命令后显示的表结构。

投影操作,只查看选择的字段的信息。
选择操作,查看字段中的特定某些信息。
多表查询,通过表间连接,查寻出多表中的信息

!oerr ora [错误号] ,系统可以显示错误的原因和如何修改。
如果命令错误输入可以使用edit或ed来修改输入错误。实际上是在编辑缓存文件中的最后一条sql语句。也可以使用 (change) c /错误字段/正确字段,来进行替换操作进行修改。

select [表的字段名1],[表的字段名2], ... from 表名;
select * from 表名; 查寻表中所有字段的信息

关键字不等拆分,sql语句,以及表名,字段名是大小写不敏感的。
sql语句要以";"结尾,来表示sql语句结束,如果不加";"系统不会执行此条sql语句,并提示。
sqlplus的buffer中会缓存最后一条sql语句,可以使用"/"来执行这最后一条sql语句,也可以使用
edit命令来编辑最后一条sql语句。l命令(list)(sqlplus命令)可以显示buffer中最后一条命令。

sqlplus设置
set pause on 回车响应,分屏显示,只在本会话中有效
set pause off 关闭分屏显示。
set pause '...' 设置分屏显示的提示信息。
set pause on 先输出提示信息,回车响应,分屏显示
set head off 提头输出关闭
set feed off 结尾输出关闭
set echo off 回写关闭
spool 文件名.sql 写入指定文件
spool off 关闭写入。

清屏命令 !clear 或 clear screen

在Oracle中字符显示是左对齐,数值右对齐。

在select 语句中可以使用数学表达式。

select [表达式(必须包含本表字段名)],[...],.... from 表名;
运算的优先级的先乘除后加减,同级自左向右运算,括号改变优先级。

select [字段名或表达式] ["别名"],[...] ["..."],.... from 表名;

可以通过在字段名或表达式后加空格"别名",可以给列,或者表达式结果其别名。
字符串拼接使用||符号

select 目标字段名||" "||目标字段名 from 表名;
注意:在Oracle中的字符串要用'..'包含
别名中需要使用空格,或是大小写敏感时需要用".."包含。

sql脚本,也就是在文件中写有sql语句的文件,可以在sqlplus中运行,推荐为.sql。
引入sql脚本: sqlplus 用户名/密码 @sql脚本(注意@前一定要有空格,否则含义就变了)
Oracle中的空值 空值会当无穷大处理。
Oracle中控制处理函数 NVL(字段名,值),这个字段中的空值替换为指定值,如果不为空,则会返回其原值。
例:select (salary*12)*(NVL(commission_pct,0)/100+1) salary,first_name from s_emp;

distinct关键字,去掉重复行(这个关键字会处发排序操作)
例: select distinct dept_id,title from s_emp;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值