oracle数据库开发参考

sql语法

  • 1.完整性约束条件

    • 列级完整性约束
    	NOT NULL
    
    • 表级列级均可用
    unique,check,primary key,foreign key
    
  • 2.表操作

    • 创建表
    create [[global]temporory|table|schema.]tablename
    (
    	<列名> <数据类型> [列级完整性约束条件],
    	...,
    	[表级完整性约束条件]
    )
    [on commit {delete|preserve}rows]
    [organizition {heap|index|external...}] -- 表类型
    [partition by...] --分区及子分区信息
    [tablespace 表空间名]
    [logging|nologging] --是否保存重做日志
    [compress|nocompress] --是否压缩
    
    • 增加列
    //括号有多个的时候使用
    alter table [schema.]tablename add (<列名> <数据类型> [default...])
    
    • 修改列
    alter table [schema.]tablename modify (<列名> [数据类型,长度,默认值...] )
    
    • 删除列
    alter table [schema.]tablename drop (<列名>,<列名>) [cascade constraints]
    
    //为了应对不影响高并发环境,使用unused标记字段不可用
    alter table [schema.]tablename set unused (<列名>,<列名>) [cascade constraints]
    
  • 3.索引

    • 创建索引
    create [unique]|[bitmap]index [schema.]index_name on [schema.]table_name([column1[ASC|DESC]...] | [express])
    [tablespace 表空间]
    [pctfree n1] --为insert预留的空间百分比
    [storage(initial n2)]
    [compress n3 | nocompress]
    [logging|nologging]
    [online]
    [compute statistics]
    [reverse | nosort]
    
    //demo
    create unique index tenantid_name_uk on hook(tenantId,name); --唯一索引
    create index tenantid_key on hook(tenantId);
    
    • 删除索引
    drop index index_name;
    
  • 4.视图

    • 创建视图
    create [or replace | force] view view_name
    [(column1, column2...)]
    as select ... from ... where ...
    [with check option][constraint 约束名]
    [with read only]
    
    • 删除视图
    drop view view_name;
    
  • 5.数据操作

    • 复制表插入记录
    create table table_name as select ....;
    
    • 使用视图
    //插入数据
    insert into v_view. --需要主表存在此信息
    //update
    update v_view set ...
    //删除
    delete from v_view
    
    • insert 数据
    insert into [user.]table [@db_link] (column1...) values (express...);
    //批量更新
    insert into table(...) select .... --select语法
    
    • update 数据
    update table_name set {column1=12, (column2[, column3]) = (select query)} [where ...]
    
    • 删除 数据
    delete from table [where ...]
    
    truncate table table_name [reuse storage | drop storage]
    
    • 授权
    grant <权限...> [on <对象类型> <对象>] [to <用户...>] [with grant option(可以分配给其他用户)]
    
    // demo
    grant select on table table_name to user1;
    grant all privileges on table table_name to user2;
    
    • 回收权限
    revoke <权限> [on <对象类型> 对象] from <用户...>
    
    • 内置函数
    //子符类函数
    ASCII(c1)	--c1是字符串,返回第一个字母的ASCII
    chr(i) --返回i对应的ascii,i是整数
    concat(c1,c2) --把c2连接到c1后面。
    initcap(c1)	--c1的每个单词的首字母大写,其余字母小写。
    instr(c1,c2,i,j) --返回从c1的第i个字符开始,c2出现第j次的位置号。
    length(c1) --返回c1的长度
    lower(c1) --返回c1的小写字母
    ltrim(c1,c2) --将c1最左边的字符去掉,使其第一个字符不在c2中。
    replace(c1,c2,c3) --用c3替换c2在c1的位置。
    substr(c1,i[,j]) --从第i个位置开始,返回j个长度的字符串。
    

    数学函数 在这里插入图片描述 在这里插入图片描述
    日期类函数
    在这里插入图片描述
    转换类函数
    在这里插入图片描述
    聚集类函数
    在这里插入图片描述
    在这里插入图片描述

