`

oracle常用sql语句学习

阅读更多

在本文中主要记录一些常用的sql语句的写法,供以后查看;本文参考自:http://wenku.baidu.com/link?url=O8W1lSMvIi91CYXtQM9oq2aaCy25ok_J8xTRSUVMqKmQCSAojs1gR6DmjzXQr962Xvn80Lf30dy8SwvX2WSk3IdjSg0KHF1jWL41bEcCieq&pn=51

1.创建用户:

create user user_name identified by password account unlock;

 2.给用户分配权限:

grant connect to user_name

 3.回收用户权限:

revoke connect from user_name

4.创建表:

create table table_name (id int not null,name varchar(10) not null)

 5.创建约束:

(1).创建主键约束:

alter table table_name add constraint 约束名称 primary key(主键字段)

 (2).创建检查约束:

alter table table_name add constraint 检查名称 check(检查条件,比如:age>0 and age<100)

 (3).创建外键约束:

alter table table_name1 add constraint 外键名称 foreign key (table_name1的关联字段) references table_name2(关联字段)

 6.集合运算的sql语句:(集合运算主要是将两个或多个结果集合并为一个结果集),

具体方法有以下几种:

(1).返回几个查询共有的记录--intersect(交集)

select deptno from dept
intersect
select deptno from emp;

(2).返回几个查询的所有记录,记录可以重复--union all(并集)

select deptno from dept
union all
select deptno from emp;

 (3).返回几个查询的所有记录,记录不重复--union(并集)

select deptno from dept
union
select deptno from emp;

 (4).返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录--minus(补集)

select deptno from dept
minus
select deptno from emp;

 7.子查询:

(1).单行子查询:

select ename,job,sal
from emp
where sal=(
                select sal from emp where ename='SMITH'
               )

单行子查询比较简单,就是子查询只返回一个结果集,这个时候使用的运算符号可以是=,<=,>=,<,>等这些比较简单的符号。

(2).多行子查询:

select ename,job,sal from emp where sal < any(select sal from emp where job='SALESMAN');

 

select ename,job,sal from emp where sal < ALL(select sal from emp where job='SALESMAN');

 这个子查询返回多个查询结果,这里就不能像单行子查询那样使用=,<等比较简单的符号,如上面的语句,涉及到两个词汇any,all。

--all表示比子查询结果集中任意一个值都大或者小的那些结果。

--any表示比子查询结果集中最大的值都小或者最小的值都大的那些结果。

8.分页:

select * from (select rownum r,ename,job,sal from emp where rownum<=10) where r>5;

 9.nvl函数使用:

(1).nvl的使用:

SELECT ENAME,JOB,SAL,NVL(COMM,100) FROM EMP WHERE SAL<2000; 

 这条sql语句表示给工资小于2000没有发放奖金的员工发放奖金100元。

(2).nvl2的使用:

select ename,job,sal,comm,nvl2(comm,comm+100,200) from emp where sal<2000;

 这条sql语句表示给工资小于2000的员工添加100元奖金,如果以前没有奖金的员工添加奖金200元。

10.同义词

(1).同义词的创建:这是为scott用户下面的t_user表创建了一个同义词,这样在这个用户下面可以使用myUser进行访问scott用户下面的那个t_user表

create synonym myUser for scott.t_user

 (2).同义词的删除:

drop synonym myUser;

 11.序列

(1)序列的创建:

create sequence sequence_name --序列的名称
start with 1 --序列的开始值
increment by 1 --序列增长的值
minvalue 1 --序列的最小值(NOMINVALUE)
maxvalue 100 --序列的最大值(NOMAXVALUE)
nocycle --增长或减小到两个极端值时是否进行循环,这里不循环,使用cycle则循环
cache 30;--缓存多少个值在内存中,便于快速的生成序列

 (2)序列的使用

select sequence_name.nextval from dual;
select sequence_name.currval from dual;

 (3)序列的修改:

alter sequence sequence_name
maxvalue 1000
minvalue 10;

 (4)序列的删除:

drop sequence sequence_name;

 12.视图(VIEW)

创建视图:

create or replace view v_user
as
select name,age from t_user
with read only;

 删除视图:

drop view v_user;

 13.索引(index)

创建索引可以提升对表的查询效率,但是在表进行增删改的时候需要更新其对应的索引。因此索引对增删改具有负面效应。

索引的创建:

create index myIndex on t_user(id);

 这个sql语句表示对t_user表的id字段创建了myIndex的索引。

14.表空间(tablespace)

创建表空间:

create tablespace space_name
datafile 'e:/a.ora' size 10M,
            'e:/b.ora' size 5M
extent management local
uniform size 1M;

 注意:表空间只能有系统管理员来进行创建,当表空间内存不足时可以使用alter tablespace对表空间进行扩容。

alter tablespace space_name
add datafile 'e:/c.ora' size 10M;

 为某一用户指定表空间:

CREATE USER ACONG IDENTIFIED BY ACONG
DEFAULT TABLESPACE MYSPACE 

 为表指定表空间:

create table table_name(id int,name varchar(10)) tablespace space_name;

 为索引创建表空间:

create index index_name on table_name(column_name) tablespace space_name

 注意:表及索引一旦创建,表空间无法更改。

 

分享到:
评论

相关推荐

    ORACLE常用SQL语句大全.pdf

    Oracle 常用 SQL 语句大全 本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 ...

    oracle常用SQL语句(汇总版).docx

    Oracle 常用 SQL 语句汇总 Oracle 是一个功能强大且复杂的关系数据库管理系统,它提供了多种 SQL 语句来管理和操作数据库。在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义...

    oracle常用sql语句大全 注释完整 放心使用

    本资料集包含了Oracle数据库中常用SQL语句的大全,注释完整,非常适合初学者和有经验的开发者参考使用。 1. **数据查询(SELECT语句)**: - `SELECT * FROM table_name;`:查询表table_name中的所有列。 - `...

    Oracle常用的SQL语句维护

    本文将深入探讨Oracle中常用的SQL语句以及与数据库表空间相关的维护知识。 首先,让我们了解如何在Oracle中创建表空间。表空间是Oracle数据库中存储数据的逻辑单位,它由一个或多个数据文件组成。创建表空间的SQL...

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    ORACLE 常用SQL语句

    ORACLE 常用 SQL 语句 ORACLE 是一种关系数据库管理系统,它提供了多种 SQL 语句来操作和管理数据库。下面将 Introduced 13 种常用的 ORACLE SQL 语句,涵盖字符串处理、数据搜索和修改等方面。 1. ASCII 函数 ...

    Oracle数据库sql语句 跟踪器

    Oracle数据库SQL语句跟踪器,通常被称为SQL Monitor,是一种强大的工具,用于监控和分析数据库中的SQL语句执行情况。在Oracle环境中,理解SQL语句的行为是优化数据库性能的关键。SQL Monitor提供实时视图,帮助DBA...

    oracle常用sql语句

    oracle常用sql语句

    压测Oracle的SQL语句的性能情况

    本文将深入探讨如何利用压力测试工具来评估和优化Oracle数据库中的SQL语句性能。 标题"压测Oracle的SQL语句的性能情况"暗示了我们关注的是在高负载情况下,Oracle数据库处理SQL查询的能力。压力测试(Pressure ...

    Oracle常用SQL语句复习

    本篇将基于"Oracle常用SQL语句复习"这一主题,深入探讨Oracle SQL的基本语法和常用操作,帮助读者巩固和提升Oracle数据库操作技能。 1. **数据查询基础** - `SELECT`语句是SQL中最基本的查询命令,用于从一个或多...

    Oracle-Sql语句资料oracle+110个常用函数经典SQL语句大全.zip

    Oracle_Sql语句资料oracle+110个常用函数经典SQL语句大全,可供学习参考。

    Oracle常用SQL语句

    Oracl 常用SQL语句 Oracle基础语句

    oracle常用监控SQL语句集合

    在Oracle数据库管理中,了解和掌握一些常用的监控SQL语句是至关重要的,这些语句能够帮助DBA(数据库管理员)实时了解数据库的运行状态...学习并熟练运用这些SQL语句,将极大地提高你在Oracle数据库管理中的工作效率。

    oracle的SQL语句的一些经验总结

    Oracle SQL语句是数据库管理员和开发人员在处理Oracle数据库时不可或缺的工具。它允许用户查询、更新、插入和删除数据,以及执行各种复杂的数据库操作。以下是对"Oracle的SQL语句的一些经验总结"中可能涉及的关键...

    ORACLE常用SQL语句大全.doc

    ORACLE常用SQL语句大全.doc

    ORACLE数据库SQL语句美化器

    对ORACLE-SQL进行一些布局优化,更新它的格式

    oracle常用SQL语句(汇总版).zip

    在"oracle常用SQL语句(汇总版)"文档中,读者可以找到更多关于这些主题的详细信息,对于学习和掌握Oracle SQL编程非常有帮助。结合实际的数据库操作,理论与实践相结合,将使你对Oracle SQL的运用更加得心应手。

    Oracle经典SQL语句

    ORACLE经典语句汇总 -- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 -- 自循环表中 由叶子节点查父节点 -- 查子...

    oracle sql语句学习

    这个"oracle sql语句学习"资源包显然旨在帮助初学者逐步提升到高级水平,通过全面的笔记资料,使用户能够从基础概念到复杂操作都能熟练掌握。 首先,我们从基础开始。SQL,全称Structured Query Language(结构化...

Global site tag (gtag.js) - Google Analytics