Oracle数据库的基本操作.docx

上传人:b****8 文档编号:10645352 上传时间:2023-02-22 格式:DOCX 页数:13 大小:189.74KB
下载 相关 举报
Oracle数据库的基本操作.docx_第1页
第1页 / 共13页
Oracle数据库的基本操作.docx_第2页
第2页 / 共13页
Oracle数据库的基本操作.docx_第3页
第3页 / 共13页
Oracle数据库的基本操作.docx_第4页
第4页 / 共13页
Oracle数据库的基本操作.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Oracle数据库的基本操作.docx

《Oracle数据库的基本操作.docx》由会员分享,可在线阅读,更多相关《Oracle数据库的基本操作.docx(13页珍藏版)》请在冰豆网上搜索。

Oracle数据库的基本操作.docx

Oracle数据库的基本操作

6、Oracle?

?

?

?

?

?

?

?

?

?

?

Linux?

?

su-root?

?

?

?

?

?

?

?

?

?

1.连接数据库

Sqlplus/assysdba?

sys?

?

?

?

?

?

?

?

2.解锁用户

alteruserhridentifiedbyhraccountunlock;?

hr?

?

?

?

(?

?

?

/?

?

3.连接到用户

Coonhr/hr?

?

?

hr?

?

(?

?

?

/?

?

4.打开关闭

Shutdown?

?

?

?

?

Startup?

?

?

?

?

5.查看

Select*fromtab;?

?

?

?

?

?

?

?

?

Showuser?

?

?

?

?

?

6.设置时间显示格式

altersessionsetnls_date_format='yyyy-mm-ddhh24:

mi:

ss';

?

?

:

2013-07-2714:

21:

28

7.oracle的表的管理

7.1显示和设置环境变量

1.linesize

?

?

:

?

?

?

?

?

?

?

?

?

?

?

80?

?

?

showlinesize

setlinesize90

2.Pagesize

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

14

?

?

?

linesize?

?

7.2标识符命名规则

?

?

?

?

?

?

?

?

?

∙?

?

?

?

?

?

?

∙?

?

?

?

?

?

30?

?

?

∙?

?

?

?

oracle?

?

?

?

∙?

?

?

?

?

?

?

?

A-Z,a-z,0-9,$,#?

7.3oracle支持的数据类型

?

?

?

char   ?

?

?

?

2000?

?

?

?

?

?

:

char(10) ‘?

?

’?

?

?

?

?

?

‘?

?

’,?

?

6?

?

?

?

?

?

‘?

?

varchar2(20) ?

?

 ?

?

4000?

?

?

?

?

?

:

varchar2(10)‘?

?

’oracle?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

clob(characterlargeobject)?

?

?

?

?

?

?

?

4G

char?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

varchar?

?

?

?

?

?

?

number?

?

-10?

38?

?

?

10?

38?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

number(5,2)

?

?

?

?

?

?

?

5?

?

?

?

2?

?

?

?

?

:

-999.99?

999.99

number(5)

?

?

?

?

5?

?

?

?

?

99999?

-99999

?

?

?

?

date?

?

?

?

?

?

?

?

?

  oracle?

?

?

?

 1-1?

-1999

timestamp?

?

oracle9i?

date?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

blob?

?

?

?

?

?

?

?

?

?

?

/?

?

 4G  ?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

7.4创建表

?

?

?

?

createtablestudent(   ---?

?

         xh      number(4),  --?

?

         xm   varchar2(20),  --?

?

         sex     char

(2),    --?

?

         birthdaydate,        --?

?

?

?

         sal     number(7,2)  --?

?

?

);

?

?

?

?

?

?

?

?

?

?

?

Createtablebiaoming

Asselect*fromdempwhere1=2;

新表t14的字段名称、类型、长度,和dept表完全相同,只是没有内容

?

?

?

?

?

?

?

?

Createtablebiaoming

Asselect*fromdemp;

新表t14的字段名称、类型、长度,值和dept表完全相同。

7.5插入数据

?

?

?

?

?

?

Insertintobiaomingvalues(,,,);commit?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Insertintobiaoming(ziduan1,ziduan2,ziduan3)

Values(zhi1,zhi2,zhi3)

赋值过程中,时间和字符串要加单引号;注意类型匹配,不然会发生隐式类型转换;

?

?

?

?

?

Altertablet10modify(enamedefault‘haha’)

?

?

t10?

?

?

?

;(?

?

ename?

default?

?

?

?

t10?

insert?

?

?

?

?

?

?

?

ename?

?

?

?

?

?

?

?

’haha’?

?

?

?

;

?

?

?

?

?

default?

?

?

?

?

?

?

?

?

?

?

?

’haha’?

?

?

?

;

?

?

?

?

?

?

?

?

?

?

?

?

?

?

default?

?

?

?

null;?

?

?

?

?

?

?

?

?

?

null,?

?

?

?

?

?

default?

;

?

?

?

?

?

?

?

?

?

?

Insertintot10(empno,ename,sal)

Values(&haha,’&hehe’,’&xixi’);

?

?

?

?

?

?

?

?

?

?

?

Insertintot10(empno,ename)

Selectempno,enamefromemp

Whererownum<=3;

?

emp?

?

?

empno,ename?

?

?

?

?

?

t10?

?

7.6更新数据

Updatet10commit;?

?

?

?

?

?

Setcomm=zhi,job=‘zhi’

Whereempno=1002;

?

?

?

?

?

where?

?

?

t10?

?

?

?

?

?

?

comm?

?

?

?

?

?

200;

7.7删除操作

Deletefromt10from?

?

?

?

Whereempno=1002;

7.8查询操作

7.8.1?

?

?

?

?

?

?

?

?

Select*fromtab;

Select*fromemp;?

?

emo?

?

?

?

?

?

Descemp;?

?

emp?

?

?

?

7.8.2?

?

?

?

?

?

?

?

?

?

?

?

?

?

Selectempno,ename

fromemp;

7.8.3?

?

?

?

?

?

?

?

?

Selectsysdatefromdual;dual?

?

?

?

?

?

?

?

?

?

?

select?

?

?

?

?

7.8.4?

?

?

?

?

?

?

?

?

?

?

;(session?

?

?

?

?

?

?

?

?

?

?

?

Altersessionsetnls_date_fomat=‘yyyy-mm-ddhh24:

mi:

ss’;

7.8.5?

?

?

?

Selectsysdate+2,sysdate+2/24,sysdate+2/24/60,sysdate+2/24/60/60fromdual;

系统时间+2天系统时间+2小时系统时间+2分钟系统时间+2秒

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

7.8.6?

?

null?

?

?

?

?

:

null?

?

?

0,?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

step1:

?

?

?

?

?

?

?

?

?

(?

?

comm?

?

?

?

step2:

?

?

comm?

null?

?

?

null?

?

?

?

?

:

where?

?

?

?

?

?

?

=?

?

<>(?

?

?

?

?

?

!

=?

?

<>?

?

^=,?

?

?

?

?

?

<>)

step3:

null?

?

?

?

?

?

:

?

?

?

?

null?

?

?

?

?

?

?

?

?

?

null;

5.?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

6.?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

;

6.1?

?

?

?

?

?

isanameof?

?

?

?

6.2?

?

?

?

?

?

‘snameis?

?

?

?

6.3?

?

?

?

?

?

isanumber,andit’snameis?

?

?

?

?

?

:

?

?

?

?

?

‘‘?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

?

:

?

?

?

?

?

?

?

?

?

?

?

7.?

?

?

?

?

?

?

?

7.1?

?

?

?

?

emp?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

;?

?

distinct?

?

?

?

?

;

?

?

:

distinct?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

?

?

:

tempinfo?

?

?

1234?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

emp?

?

?

?

?

?

?

?

?

;

?

job?

tempinfo?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

7.8.7查找时限定约束条件

1.?

emp?

?

?

?

?

?

?

?

1500?

2500?

?

?

?

?

?

Select*fromempwheresalbetween1000and1200;

2.?

emp?

?

?

?

?

?

10,20?

?

?

?

?

?

?

?

;

Select*fromempwheresalin(10,20);

3.?

emp?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

‘O’?

?

?

?

?

?

;

Select* fromempwhereenamelike‘%o%’

4.检索包含%的记录信息;

Select*fromempwhereenamelike‘%\%%’escape‘\’

5.检索以%开头的记录信息

Select* fromempwhereenamelike‘\%%’escape‘\’

6.?

?

?

?

?

?

?

?

?

Select*fromempwhereename=‘john’orderbysalasc;?

?

Select*fromempwhereename=‘john’orderbysalasc;?

?

asc或者desc影响的字段,仅仅是它紧挨着的那个字段升降顺序;

如果orderby后面跟多个字段,则将结果集先按照第1个字段进行排序,【条件1】,再按照第2个字段进行排序;

Null值的处理

select*fromemporderbycommascnullsfirst;空值排在前

select*fromemporderbycommdescnullslast;空值排在后

7.9多表查询

7.9.1?

?

?

?

Selecte.empno,e.ename,e.deptno,d.dname

Fromempe,deptd

Wheree.deptno=d.deptno;

7.9.2?

?

?

?

?

Selecte.ename,e.sal,j.grade

Fromempe,salgradej

Wheree.salbetweenj.losalandj.hisal;

7.9.3?

?

?

Selecte.empno,e.ename,e.deptno,d.dname

Fromempe

Innerjoindeptd

One.deptno=d.deptno;

7.9.4?

?

?

------------------------------------

7.10子查询

1.?

emp?

?

?

?

?

?

?

?

?

CLARK?

?

?

Select*fromemp

Wheresal>(selectsalfromempwhereename=‘CLARK’);

2.?

?

?

Clark?

?

?

?

?

?

?

?

sal?

?

clark?

?

?

?

?

?

;

Select*fromemp

Wheredeptno=(selectdeptnofromempwhereename=‘clark’)

Andsal>(selectsalfromempwhereename=‘clark’);

3.?

emp?

?

?

?

?

?

?

?

?

?

?

Select*fromemp

Wheresal=(selectmin(sal)fromemp);

4.?

?

?

?

sales?

?

?

?

?

?

?

?

?

?

---------------------------

7.11函数

7.11.1字符处理函数

lower(s),将所给的字符串s全部转换成小写;

upper(s),将所给的字符串s全部转换成大写;

initcap(s),将所给的字符串s中的每个单词转换成首字母大写;

Selectlower(‘howAREyou’)resultfromdual;

concat(s1,s2):

?

?

?

?

s1?

?

?

?

s2?

?

?

?

;

rownum?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

select*from…?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;?

?

?

?

rowid,?

?

?

?

?

?

?

?

?

?

64?

?

?

?

;(?

?

?

?

?

?

?

?

?

?

rownum?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

substr(s,m,[n]):

?

?

?

?

?

?

?

?

?

s?

?

?

?

?

?

?

?

?

?

;

?

?

:

m?

?

?

?

?

?

s?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;?

?

?

?

?

?

?

?

?

?

?

;

n?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

m?

?

?

?

?

?

?

?

?

;

length(s):

?

?

?

?

?

?

?

?

?

s?

?

?

?

?

?

?

(?

?

?

?

?

?

?

?

?

1?

?

?

;?

?

?

?

?

?

?

2?

?

?

?

?

instr(s,s1,[m],[n]):

?

?

?

?

?

?

s1?

?

?

?

s?

?

?

m?

?

?

?

?

?

n?

?

?

?

?

?

?

?

?

?

?

?

?

;

?

?

:

?

?

m?

?

?

?

?

?

?

?

?

m?

?

?

?

?

?

;

?

?

m,n?

?

?

?

?

?

?

?

?

1?

?

?

?

?

?

?

?

s?

?

1?

?

?

s1?

?

?

?

?

;

lpad(s,n,s1):

?

?

?

?

s?

?

?

?

?

?

s1,?

?

?

?

?

n;

rpad(s,n,s1):

?

?

?

?

s?

?

?

?

?

?

s1,?

?

?

?

?

n;

trim(leading|trailing|boths1froms):

?

?

?

?

?

?

?

s1?

s?

?

?

;

?

?

:

leading?

?

?

s?

?

?

s1?

?

;trailing?

?

?

s?

?

?

s1?

?

;both?

?

?

s?

?

?

s1?

?

;(?

?

?

?

s?

?

?

?

s1,?

?

?

?

?

;

replace(s,s1,s2):

?

?

?

?

?

?

s?

?

s1?

s2?

?

?

;

7.11.2数字处理函数(主要针对数字的格式进行设定)

round(c,[n]):

?

?

?

?

?

c?

?

?

?

?

?

;

?

?

:

n?

?

?

?

?

?

?

?

?

?

?

?

?

;?

?

n?

?

?

?

?

?

?

?

;?

?

n?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

trunc(c,[n]):

?

?

?

?

?

c?

?

?

?

?

?

?

?

?

?

n?

;

?

?

:

n?

?

?

?

?

?

?

?

?

?

?

n?

?

?

n?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

?

?

n?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;?

?

n?

?

?

?

?

?

?

?

?

?

?

?

?

n?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;

nvl(e1,e2):

如果第1个参数e1的值为null,则返回e2的值;

nvl2(e1,e2,e3):

如果第1个参数e1的值为null,则返回e3的值;

如果第1个参数e1的值不为null,则返回e2的值;

7.11.3组函数

Avg([ditingct|all]expr):

计算expr的平均值

Sum([distinct|all]expr):

计算expr的总计值

Max([distinct|all]expr):

计算expr的最大值

Min([distinct|all]expr):

计算expr的最小值

Count(*[distinct|all]expr):

计算表中数据总数

说明:

distinct去除重复值,all所有值,空值被自动忽略

Groupby创建数据组

Selectdeptno,job,sum(sal),count(*),avg(sal)

Fromemp

Groupbydeptno,job

Orderbydeptno;

使用where子句对分组前的的数据进行筛选,使用having子句对分组后的数据进行筛选

组函数不能使用在where中,可以使用在having中

Select*fromempgroupbydeptnohavingavg(sal)<200

Orderbydeptno;正确

Select*fromempgroupbydeptnowhereavg(sal)<200

Orderbydeptno;错误

SQL语句的编译顺序from--where--groupby--having--select--orderby

7.12约束

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1