Sql for Oracle基本操作关键字

+SQL TOP子句

TOP 子句用于规定要返回的记录的数目

SELECT column_name(s) FROM table_name WHERE ROWNUM <= number

+SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern

提示:"%" 可用于定义通配符(模式中缺少的字母)。

+SQL 通配符

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。

% 替代一个或多个字符

_ 仅替代一个字符

[charlist] 字符列中的任何单一字符

[^charlist]

或者

[!charlist] 不在字符列中的任何单一字符

+SQL IN 操作符

IN 操作符允许我们在 WHERE 子句中规定多个值。

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)

+SQL BETWEEN 操作符

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2

+SQL Alias(别名)

通过使用 SQL,可以为列名称和表名称指定别名(Alias)。

别名使查询程序更易阅读和书写。

SELECT column_name(s) FROM table_name AS alias_name(表)

SELECT column_name AS alias_name FROM table_name(列)

例:SELECT po.OrderID, p.LastName, p.FirstName

FROM Persons AS p, Product_Orders AS po

WHERE p.LastName='Adams' AND p.FirstName='John'

+SQL JOIN

用于根据两个或多个表中的列之间的关系,从这些表中查询数据

JOIN: 如果表中有至少一个匹配,则返回行

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

INNER JOIN:在表中存在至少一个匹配时,INNER JOIN 关键字返回行。

注释:INNER JOIN 与 JOIN 是相同的。

注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。

注释:在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN。

SELECT
Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons

INNER JOIN Orders

ON Persons.Id_P =
Orders.Id_P

ORDER BY
Persons.LastName

SELECT
column_name(s)

FROM table_name1

INNER JOIN
table_name2

ON
table_name1.column_name=table_name2.column_name

SELECT
Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons

FULL JOIN Orders

ON
Persons.Id_P=Orders.Id_P

ORDER BY
Persons.LastName

+SQL UNION
和 UNION ALL 操作符

UNION 操作符用于合并两个或多个
SELECT 语句的结果集。

UNION 内部的
SELECT 语句必须拥有相同数量的列

列也必须拥有相似的数据类型。

每条
SELECT 语句中的列的顺序必须相同。

SELECT
column_name(s) FROM table_name1

UNION

SELECT
column_name(s) FROM table_name2

注释:默认地,UNION
操作符选取不同的值。如果允许重复的值,请使用
UNION ALL。

SELECT
column_name(s) FROM table_name1

UNION ALL

SELECT
column_name(s) FROM table_name2

另外,UNION
结果集中的列名总是等于 UNION
中第一个 SELECT
语句中的列名。

+SQL
INTERSECT子句/操作符

由两个SELECT语句返回相同的行(唯一)

SELECT column1 [,
column2 ] FROM table1 [, table2 ] [WHERE condition]

INTERSECT

SELECT column1 [,
column2 ] FROM table1 [, table2 ][WHERE condition]

+SQL
EXCEPT子句/操作符

合并两个SELECT语句,并从那些没有被第二个SELECT语句返回的第一个SELECT语句返回行

SELECT column1 [,
column2 ] FROM table1 [, table2 ] [WHERE condition]

EXCEPT

SELECT column1 [,
column2 ] FROM table1 [, table2 ] [WHERE condition]

+SQL SELECT
INTO 语句

可用于创建表的备份复件。

SELECT INTO
语句从一个表中选取数据,然后把数据插入另一个表中。

SELECT INTO
语句常用于创建表的备份复件或者用于对记录进行存档。

把所有的列插入新表:

SELECT * INTO
new_table_name [IN externaldatabase] FROM old_tablename

把希望的列插入新表:

SELECT
column_name(s) INTO new_table_name [IN externaldatabase] FROM
old_tablename

+SQL 约束
(Constraints)

NOT NULL:

ALTER TABLE
CUSTOMERS MODIFY SALARY DECIMAL (18, 2) NOT NULL;

DEFAULT

ALTER TABLE
CUSTOMERS MODIFY SALARY DECIMAL (18, 2) DEFAULT 5000.00;

ALTER TABLE
CUSTOMERS ALTER COLUMN SALARY DROP DEFAULT;

UNIQUE
KEY

ALTER TABLE
CUSTOMERS MODIFY AGE INT NOT NULL UNIQUE;

ALTER TABLE
CUSTOMERS DROP INDEX myUniqueConstraint;

PRIMARY
KEY

ALTER TABLE
CUSTOMERS ADD CONSTRAINT PK_CUSTID PRIMARY KEY (ID, NAME);

