`
羽风之扬
  • 浏览: 86061 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
上节回顾:
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

    oracle5.jar

    oracle5.jar 和oracle6.jar驱动jar包

    Oracle数据库在Java应用程序中通常通过JDBC(Java Database Connectivity)驱动进行交互,而`ojdbc6.jar`和`ojdbc5.jar`就是Oracle公司提供的JDBC驱动程序,用于连接Java应用到Oracle数据库。这两个jar包是Oracle ...

    小布oracleDBA5-6集

    【小布Oracle DBA5-6集】是一个关于Oracle数据库管理的系列教程,主要针对数据库管理员(DBA)的角色和工作进行深入讲解。Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,它提供了高性能、高可用性和...

    oracle5备份恢复.pptx

    oracle5备份恢复.pptx

    EMS 2007 for Oracle 5/8

    EMS 2007 for Oracle 5/8

    spotlight on oracle 5

    Spotlight on Oracle是Oracle 数据库监控诊断工具, 它将所有监控下的数据库组件转化为图形显示,藉此协助DBA轻松掌控 Oracle 数据库的管理。压缩包中包括安装工具、注册机以及该工具的使用文档。

    Python连接oracle工具cx_Oracle官方文档

    例如,cx_Oracle 6.0版本的新增功能、cx_Oracle 5.x版本的发布说明,甚至还有早期版本的更新记录。最后,文档也包含了许可证条款以及Python模块索引。 总而言之,cx_Oracle官方文档提供了一个全面的指南,从基础的...

    cx_Oracle-5.1.3.tar.gz,oracle-instantclient11.2

    cx_Oracle是Python中用于与Oracle数据库交互的一个重要库,它提供了高效、稳定的接口,使得Python程序员可以方便地操作Oracle数据库。这里我们将深入探讨cx_Oracle-5.1.3.tar.gz这个压缩包以及与其相关的oracle-...

    Oracle 5E-crx插件

    语言:English Dungeons&Dragons第5版的快速参考工具 Oracle 5e让您查找地牢和龙规则和咒语和怪物等信息,为您提供详细信息列表 秒。 停止翻转规则书籍和复杂的网站,让Oracle 5e立即获得信息!

    oracle驱动odbc5、odbc6

    Oracle驱动ODBC5和ODBC6是Oracle数据库与Java应用程序之间进行数据交互的重要组件,主要用于实现JDBC(Java Database Connectivity)连接。Oracle JDBC驱动程序允许Java开发者在Java应用程序中访问和操作Oracle...

    Oracle MD5函数

    Oracle数据库系统中内置了MD5函数,这是一种广泛使用的哈希函数,用于生成固定长度的数字摘要,通常用于数据完整性校验和密码存储。MD5全称为Message-Digest Algorithm 5,由Ron Rivest在1991年设计,尽管它在安全性...

    Oracle11g维护培训课件(华为内部教材)

    - **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加密,并通过具体示例代码进行说明。 ### Oracle实现MD5加密的...

    SSMA for Oracle 5.2 带license

    SSMA(SQL Server Migration Assistant)for Oracle是微软开发的一款工具,专门用于将Oracle数据库系统迁移至Microsoft SQL Server。这个工具提供了高效且自动化的方法,帮助用户转换Oracle数据库的对象和数据到SQL ...

    Oracle专用Linux操作系统-OracleLinux-R6-U5-Server-x86_64

    Oracle Linux R6 U5 (Update 5) 是该操作系统的第六个主要版本的第五次更新,提供了对x86_64架构的支持。这个操作系统的关键特性包括对性能的优化,特别是对于运行Oracle软件的服务器,以及与Red Hat Enterprise ...

    Oracle数据库简介.pdf

    例如,Oracle 4将关系数据库引入桌面计算机,Oracle 5引入了分布式数据库和客户/服务器架构,而Oracle 6则开创了行锁定模式和对称多处理支持。 Oracle Database 12c是最新的版本,它特别强调云计算的集成。12c引入...

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer)

    5、本软件卸载时,将删除已安装的文件、环境变量及相应的注册表信息,绝对绿色! 注: 已安装了oracle的用户,如想试用本软件,安装前请备份好与oracle相关的注册表信息! 否则,卸载本软件将影响原有oracle的正常...

    初识Oracle11g.pptx

    历经多年发展,Oracle不断进化,从早期的Oracle 3、Oracle 4到Oracle 5引入的Client/Server计算模型,再到Oracle 6的跨平台支持。Oracle 8i成为第一个全面支持Internet的数据库,Oracle 9i和Oracle 10g则进一步强化...

    Oracle 课件

    "oracle5-表空间及模式对象"会讲解Oracle中的表空间管理,它是存储数据库对象的逻辑单元。此外,模式对象(如表、视图、索引、同义词等)的概念也会在此部分详细阐述,它们是数据库中的主要组成部分。 "oracle6"、...

    oracle 自启动

    5cat /etc/init.d/oracle ``` - `chkconfig --list | grep oracle`:此命令用于检查Oracle服务是否已经被添加到系统服务列表中,并确认其启动级别。 - `/etc/init.d/oracle`文件是Oracle的服务脚本,用于管理Oracle...

Global site tag (gtag.js) - Google Analytics