上节回顾:
1、了解软件开发流程
2、新建表
create table 表名(
字段名 类型,
字段名 类型
);
一对一:
一对多:
多对多:
Oracle day5
删除一条记录
语法:
delete from 表名;=========》删除表中所有记录
delete from 表名 where 条件=====》删除表中单条记录
删除test表中编号为2的记录;
delete from test where id = 2;
删除test表中所有记录;
delete from test;
级联删除
主表:
create table test1(
t1_id number primary key
);
子表:
create table test2(
t2_id number primary key,
id number references test1(t1_id)
);
给级联表增加记录时必须按顺序增加
主表增加记录:
insert into test1 values(1);
insert into test1 values(2);
insert into test1 values(3);
子表增加记录
insert into test2 values(1,1);
insert into test2 values(2,2);
删除test1表中编号为1的记录;
deltet from test2 where t2_id=
delete from test1 where t1_id = 1;
级联删除属性 on delete cascade
create table test3(
t3_id number primary key
);
create table test4(
t4_id number primary key,
id number references test3(t3_id) on delete cascade
);
insert into test3 values(1);
insert into test3 values(2);
insert into test4 values(1,1);
insert into test4 values(2,2);
delect from test3 where t3_id =1;
级联删除并设置默认值(字段值设计为空)on delete set null
create table parent(
p_id number primary key
);
create table child(
c_id number primary key,
id number references parent(p_id) on delete set null
);
insert into parent values(1);
insert into child values(1,1);
delete from parent where p_id =1;
CRUD 包括:增、删、改、查
create table test(
id number,
name varchar2(32)
);
增加记录:
语法:
1、insert into 表名 values(所有值);
2、insert into 表名(字段名) values(值);
insert into test values(1,'11');
insert into test(id,name) values(2,'22');
insert into test(name,id) values(4,'44');
复制一张表(结构复杂)
语法:create table 表名 as select * from 表名 where 1!=1;
create table test1 as select * from test where 1!=1;
更改:
语法:update 表名 set 字段=值,字段=值...... where 条件
更新test表中编号为1的记录
update test set name='aaaa' where id = 1;
删除{一般删除、级联删除}
数据库事务
存款和取款
commit 数据提交
回滚操作必须在事物提交前操作
rollback 回滚 ========>上一操作
savepoint 名字; ===========》设置保存点
rollback to 保存点名字=====》保存点的操作
create table test(
n number
);
insert into test values(1);
select * from test;
rollback;
insert into test values(1);
select * from test;
commit;
insert into test values(100);
savepoint a100;
insert into test values(1000);
savepoint a1000;
insert into test values(10000);
savepoint a10000;
rollback to a100;
修改表、表结构
修改 alter
增加字段:
语法:alter table 表名 add(字段名 字段类型);
增加字段的关键字:add
给test表中添加一个name字段
alter table test add(name varchar2(32));
删除字段
语法:alter table 表名 drop(字段名);
删除test表中name字段
alter table test drop(name);
更改一个字段:
语法:alter table 表名 modify(字段名 更改类型);
将test表中的name字段类型改为number;
alter table test modify(name number);
增加约束
增加主键约束
语法:alter table 表名 add constraint 主键名称 primary key(字段名);
给test表中n字段增加主键
alter table test add constraint test_pk_01 primary key(n);
删除约束
删除主键约束
语法:alter table 表名 drop constraint 约束名字
将test表中的约束删除
alter table test drop constraint test_pk_01;
删除表
语法:drop table 表名
删除test这张表
drop table test;
oracle 9g之前是不可更改
更改表名
语法:rename 原有表名 to 将在更改的表名
rename test to test01;
删除大量数据
语法:truncate table 表名
删除test01表中的数据
truncate table test01;
序列:sequence
新建序列
create sequence 序列名称
[
increment by n 步长
start with n 开始值
maxvalue n | nomaxvalue 设置最大值或者无限大
minvalue n | nominvalue 设置最小值或者无限小
cycle | nocycle 是否轮回
cache n | nocache 缓存
]
nextval ==================》取sequence的下一个值
cruuval ==================》取sequence的当前值
create table test(
id number primary key,
name varchar2(32)
);
insert into test values(1,'aa');
insert into test values(2,'dd');
新建序列
create sequence my_sequ;
select my_sequ.nextval from dual;
delete from test;
insert into test values(my_sequ.nextval,'cc');
新建序列
create sequence my_seq1 increment by 10 start with 20;
select my_seq1.nextval from dual;
insert into test values(my_seq1.nextval,'cc');
删除序列:
语句:drop sequence 序列名称
drop sequence my_seq1;
使用视图优势:
1、简化SQL语句
2、控制数据访问
视图:
新建视图
语法:create view 视图名称 as 具体的操作
一般视图:
create view my_view as select * from test;
复杂视图:
create view my_view as select s_a.last_name,s_b.last_name from s_emp s_a left outer join s_emp s_b on s_a.id = s_b.manager_id;
查看视图
select * from my_view;
删除视图
语法:drop view 视图名称
使用索引的优势:
1、查询多、增删改少
2、数据量大的时候才会用索引
索引:
唯一索引:
一般索引:
创建索引:
唯一索引语法:create unique index 索引名
一般索引语法:create index 索引名
新建表
create table test(
id number
);
给test表中的id增加索引
create unique index my_index on test(id);
给test表中的name增加索引
create index my_index on test(name);
删除索引
语法:drop index 索引名;
查看数据库中所有的索引
select * from user_indexex;
select index_name from user_indexex;
分享到:
相关推荐
oracle5.jar
Oracle数据库在Java应用程序中通常通过JDBC(Java Database Connectivity)驱动进行交互,而`ojdbc6.jar`和`ojdbc5.jar`就是Oracle公司提供的JDBC驱动程序,用于连接Java应用到Oracle数据库。这两个jar包是Oracle ...
【小布Oracle DBA5-6集】是一个关于Oracle数据库管理的系列教程,主要针对数据库管理员(DBA)的角色和工作进行深入讲解。Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,它提供了高性能、高可用性和...
oracle5备份恢复.pptx
EMS 2007 for Oracle 5/8
Spotlight on Oracle是Oracle 数据库监控诊断工具, 它将所有监控下的数据库组件转化为图形显示,藉此协助DBA轻松掌控 Oracle 数据库的管理。压缩包中包括安装工具、注册机以及该工具的使用文档。
例如,cx_Oracle 6.0版本的新增功能、cx_Oracle 5.x版本的发布说明,甚至还有早期版本的更新记录。最后,文档也包含了许可证条款以及Python模块索引。 总而言之,cx_Oracle官方文档提供了一个全面的指南,从基础的...
cx_Oracle是Python中用于与Oracle数据库交互的一个重要库,它提供了高效、稳定的接口,使得Python程序员可以方便地操作Oracle数据库。这里我们将深入探讨cx_Oracle-5.1.3.tar.gz这个压缩包以及与其相关的oracle-...
语言:English Dungeons&Dragons第5版的快速参考工具 Oracle 5e让您查找地牢和龙规则和咒语和怪物等信息,为您提供详细信息列表 秒。 停止翻转规则书籍和复杂的网站,让Oracle 5e立即获得信息!
Oracle驱动ODBC5和ODBC6是Oracle数据库与Java应用程序之间进行数据交互的重要组件,主要用于实现JDBC(Java Database Connectivity)连接。Oracle JDBC驱动程序允许Java开发者在Java应用程序中访问和操作Oracle...
Oracle数据库系统中内置了MD5函数,这是一种广泛使用的哈希函数,用于生成固定长度的数字摘要,通常用于数据完整性校验和密码存储。MD5全称为Message-Digest Algorithm 5,由Ron Rivest在1991年设计,尽管它在安全性...
- **1985年4月**:Oracle 5版发布。 - **1988年7月**:Oracle 6.0版发布。 - **1992年6月**:Oracle 7.0版发布。 - **1994年5月**:Oracle 7.1版发布。 - **1995年5月**:Oracle 7.2版发布。 - **1996年2月**:...
Oracle数据库作为一种企业级的数据库管理系统,提供了多种方式来实现MD5加密,这对于确保数据的安全性至关重要。本文将深入探讨如何在Oracle中实现MD5加密,并通过具体示例代码进行说明。 ### Oracle实现MD5加密的...
SSMA(SQL Server Migration Assistant)for Oracle是微软开发的一款工具,专门用于将Oracle数据库系统迁移至Microsoft SQL Server。这个工具提供了高效且自动化的方法,帮助用户转换Oracle数据库的对象和数据到SQL ...
Oracle Linux R6 U5 (Update 5) 是该操作系统的第六个主要版本的第五次更新,提供了对x86_64架构的支持。这个操作系统的关键特性包括对性能的优化,特别是对于运行Oracle软件的服务器,以及与Red Hat Enterprise ...
例如,Oracle 4将关系数据库引入桌面计算机,Oracle 5引入了分布式数据库和客户/服务器架构,而Oracle 6则开创了行锁定模式和对称多处理支持。 Oracle Database 12c是最新的版本,它特别强调云计算的集成。12c引入...
5、本软件卸载时,将删除已安装的文件、环境变量及相应的注册表信息,绝对绿色! 注: 已安装了oracle的用户,如想试用本软件,安装前请备份好与oracle相关的注册表信息! 否则,卸载本软件将影响原有oracle的正常...
历经多年发展,Oracle不断进化,从早期的Oracle 3、Oracle 4到Oracle 5引入的Client/Server计算模型,再到Oracle 6的跨平台支持。Oracle 8i成为第一个全面支持Internet的数据库,Oracle 9i和Oracle 10g则进一步强化...
"oracle5-表空间及模式对象"会讲解Oracle中的表空间管理,它是存储数据库对象的逻辑单元。此外,模式对象(如表、视图、索引、同义词等)的概念也会在此部分详细阐述,它们是数据库中的主要组成部分。 "oracle6"、...
5cat /etc/init.d/oracle ``` - `chkconfig --list | grep oracle`:此命令用于检查Oracle服务是否已经被添加到系统服务列表中,并确认其启动级别。 - `/etc/init.d/oracle`文件是Oracle的服务脚本,用于管理Oracle...