表空间

  • 在空间充足下的管理 (建议做好空间评估,减少资源浪费)
    1.通过数据字典监视
select * from user_free_space;
select * from dba_free_space;

2.增加数据文件

alter tablespace t_space add datafile '/data/info.dbf' size 2M;
  • 空间不足的管理
    1.增加system表空间的数据文件大小
alter database orcl datafile '/data/info.dbf' resize 2M;

在这里插入图片描述
在这里插入图片描述

2.创建新表空间

create tablespace t_sp
datafile '/data/info.dbf' size 2M
default storage(
	inital 2M
	next 2M
	minextents 2
	maxextents 10
	pctincrease 20
)
online;

在这里插入图片描述
3.动态增加表空间

alter tablespace t_sp 
add datafile '/data/info.dbf' size 5M, '/data/info2.dbf' size 10M;

在这里插入图片描述
在这里插入图片描述

实战

  • 1.创建表空间
create tablespace webapp
datafile '/data/oracleData' size 50M
default storage(
	inital 500K
	next 500K
	minextents 1
	maxextents unlimited
	pctincrease 0
)
online;
  • 2.创建用户
create user 用户名 identified by 密码 default tablespace space_data(表空间名称) temporary tablespace space_temp(临时表空间名称);

//授权
grant connect,dba to 用户名;

//修改限额
ALTER USER "用户名" QUOTA UNLIMITED ON SPACE_DATA(表空间名称);

//删除用户及数据
drop user user_name cascade;
  • 3.创建表
create table 表名称 (
id  varchar2(50) primary key ,
name char(200) not null,
phone number(11) unique,
class carchar(10), 
foreign key (name)
)
tablespace USERS ----表放在USERS表空间
pctfree 10 ----保留10%空间给更新该块数据使用
initrans 1 -----初始化事物槽的个数
maxtrans 255 ----最大事务槽的个数
storage ----存储参数
(
initial 64K ---区段一次扩展64k
next 1M
minextents 1 ---最小区段数
maxextents unlimited --最大区段无限制
)

1、添加主键约束(将stuNo作为主键)

alter table stuInfo add constraint PK_stuNo primary key (stuNo)

2、添加外键约束 (主表stuInfo和从表stuMarks建立关系,关联字段stuNo)
alter table stuInfo 
add constraint FK_stuNo foreign key(stuNo) references stuinfo(stuNo)

3、添加唯一约束(身份证号唯一)
alter table stuInfo
add constraint UQ_stuID unique(stuID)

4、添加默认约束(如果地址不填 默认为“地址不详”)
alter table stuInfo
add constraint DF_stuAddress default (‘地址不详’) for stuAddress

5、添加检查约束 (对年龄加以限定 15-40岁之间)
alter table stuInfo
add constraint CK_stuAge check (stuAge between 15 and 40)

6、添加表注释:学生信息表

comment on table STUINFO 
is '学生信息表';

7、添加列名称:学号

comment on column STUINFO.stuid 
is '学号';
comment on column STUINFO.stuname
is '学生姓名';
  • 4.创建序列
