oracle笔记

发布 2021-05-11 22:16:28 阅读 7992

sqlplus conn as sysdba (超级用户登陆方法:输入前面一串,system用户的初始密码为manager 。sys用户的初始密码是change_on_install)如下:

c:\documents and settings\administrator>sqlplus conn as sysdba

sql*plus: release 10.2.0.1.0 - production on 星期三 12月 29 10:37:58 2010

copyright (c) 1982, 2005, oracle. all rights reserved.

输入口令:(企业版输入manager,xe版输入安装时输入的密码)

连接到:oracle database 10g release 10.2.0.1.0 - production

sql> grant connect,resource to king;

授权成功。sql> grant dba to king;

授权成功。alter session set nls_language=’american’

select userenv('language') from dual; 显示语言,编码。

select table_name from user_tables;

alter datebase set nls_language=’american’ 暂时修改系统语言,编码

ind user_indexes的别名。

oracle数据库。

前言。1,为什么要学习?

1) 数据库能够方便的存储和读取数据,是存放数据的最好的场所。

2) oracle是目前世界上最好用的使用最广的数据库。

去年收购了bea100多亿$软件公司,今年又收购了sun70多亿$.它只做软件,不做公司。

2,学习什么?

crud(create/retrivel/update/delete)数据库中的对象,以及对象中存放的数据。

3, 关系型数据库?

1) 2024年在ibm的。报告中提出这个理论。

2) 最早提出关系型数据库理论的公司是ibm(ibm还有db2有人用,比如:工商银行)

3) 最早作出来关系数据库产品的是oracle

4) 关系型数据库理论:

a) 数据库是由一系列的对象组成。最常见的一种是表(table)

其它对象还包括索引,试图,同义词,序列。等等。

b) 通过一定的操作作用于这些对象。

通过sql语言(结构化的查询语言)对对象进行crud操作。

c) 为了保证数据的完整性与一致性,数据要有一定的规则(约束)

4, sql,sql*plus, and pl/sql的区别。

1) sql:结构化的查询语言。是由ansi负责维护的。(美国国家标准委员会)

2024年诞生, 1.0

sql语言是***语言。

2) sql*plus命令行形式的oracle客户端软件,可以执行sql语言,也是一个简单的报表编辑器,他维护着一个buffer(缓存:内存中的一部,一掉电就没了),缓存着最后一次执行的sql语句。

3) pl/sql:是oracle公司在标准的sgl(能操作任何数据库)的基础上增加了一些新的内容形成的一种语言。仅仅能够操作oracle数据库。

5, sql语言的分类。

1) 数据获取语言:select

2) 数据操纵语言(dml) manipulate: insert,update,delete

3) 数据定义语言(ddl) define: create,alter,drop,rename(重命名),truncate

4) 事务控制语言commit,rollback,s**epoint

5) 数据控制语言(dcl) control: grant(授权),revoke(**权)

登陆方式。sqlplus安全。

briupbriup

sqlplus briup unix服务器上能看到用户名briup

briupsqlplus briup/briup unix服务器上能看到用户名密码briup/briup

ps –ef|grep oracle

ps –ef|grep sqlplus

第一章。查询。

1. 语法。

select [distinct] from table;

:表示所有的列。

如果加上distinct:表示去掉重复的行,只显示一次。

1) 出现的位置:

a. 紧跟在select后面。

b. 组函数中。

2) 如果distinct后面跟多个列表示多个列联合唯一。

s_student

idnameage

1zs302zs56

3ls34select distinct name from s_stdent

结果zs不知道是哪个zs.但是显示一个。

2. 给列指定别名?

只需要在列名后面加上一个空格+别名。

如:select first_name name from s_emp

3. 如何将两个列的内容将连在一起?

只需要在两个列中间加上||

如:select first_name||last_name from s_emp

使用””的地方有两处①别名②to_char格式中固定输出。

4. 什么是空?(null)以及如何处理?

在oracle当中没给他分配值就是null,如果一个表达式中只要有一个列为空,整个表达式就为空。