ALTER TABLE
CUSTOMERS DROP PRIMARY KEY ;

FOREIGN
KEY

ALTER TABLE ORDERS
ADD FOREIGN KEY (Customer_ID) REFERENCES CUSTOMERS (ID);

ALTER TABLE ORDERS
DROP FOREIGN KEY;

CHECK

ALTER TABLE
CUSTOMERS MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );

ALTER TABLE
CUSTOMERS DROP CONSTRAINT myCheckConstraint;

+索引

有助于加快SELECT和WHERE子句查询,但它会减慢数据输入,使用UPDATE和INSERT语句。索引可创建或删除,但对数据不会有影响。

+SQL CREATE
INDEX 语句

单列索引

CREATE INDEX
语句用于在表中创建索引。

唯一索引

CREATE [UNIQUE]
INDEX index_name ON table_name (column_name)

组合索引(如果有频繁使用WHERE子句作为过滤器中的两个或多个列,组合索引将是最好的选择。

CREATE INDEX
index_name on table_name (column1, column2);

隐式索引

隐式索引是自动由数据库服务器创建对象时创建的索引。索引是主键约束和唯一性约束自动创建。

撤销索引

DROP INDEX
index_name

避免使用索引:

索引不应该用在小型表上。

有频繁的,大批量更新或插入操作的表。

索引不应该用于对包含大量NULL值的列。

列经常操纵不应该被索引。

+SQL ALTER
TABLE 语句

ALTER TABLE
语句用于在已有的表中添加、修改或删除列。

ALTER TABLE
table_name ADD column_name datatype

ALTER TABLE
table_name DROP COLUMN column_name

ALTER TABLE
table_name ALTER COLUMN column_name datatype

+SQL
truncate table
命令
(截断)

用于删除现有表中完整的数据。

TRUNCATE TABLE
table_name;

+SQL
AUTO INCREMENT
字段

通过
sequence 对创建
auto-increment 字段(该对象生成数字序列)。

CREATE SEQUENCE
seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10

INSERT INTO
Persons (P_Id,FirstName,LastName) VALUES
(seq_person.nextval,'Lars','Monsen')

+SQL
VIEW
(视图)

在 SQL
中,视图是基于 SQL
语句的结果集的可视化的表。

视图无非是存储在数据库中的相关名称的SQL语句。

视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加
SQL 函数、WHERE
以及 JOIN
语句,我们也可以提交数据,就像这些来自于某个单一的表。

CREATE VIEW
view_name AS SELECT column_name(s) FROM table_name WHERE condition

注释:视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用
SQL 语句来重建数据。

SQL DROP VIEW
Syntax DROP VIEW view_name

+事务

就是对数据库执行的工作单元。事务是完成逻辑顺序的工作,无论是在手动方式由用户或者自动地通过某种数据库程序的序列的单元。

事务具有以下四个标准属性,通常由首字母缩写ACID简称:

原子:确保工作单元中的所有操作都成功完成;
否则,该事务被中止的故障点,操作回到操作之前的状态。

一致性:确保数据库正确后成功提交事务更改状态。

隔离:事务操作彼此独立和透明。

持久性:可确保提交的事务的结果或仍然存在系统故障的情况下的作用。

COMMIT:保存更改。COMMIT;

ROLLBACK:回滚更改。ROLLBACK;

SAVEPOINT:回滚事务组创建点

SAVEPOINT
SAVEPOINT_NAME;

ROLLBACK TO
SAVEPOINT_NAME;

RELEASE SAVEPOINT
SAVEPOINT_NAME;

SET
TRANSACTION:事务放置的名称。

SET TRANSACTION [
READ WRITE | READ ONLY ];

Sql for Oracle基本操作关键字的更多相关文章

  1. Oracle Minus关键字

    Oracle Minus关键字 SQL中的MINUS关键字 SQL中有一个MINUS关键字,它运用在两个SQL语句上,它先找出第一条SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果 ...

  2. Oracle 基本操作--数据类型、修改和删除表、增删改查和复制表

    一.Oracle基础数据类型:数据类型: 创建数据表时,设计数据表的结构问题,也就是设计及确定数据表中各个列的数据类型,是数值.字符.日期还是图像等其他类型. 因为只有设计好数据表结构,系统才会在磁盘 ...

  3. SQL优化——ORACLE

    SQL优化——ORACLE 索引是由Oracle维护的可选结构,为数据提供快速的访问.准确地判断在什么地方需要使用索引是困难的,使用索引有利于调节检索速度. 当建立一个索引时,必须指定用于跟踪的表名以 ...

  4. 【SQL】Oracle分页查询的三种方法

    [SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 ? 1 2 3 4 5 6 7 8 9 10 11 [sql] select * from t_user t whe ...

  5. 历尽磨难之PL/SQL链接Oracle数据库

    说起来都是泪啊,上司布置的任务需要远程连接Oracle数据库,说实话这又是我人生中的第一次.我听到以后觉得不是什么大问题,然而我错了..错的很厉害! 我搞了一天一夜才弄好,这里面原因有很多,大体来讲还 ...

  6. General Ledger Useful SQL Scripts – Oracle Applications 11i

    General Ledger Useful SQL Scripts – Oracle Applications 11i Contents GL Set of Books Configuration O ...

  7. PL/SQL在Oracle服务器上连接出错

    今天在Oracle服务器上使用PL/SQL连接Oracle软件的时候出现了错误,错误如下: 具体的解决办法如下: 需要下载32位的Oracle Client,具体的步骤如下:登录Oracle官方网站 ...

  8. SQL优化(Oracle)

    (转)SQL优化原则 一.问题的提出 在应用系统开发初期.因为开发数据库数据比較少.对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,可是假设将应用系统提交实际应用后,随着数 ...

  9. MS SQL到Oracle的数据迁移笔记

    MS SQL到Oracle的数据迁移笔记 一.任务背景 旧系统使用MS SQL Server数据库,新系统使用Oracle数据库,现在需要将旧系统中的数据迁移到新系统中,旧数据按照约定的规则转换后,能 ...

随机推荐

  1. Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]

    linux中的JDK为JDK8,tomcat为tomcat8 加入dubbo.war包 启动报错! Caused by: org.springframework.beans.factory.BeanC ...

  2. 深入探索C++对象模型(六)

    执行期语意学(Runtime Semantics) 对象的构造和析构(Object Constructor and Destructor) 一般而言,constructor和destructor的安插 ...

  3. iOS开发之资讯类App常用分类控件的封装与实现(CollectionView+Swift3.0+)

    今天博客中,我们就来实现一下一些常用资讯类App中常用的分类选择的控件的封装.本篇博客中没有使用到什么新的技术点,如果非得说用到了什么新的技术点的话,那么勉强的说,用到了一些iOS9以后UIColle ...

  4. redis学习(2)--- Redis概述

    一.Redis介绍 高性能键值对数据库,支持的键值对数据类型: 字符串类型 列表类型 有序集合类型 散列类型 集合类型 官方测试读写速度: 测试50个并发程序,执行10万次请求 读的速度:每秒11万次 ...

  5. ThreadLocal来管理事务

    ThreadLocal (扩展) 1 ThreadLocal API ThreadLocal类只有三个方法: l  void set(T value):保存值: l  T get():获取值: l  ...

  6. JS+PHP实现用户输入数字后取得最大的值并显示为第几个

    目的:分清JS PHP的区别,拓宽思维 分析 1.利用JS的prompt输入用户想要输入的值. 2.利用HTML表单的text标签将输入的值传递给PHP处理文件 3.PHP进行数值判定,选出最大值和位 ...

  7. Behavior的使用(一):页面跳转NavigateToPageAction

    Behavior的使用,让UI设计师能够更加方便的进行UI设计,更高效地和开发进行合作.Behavior有三种触发方式:EventTriggerBehavior事件触发,DataTriggerBeha ...

  8. GIS与水文分析(1)GIS与水文学

    GIS与水文分析(1)GIS与水文学 对于大部分GIS从业人员或者利用GIS作为研究方向的人员来说,水文学过于专业,更偏重于理论化,很难从GIS的角度来模拟和分析水文的过程.这其实是个普遍性的问题,任 ...

  9. 创建单页web app, 如何在chrome中隐藏工具栏 地址栏 标签栏?

    问题描述: 为使用更大的屏幕空间,在访问web应用的使用,如何隐藏地址栏.工具栏? 解决办法: 1. chrome的application mode 选项--->更多工具---->添加到桌 ...

  10. CSS实现两端对齐效果

    CSS实现两端对齐效果 两端对齐,从概念上来说,其实不难理解.如果不明白什么叫两端对齐,可以玩玩word等办公软件. 下面谈谈如何实现文本的两端对齐.我所知道的大概有以下几种方法 text-align ...