CREATE SEQUENCE student_seq 	-- student_seq:序列名称
     INCREMENT BY 1 -- 每次增加1个
     START WITH 1 --从1开始计数
     NOMAXVALUE -- 不设置最大值
     NOCYCLE --直累加,不循环
     NOCACHE --不建立缓冲区
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Oracle数据库学习官方文档是Oracle公司官方提供的关于Oracle数据库的详细文档。这些文档包含了Oracle数据库的各个方面的知识和技术,从基础的数据库概念到高级的性能调优和安全管理,都能在官方文档中找到相应的内容。 首先,官方文档提供了全面而系统的数据库知识,包括数据库架构、SQL语言、数据类型、查询优化、索引设计等。无论是初学者还是有经验的数据库管理员,都可以通过官方文档来学习和掌握数据库相关的知识。 其次,官方文档中还提供了丰富的示例和实践指导,帮助用户理解和应用所学的数据库知识。通过这些示例,用户可以了解数据库操作的具体步骤和实际应用场景,提高自己的实践能力。 此外,官方文档还介绍了Oracle数据库的高级特性和功能,如分布式数据库、数据复制和备份恢复等。这些知识对于企业级数据库管理和应用开发非常重要,而且只有通过官方文档才能获得最权威的信息。 总而言之,Oracle数据库学习官方文档是学习和使用Oracle数据库的重要参考资料。通过学习官方文档,用户可以系统地掌握Oracle数据库的核心知识和技术,提升自身的数据库能力。而且,官方文档还可以帮助用户解决实际问题和应对挑战,是Oracle数据库学习和应用的必备工具。 ### 回答2: Oracle数据库学习官方文档是Oracle官方为用户提供的学习和使用Oracle数据库的指南和参考资料。它涵盖了各个方面的内容,旨在帮助用户深入了解和掌握Oracle数据库的各种功能和特性。 这些官方文档以易于理解和系统化的方式组织,从基础知识到高级技巧都有详细的说明和示例。学习者可以根据自己的需求选择不同的主题进行学习和参考,比如数据库管理、SQL语言、备份恢复、性能调优等。 Oracle数据库学习官方文档内容全面且经过验证,可以被认为是学习Oracle数据库的权威指南之一。它包含了许多实际案例和最佳实践,可以帮助用户更好地理解和应用Oracle数据库的特性,提高工作效率和数据库的性能。 此外,Oracle数据库学习官方文档不仅包含文字说明,还提供了丰富的图表、示意图和代码示例,使用户可以更直观地理解和学习。用户可以通过在线阅读或下载文档的方式获取所需信息,并根据自己的进度和需求进行学习。 总而言之,Oracle数据库学习官方文档是Oracle官方为用户提供的学习和参考资料,它详细介绍了Oracle数据库的各个方面,帮助用户深入了解和掌握Oracle数据库的功能和特性。通过学习官方文档,用户可以提高数据库技术水平,更好地应用Oracle数据库。 ### 回答3: Oracle数据库学习官方文档是指由Oracle公司官方发布的有关Oracle数据库的学习资料和文档。这些文档包括了Oracle数据库的各个方面,包括了基本概念、架构、常用功能和高级特性等内容。以下是关于Oracle数据库学习官方文档的一些重要特点和重要性: 1. 全面而详细:Oracle数据库学习官方文档提供了对Oracle数据库各个方面的详细说明,包括了数据库的基本原理、SQL语言、PL/SQL编程、数据库管理等内容。这些文档能够帮助学习者全面了解并掌握Oracle数据库的技术细节。 2. 权威可靠:由于Oracle公司的官方发布,这些学习文档具有高度的可信度和权威性。学习者可以通过学习官方文档,了解到Oracle数据库的最新版本的特性和更新。 3. 丰富的实例和示例:Oracle数据库学习官方文档中包含了大量的实例和示例代码,这些实例能够帮助学习者更好地理解和掌握数据库的使用方法和技巧。 4. 完备的参考手册:Oracle数据库学习官方文档也作为一份完备的参考手册存在,学习者可以在实际使用Oracle数据库时随时查阅相关文档来解决问题和获取帮助。 5. 更新迭代及时:Oracle公司会对数据库进行不断的更新和迭代,并相应地更新和发布学习官方文档,以保持其与最新版本的数据库同步。 对于学习和使用Oracle数据库的人来说,Oracle数据库学习官方文档是一份非常有价值的学习资料。通过阅读官方文档,学习者能够对数据库有更深入的了解,掌握数据库相关的知识和技能,并在实践中应用所学知识。同时,官方文档也能够帮助学习者及时了解到Oracle数据库的最新特性和功能,使其能够保持在技术的前沿。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值