可以使用空值置换函数(nvl)处理空值。这个函数有两个参数,一个参数是可能出现空值的列,另外一个参数是如果出现空值要替换成的值。注意:前后两个参数的类型一定要一致。

如果是字符串或日期,放在单引号当中。

字面值:除了关键字都是。

sql*plus:

5. 如何查看表结构?

使用describe/desc 关键字。

如:desc[ribe] s_emp;

6. oracle中常用的数据类型。

number:存放任何数字(表示这两个参数非常大)

number(p,s) p:表示精度 s:表示刻度。

如number(5): 5表示精度和number(5,0)一样。

number()

number(5,2)

刻度,正数小数点右移,负数左移。四舍五入。

看有效位》再看精度->存放不下那这个叫溢出吗?不存了吗?

看有效位=再看精度->存放下,四舍五入最后一位。

看有效位《再看精度->直接存放。

2345.420?有效位是多少啊7

char[(5)]:定长,默认的值是1;char=char(1)

varchar(20):不定长。

varchar2(20):不定长(oracle所特有)

上面两个到目前为止没有任何区别!

如:’zs’

char(5) 占5个字符。

varchar(5) 占2个字符。

data 日期。

一共有七个时间分量(世纪/年/月/日/时/分/秒)

7. sql*plus的常用命令。

1) a[ppend] text

2) /表示执行sqlplus buffer中的内容。

3) c[hange]/old/ new

4) cl[ear] buff[er]:清空buffer

5) del 删除当前行。

6) i[input] text:表示在当前行下面增加一行。

7) l[ist] n:显示buffer中的内容。

8) n text : 表示修改覆盖第n行的内容。

9) host 暂时退出sqlplus执行windows命令。

10) cls清屏(windows)

11) !表示暂时退出sqlplus,执行unix命令。

s**e filename :将说执行的sql命令保存成一个文件

get filename:将文件中的sql命令加载到buffer中。

start filename:将文件中的sql命令加载到buffer中并执行。

filename:将文件中的sql命令加载到buffer中并执行。

edit filename:编辑保存sql命令的文件。

spoll filename:录制屏幕怎么停止呢?

spoll off 停止。

exit:退出sqlplus

column **

第二章。1. order by 子句。

(1)作用:对输出结果进行排序。

(2)出现位置:出现在select语句的最后。

如:select first_name,salary from s_emp order by salary

3)默认的是升序排列(asc可以省略不写),降序是desc

4)order by子句中可能出现的内容:

a) 列名。

b) 列的别名。

c) 列出现的顺序(位置)

d) 表达式。

(5) null是最大的,升序出现在最后,降序出现在最前。

(6)order by子句后面出现多个列,先按照第一个列去排序,如果第一个列区分不出大小,再按照第二个列排序。以此类推。

2. where 子句。

(1) 作用:筛选结果集。

(2) 出现位置:紧跟在from子句的后面。

(3) 可以出现的内容:列名,操作符,字面值。

(4) 常见的操作符:

< 不等于) <不等于) ^不等于)

between ..and ..注意:小值在前,大值在后。

in:表示固定的几个取值。

like:模糊查询。

通配0大多个字符。

通配1个字符。

在oracle当中任何一个字符都可以作为转义字符。\后面的字符就是那个字符,而不是什么(代表任意一个字符的特殊符了)

如:like ‘c\_%escape ‘\

一样:like ‘cs_%’escape ‘s’ /不建议。

is null:表示空。

is not null:而不是not is null

第三章。1, 常见的当行函数。

1) 处理字符串的。

lower:变成小写。

upper:变成大写。

initcap:把单词的首字母变成大写其它的变成小写。

concat:将两个字符串连接在一起跟||样。

substr:截取字符串。

length:求字符串的长度。

2) 处理空值的。

nvl:替换空值。

3) 处理数字的。

round:四舍五入。

trunc:直接舍区。

mod:求余数。

round(45.923,2)=45.92

round(45.923,0)=46

round(45.923)=46

round(45.923,-1)=50

trunc(45.923,2)=45.92

trunc(45.923)=45

trunc(45.923,-1)=40

oracle笔记

1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...

Oracle笔记

第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...

oracle笔记

clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...