1、截断表(非重点)
它和我们讲过的delete语句区别是,delete删除后,在提交前可以通过rollback进行回滚,如果现在假设要想清空一张表的数据,但是同时又不想会滚,想要立即释放资源就需要使用截断语法:
Truncate table 表名称;
例如: truncate table myemp;就是将myemp直接删除了,不能会滚。
2、cascade constraint关键字,不管外键约束,强行删除,用的不多
例如:假设book表引用了person表主键作为外键,
create table person
(
pid varchar2(5),
pname varchar(50) not null,
page number(3) not null,
birthday date,
sex varchar2(2) default '男',
constraint person_pid_pk primary key(pid),
constraint person_name_uk unique(pname),
constraint person_age_ck check(page between 0 and 150),
constraint person_sex_ck check(sex in ('男','女','中'))
);
create table book(
bid varchar2(5),
bname varchar2(30),
bprice number(5,2),
pid varchar2(5),
CONSTRAINT person_book_pid_fk FOREIGN KEY (pid) REFERENCES person (pid)
);
正常情况下,需要在删除book表的前提下,才能删除父表person表。但是可以通过以上关键字,强行删除person表,如下
drop table person cascade constraint;
3、级联删除
既然如2所示,表book与表person有级联性,那么如何做到删除时级联删除呢?做法是在建立外键约束时增加“on delete cascade ”
例如以上创建book的sql语句改为:
create table book(
bid varchar2(5),
bname varchar2(30),
bprice number(5,2),
pid varchar2(5),
CONSTRAINT person_book_pid_fk FOREIGN KEY (pid) REFERENCES person (pid) on delete cascade
);
测试
insert into person values('11111','san',111,to_date('1919-01-01','yyyy-mm-dd'),'男');
insert into book values('12324','java in action',11.22,'11111');
delete from person where pid='11111';
此时再去查book表内容,发现虽然没有对book表进行过删除操作,但是插入的那条纪录已经级联删除了。
4、增加,删除约束(add constraint | drop constraint )
alter table book add constraint book_bname_uk unique(bname);
alter table book drop constraint person_book_pid_fk;
5、rownum
roenum作用是在输出结果前增加行号。
例:
select ROWNUM,empno from emp WHERE ROWNUM<3;
输出的结果是
ROWNUM EMPNO
--------- ----------
1 7369
2 7499
rownum写在where语句中只能是rownum<一个数字。不能用betwteen 数字A and 数字B, 也不能用>一个数字 这样的语法。
这样的话需要查询小于某个查询记录号时,或某中间几条记录------->(以后将用于分页记录查询中。。。。)
只能通过子查询实现
例如:
select * from (select rownum ro,empno,ename from emp where rownum<15) temp
where temp.ro>10;
结果为:
RO EMPNO ENAME
---------- ---------- --------
11 7876 ADAMS
12 7900 JAMES
13 7902 FORD
14 7934 MILLER
分享到:
相关推荐
在Oracle数据库管理过程中,如果忘记了sys或者system用户的密码,将会导致无法通过sysdba或sysoper身份登录到数据库。这将直接影响到数据库的正常维护和管理工作。因此,了解如何在忘记密码的情况下恢复数据库访问...
本文将详细介绍几个常用的Oracle DOS命令及其应用。 1. **进入SQL*Plus**:在Windows环境下,可以通过“开始”菜单的“运行”选项输入`cmd`打开命令行,然后输入`sqlplus`,按回车键。接着,系统会提示输入用户名和...
针对这种情况,本文将详细介绍如何解决Oracle Database 10g中忘记管理员用户口令的问题。 #### 一、理解Oracle Database 10g中的管理员用户 在Oracle Database 10g中,主要的管理员用户是`SYS`和`SYSTEM`。其中,`...
在IT行业中,数据库管理是至关重要的,而Oracle作为全球领先的关系型数据库管理系统,其安全性和稳定性备受赞誉。然而,有时由于各种原因,我们可能会遇到忘记Oracle数据库密码的问题。本篇文章将详细阐述如何解决...
这可能包括以下几个方面: 1. **Keystore创建**:首先,学生需要了解如何使用keytool工具创建一个Keystore,这个工具通常随Java SDK一起提供。他们会学习命令行参数,如`keytool -genkeypair`,以及设置Keystore...
本文将根据提供的标题、描述及部分内容,详细介绍几个与Oracle数据库相关的实用知识点。 #### 1. 使用SQL*Plus登录Oracle数据库 SQL*Plus是Oracle提供的一款非常实用的命令行工具,它允许用户通过简单的命令行界面...
本文将详细阐述Oracle安全设置的几个重要方面,以增强数据库的防护能力。 首先,关于【用户安全设置】,在Oracle环境中,应确保只保留活跃且必要的用户账号。对于不再使用的或者创建后忘记删除的用户,应当进行锁定...
SYS是Oracle数据库中的一个内置超级用户,拥有对整个数据库的完全控制权,因此必须谨慎操作。 接下来,我们要解锁被锁定的用户账户。在Oracle中,如果用户连续多次尝试登录但密码错误,账户可能会被自动锁定。在本...
- `Path`:在系统Path变量中添加%ORACLE_HOME%\BIN,以便命令行能识别Oracle相关的命令。 - `ORACLE_SID`:设置为数据库实例的名称,例如"orcl"。 Oracle数据库安装完成后,通常还需要安装管理工具来方便地管理和...
以下是常见的几个默认用户及其密码: - **sys**:超级管理员账户,具有最高权限,初始密码为`change_on_install`。 - **system**:具有较高的管理权限,初始密码为`manager`。 - **internal**:内部账户,主要用于...
在日常的Oracle数据库管理工作中,有时会出现忘记数据库登录密码的情况,这无疑会阻碍我们的工作流程。本文将详细介绍如何解决在忘记Oracle数据库密码时的问题,特别是针对"系统管理员"(System)账户的密码重置。 ...
本讲主要介绍了 Oracle 数据库中的数据完整性维护,序列,索引和权限管理几个方面的内容。 在 Oracle 数据库中,数据完整性可以通过约束、触发器和应用程序三种方法来实现,其中约束是最为常用和高效的方法。约束...
在Oracle数据库系统中,存在两个预定义的用户——`sys`和`system`,它们在数据库安装过程中自动生成。 - **sys用户**:作为超级用户,拥有最高的权限级别,包括`sysdba`角色,这赋予其创建数据库的能力。默认情况下...
在这个命令中,需要注意的几个要点包括: - `file=`参数后面要跟上密码文件的完整路径和文件名。 - `password=`参数后面跟上新的密码。 - 这个命令将重新生成数据库的密码文件,该文件位于ORACLE_HOME目录下的\...
在开始Oracle的安装之前,确保以下几点: 1. 操作系统兼容性:检查你的操作系统是否支持Oracle版本。 2. 硬件资源:确保有足够的内存、磁盘空间和处理器资源。 3. 用户权限:创建一个具有管理员权限的用户用于安装...
以上内容总结了Oracle数据库备份与归档日志管理方面的几个关键知识点,包括表空间备份模式的使用、归档日志丢失时的处理方式以及归档模式下数据库的日常维护工作。希望这些信息能帮助您更好地理解和掌握Oracle数据库...
Oracle中主要存在以下几种类型的锁: 1. **行级锁**:作用于特定的数据行上,是最细粒度的锁。 2. **表级锁**:作用于整个表,影响范围较广。 3. **模式对象锁**:作用于模式对象(如表、视图等)。 4. **数据块锁*...
在 Oracle 数据库的安装过程中,会自动生成两个重要的系统用户:`sys` 和 `system`。 - **sys 用户**:这是一个超级用户,拥有最高级别的权限,并且具有 `sysDBA` 角色。这意味着它具有创建数据库的权限。该用户的...
在使用这个绿色精简的Oracle自动定期备份程序时,用户需要注意以下几点: - **备份存储位置**:确保备份文件存储在安全可靠的介质上,例如外部硬盘或网络存储设备。 - **验证备份**:定期检查备份文件的完整性和可...
- 再次打开一个命令提示符窗口。 2. **连接MySQL**: - 使用命令`mysql -uroot -p`尝试连接MySQL服务。 - 当提示输入密码时,直接按回车键即可。 - 成功登录后,控制台会显示欢迎信息及版本等信息: ``` ...