oracle从零开始Word文件下载.docx
- 文档编号:19738028
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:14
- 大小:28.27KB
oracle从零开始Word文件下载.docx
《oracle从零开始Word文件下载.docx》由会员分享,可在线阅读,更多相关《oracle从零开始Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
altersessionsetnls_date_format='
yyyy-mm-dd'
;
改日期的默认格式
conn/assysdba select*fromv$version;
查看当前Oracle的版本
connsystem/welcomeselect*fromv$tablespace;
查看表空间
5.表空间 用户表三者的关系
一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用
从零开始学Oracle—基本语法解析
(二)
(1)
共167人阅读
Oracle数据操作语言DML
接上一篇:
2.DML语句(数据操作语言)DataManupilateLanguage
select
insert
delete
update
特点:
<
1>
对数据起作用的
<
2>
这些语句的修改是在内存中发生的
要想改动存入库中必须要commit语句
查看当前用户的所有权限
select*fromsession_privs;
查看当前用户下的所有表
select*fromtabwheretabtype='
3.TCL(事务控制语句)TransactionControlLanguage
commit;
提交 修改保存到数据库中
rollback;
回滚 取消内存中的改动
savepoint;
保存点分解事务的把事务变小
DDL语句会自动提交以前未提交的事务
关闭SQLplus工具也会自动提交未提交的事务的
事务--就是一个完整的对数据的DML操作
所有事务都是要明确的提交和回滚的
--转账
update账目表
set钱=钱-500
where帐号='
A'
set钱=钱+500
B'
commit;
事务何时存在DML语句中除select以外都会有事务
《《《《《《《注意》》》》》/重复运行上一条SQL语句
结束上一个事务并且开始一个新的事务
updatestudentsetsal=nullwherexh=1000;
从零开始学Oracle-—约束(三)
共145人阅读
给表添加约束
主键约束-- 每个表要有主键,唯一的标识一行数据
非空约束
唯一性约束
外键约束
检查约束
查看一个表的约束:
selectconstraint_name,constraint_type
fromuser_constraints
wheretable_name='
表名'
查看约束作用于那个字段:
select*fromuser_cons_columns
whereCONSTRAINT_NAME='
约束名;
1.建立表的同时使用约束
createtablestudent(--学生表
xhnumber(4)primarykey,--学号主键
xmvarchar2(10)notnull,--姓名不能为空
sexchar
(2) check(sexin('
男'
'
女'
)),--性别
birthdaydateunique,--日期
salnumber(7,2)check(salbetween500and1000),--奖学金sal>
=500andsal<
=1000
classidnumber
(2)referencescla(id)
);
--必须要先有cla表才对
--一定先建立班级cla表
2.建立约束的同时给约束指定名字,便于删除
createtablestu(--学生表
xhnumber(4)constraintpk_stuprimarykey,--学号是主键
xmvarchar2(20)constraintnn_stunotnull,--姓名非空
agenumber
(2)constraintck_stucheck(agebetween10and90),
birthdaydate,
shenfenzhengnumber(18)constraintuq_stuunique,--身份证唯一
classidnumber
(2)constraintfk_stureferencescla(id)--班级编号外键
--(引用的一定是另外表的主键或唯一性约束的字段)
);
3.建完表后加约束
添加主键约束:
altertablestudentaddconstraintpk_stuprimarykey(xh);
添加非空约束:
altertablestudentmodify(xmnotnull);
检查约束:
altertablestudentaddcheck(sexin('
));
altertablestudentaddconstraintck_salcheck(salbetween500and1000));
添加外键约束:
altertablestudentaddconstraintfk_stu foreignkey(classid)referencescla(id);
添加唯一约束:
altertablestudentaddconstraint uq_sfzunique(shenfenzheng);
4.删除约束:
格式:
altertable表名dropconstraint约束名
altertablestudentdropconstraint fk_stu;
从零开始学Oracle—内建函数(四)
(1)
共268人阅读
SQL函数
单行函数:
返回值只有1个,可以出现在Select字句或Where字句中
分组函数:
返回值是多条记录
一。
单行函数:
1.ASCII
返回与指定的字符对应的十进制数;
SQL>
selectascii('
)A,ascii('
a'
)a,ascii('
0'
)zero,ascii('
'
)spacefromdual;
A A ZERO SPACE
------------------------------------
65 97 48 32
2.CHR
给出整数,返回对应的字符;
selectchr(54740)zhao,chr(65)chr65fromdual;
ZHC
---
赵A
3.CONCAT
连接两个字符串;
selectconcat('
010-'
88888888'
)||'
转23'
高乾竞电话fromdual;
高乾竞电话
----------------
010-********转23
4.INITCAP
返回字符串并将字符串的第一个字母变为大写;
selectinitcap('
smith'
)uppfromdual;
UPP
-----
Smith
5.INSTR(C1,C2,I,J)
在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1 被搜索的字符串
C2 希望搜索的字符串
I 搜索的开始位置,默认为1
J 出现的位置,默认为1
selectinstr('
oracletraning'
ra'
1,2)instringfromdual;
INSTRING
---------
9
6.length 返回字符串的长度;
7.LOWER 返回字符串,并将所有的字符小写
8.UPPER 返回字符串,并将所有的字符大写
9.RPAD和LPAD(粘贴字符)
RPAD 在列的右边粘贴字符
LPAD 在列的左边粘贴字符
selectlpad(rpad('
gao'
10,'
*'
),17,'
)fromdual;
LPAD(RPAD('
GAO'
1
-----------------
*******gao*******
不够字符则用*来填满
10.LTRIM和RTRIM
LTRIM(字符串,值) 删除字符串左边指定的值
RTRIM(字符串,值) 删除字符串右边指定的值
11.SUBSTR(string,start,count)
取子字符串,从start开始,取count个
12.REPLACE('
string'
s1'
s2'
)
string 希望被替换的字符或变量
s1 被替换的字符串
s2 要替换的字符串
13.SOUNDEX
返回一个与给定的字符串读音相同的字符串
createtabletable1(xmvarchar(8));
insertintotable1values('
weather'
);
wether'
selectxmfromtable1wheresoundex(xm)=soundex('
XM
--------
weather
wether
14.ROUND和TRUNC
按照指定的精度进行舍入
selectround(55.5),round(-55.4),trunc(55.5),trunc(-55.5)fromdual;
ROUND(55.5)ROUND(-55.4)TRUNC(55.5)TRUNC(-55.5)
----------------------------------------------
56 -55 55 -55
15.Least('
表达式1'
表达式2'
表达式3'
) 返回一组表达式中的最小值
16.TO_NUMBER 将给出的字符转换为数字
17.TO_DATE(string,'
format'
)将字符串转化为ORACLE中的一个日期
18.NEXT_DAY(date,'
day'
) 给出日期date和星期x之后计算下一个星期的日期
19..MONTHS_BETWEEN(date2,date1)两个日期相差的天数
20.Decode(字段1,值1,结果1,值2,结果2...,默认值)
21.nvl(表达式1,表达式2)表达式1为NULL,返回表达式2;
不为NULL,返回表达式1。
注意两者的类型要一致
22.nvl2(a,b,c)
表达式1不为NULL,返回表达式2;
为NULL.返回表达式3。
表达式2和表达式3类型不同的话,表达式3会转换为表达式2的类型
23.nullif(expr1,expr2)->
相等返回NULL,不等返回expr1
从零开始学Oracle—内建对象(五)
(1)
共186人阅读
1. 序列
查询当前用户下的序列:
select*fromuser_sequences
定义:
用来生成唯一、连续的整数的数据库对象,序列通常用来自动生成主键或唯一键的值、可升、可降序排列.
语法:
Create sequence序列名称 //从1开始每次自动增加1没有最大值
[starwith值] 指定要生成的第一个序列号,对于升序默认值为最小值、反之...
[increment by值] 间隔数
[maxvalue 值|nomaxvalue] 序列最大值,如果指定为nomaxvalue,则升序最大值为10的27次方,降序-1.
[minvalue 值|nominvalue] 序列最小值,-----------------------升序为1,降序为10的负26次方
[cycle|nocycle] cycle指序列到达最大或最小时,将从头开始生成值 nocycle值不在生成
[cache 值|nocache] 预先分配一组序列号,将其保存在内存中.默认缓存20个序列
访问序列方法:
currval和nextval --当前序列select序列名.currvalfromdual
更改序列:
Altersequence序列名
删除序列:
dropsequence序列名
注意-------------序列使用时需要先用nextval输出完以后再来使用
使用:
1.和表关联作为表的字段的值
a)createtablestudent(
xhnumber(4)primarykey,--学号
xmvarchar2(20)notnull--姓名
要求:
学号字段从1000开始每次增加4最大值9999
--建立序列
createsequencexh_seq
startwith1000--从1000开始
incrementby4 --每次增加4
maxvalue9999 --最大值9999
;
--使用SQL语句关联
insertintostudentvalues
(xh_seq.nextval,'
Mike'
John'
Rose'
--特点:
能产生唯一的值,但是不能保证值在表中的连续性
b)createtableteacher(
teacherxhvarchar2(10)primarykey,
teachernamevarchar2(20)
);
要求:
教师的编号的格式是TH00001
TH00002
....
--建立序列
createsequenceteacher_seq
maxvalue99999;
-
insertintoteachervalues('
TH'
||
ltrim(to_char(teacher_seq.nextval,'
00000'
)),
'
张三'
insertintoteachervalues('
李'
insertintoteachervalues('
王'
从零开始学Oracle—性能对象(六)
(1)
共111人阅读
Oracle性能对象
要点:
分区必须是在创建表的结构时指定,分区方式一旦指定是不能改变的。
分区方式:
1范围分区
2散列分区
3复合分区
3列表分区
表分区的优点:
一、改善表的查询性能
二、表更容易管理,表的数据存储在多个部分,按分区加载和删除数据更快
三、便于备份和恢复
四、提高数据安全性
-----------注意:
要分区的表不能具有Long和Longraw数据类型
范围分区:
根据表的某个列或一组列的值范围,决定将数据存储在那个分区
createtableniegc_part
(
part_idintegerprimarykey,
part_datedate,
part_decvarchar2(100)
)
partitionbyrange(part_date)--根据日期分区
(
partitionpart_01valueslessthan(to_date('
2006-01-01'
))tablespacedw1,
partitionpart_02valueslessthan(to_date('
2007-01-01'
))tablespacedw2,
partitionpart_03valueslessthan(maxvalue)tablespacedw1
);
散列分区
散列分区通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O设备上进行散列分区
,使行这些分区大小一致。
如将part_id的数据根据自身的情况散列地存放在指定的二个表空间中:
part_idintegerprimarykey,
part_datedate,
part_decvarchar2(100)
partitionbyhash(part_id)
partitionpart_01 tablespacedw1,
partitionpart_02 tablespacedw2
从零开始学Oracle—PL/SQL(七)
(1)
共170人阅读
PL/SQL简介
PL/SQL(ProceduralLanguageSql,过程语言|SQL)是结合了Oracle过程语言和结构化查询语言(SQL)的一种扩展语言.
PL/SQL块是一段后台服务程序,它负责将数据从数据库中取出来,在PL/SQL块中进行处理,将处理的结果送到数据库.
优点:
1,支持SQL
2,支持面向对象编程(OOP)
3,更好的性能
4,可移置性
5,与SQL集成--支持所有SQL数据类型和Null值,另%type %rowType属性类型更加强了这种集成
6,安全性
PL/SQL块包括3个部分:
1,声明部分 --变量,游标,自定义异常,局部子程序
2,可执行部分 --执行命令,可嵌套子块
3,异常处理部分
1PL/SQL块
2 declare
3
4 begin
5 --SQL语句
6 --直接写的SQL语句(DML/TCL)
7 --间接写executeimmediate<
DDL/DCL命令字符串>
8 --select语句
9 <
必须带有into子句
10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 从零开始
![提示](https://static.bdocx.com/images/bang_tan.gif)