zoukankan      html  css  js  c++  java
  • ORCLA基础总结(一)

    SQL 分类

    DCL(Data Control Language 数据控制语言)

    DDL(Data Definition Language 数据定义语言)

    DML(Data Manipulation Language 数据操纵语言)

    DQL(Data Query Language 数据查询语言)

    SQL 连接

    内连接

    1.等值连接
    等值连接:在连接中使用等号(=)操作就是等值连接。
    SELECT employees.employee_id, employees.last_name, employees.department_id, departments.department_id, departments.location_id FROM employees, departments WHERE employees.department_id = departments.department_id

    2.不等值连接
    不等值连接:主要用除了等号之外的操作符,比如:<>、>、<、>=、<=、LIKE、IN、BETWEEN…AND
    SELECT e.last_name, e.salary, j.grade_level FROM employees e, job_grades j WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal;

    3.自连接
    自连接 同一张表
    SELECT worker.last_name || ' works for ' || manager.last_name FROM employees worker, employees manager WHERE worker.manager_id = manager.employee_id ;

    外连接



    1.左外连接
    SELECT e.last_name, e.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id) ;
    2.右外连接
    SELECT e.last_name, e.department_id, d.department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id) ;
    3.满外连接
    SELECT e.last_name, e.department_id, d.department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id) ;

    SQL 函数


    单行函数



    1.字符函数



    2.数字函数

    3.日期函数

    4.转换函数



    5.通用函数

    多行函数





    创建和管理表


    CREATE TABLE 语句


    建表方式一:

    建表方式二:

    ALTER TABLE 语句


    TRUNCATE TABLE 语句


    数据处理

    INSERT 语句语法

    单条新增:

    批量新增:
    insert all into <tableName>[(<table_column1>,<table_column2>...)] values([<column_value1>,<column_value2>...]) [ into <tableName>[(<table_column1>,<table_column2>...)] values([<column_value1>,<column_value2>...])]... select <table_value1>[,<table_value2>...] from dual;

    UPDATE 语句语法

    DELETE 语句语法

    数据库事务



    控制事务


    约束 CONSTRAINT

    什么是约束

    表级约束和列级约束

    (建表时)定义约束

    列级约束
    CREATE TABLE [schema.]table (column datatype [DEFAULT expr] [column_constraint], ... [table_constraint][,...]);
    column [CONSTRAINT constraint_name] constraint_type,

    表级约束
    CREATE TABLE employees( employee_id NUMBER(6), first_name VARCHAR2(20), ... job_id VARCHAR2(10) NOT NULL, CONSTRAINT emp_emp_id_pk PRIMARY KEY (EMPLOYEE_ID));
    column,... [CONSTRAINT constraint_name] constraint_type (column, ...),

    NOT NULL 约束

    UNIQUE 约束

    PRIMARY KEY 约束

    FOREIGN KEY 约束


    CHECK 约束

    (建表后)添加约束

    (建表后)删除约束

    (建表后)无效化约束

    (建表后)激活约束

    (建表后)查询约束

    视图

    创建试图

    CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY [CONSTRAINT constraint]];

    修改试图

    CREATE OR REPLACE VIEW empvu80 (id_number, name, sal, department_id) AS SELECT employee_id, first_name || ' ' || last_name, salary, department_id FROM employees WHERE department_id = 80; View created.

    删除试图

    DROP VIEW empvu80; View dropped.

    屏蔽 DML 操作

    CREATE OR REPLACE VIEW empvu10 (employee_number, employee_name, job_title) AS SELECT employee_id, last_name, job_id FROM employees WHERE department_id = 10 WITH READ ONLY; View created.

    TOP_N

    查询最大的几个值的 Top-N 分析:

    SELECT [column_list], ROWNUM FROM (SELECT [column_list] FROM table ORDER BY Top-N_column) WHERE ROWNUM <= N;
    注意:
    对 ROWNUM 只能使用 < 或 <=, 而用 =, >, >= 都将不能返回任何数据。
    查询40-50排名
    select * from( select rownum rn,employee_id,salary from( select employee_id,salary,last_name from employees order by salary desc ) )where rn <=50 and rn >40

    其它数据库对象

    序列(Sequence)

    1.创建序列




    2.查询序列

    查询数据字典视图 USER_SEQUENCES 获取序列定义信息

    如果指定NOCACHE 选项,则列LAST_NUMBER 显示序列中下一个有效的值

    3.修改序列

    ALTER SEQUENCE dept_deptid_seq INCREMENT BY 20 MAXVALUE 999999 NOCACHE NOCYCLE; Sequence altered.

    3.删除序列

    DROP SEQUENCE dept_deptid_seq; Sequence dropped.

    索引(Index)

    索引: 一种独立于表的模式对象, 可以存储在与表不同的磁盘或表空间中 索引被删除或损坏, 不会对表产生影响, 其影响的只是查询的速度 索引一旦建立, Oracle 管理系统会对其进行自动维护, 而且由 Oracle 管理系统决定何时使用索引。用户不用在查询语句中指定使用哪个索引 在删除一个表时,所有基于该表的索引会自动被删除 通过指针加速 Oracle 服务器的查询速度 通过快速定位数据的方法,减少磁盘 I/O

    1.创建索引


    2.什么场景用索引

    3.什么场景不用索引

    4.查询索引

    5.删除索引

    同义词(synonym)

    创建/删除同义词

  • 相关阅读:
    python设计模式之简单工厂
    python设计模式之观察者模式
    python设计模式之模版方法设计模式
    python设计模式之策略模式
    python编程之数据描述器
    python设计模式之单例模式
    .NET 开源工作流: Slickflow流程引擎高级开发(七)--消息队列(RabbitMQ)的集成使用
    .NET 开源工作流: Slickflow流程引擎快速入门之四:--SlickGraph 流程模型编码建模工具使用手册
    .NET 开源工作流: Slickflow流程引擎快速入门之三: 简单或分支流程代码编写示例
    .NET 开源工作流: Slickflow流程引擎快速入门之二: 简单并行分支流程代码编写示例
  • 原文地址:https://www.cnblogs.com/denghy-301/p/14106870.html
Copyright © 2011-2022 走看看