zoukankan      html  css  js  c++  java
  • Oracle入门第二天(上)——基本查询SQL

    一、SQL概述

      起源于标准不再赘述,主要分为DDL,DML,DCL

      ORACLE的数据类型:

    数据类型

    描述

    VARCHAR2(size)

    可变长字符数据。VARCHAR2(n)数据类型用于定义可变长度的字符串,其中,n用于指定字符串的最大长度,n的值必须是正整数且不超过32767。

    CHAR(size)

    定长字符数据。CHAR(n)数据类型用于定义固定长度的字符串,其中,n用于指定字符串的最大长度,n的值必须是正整数且不超过32767。

    NUMBER(p,s)

    可变长数值数据。NUMBER(precision,scale)数据类型用于定义固定长度的整数和浮点数,其中,precision表示精度,用于指定数字的总位数;scale表示标度,用于指定小数点后的数字位数,默认值为0,即没有小数位数。

    DATE

    日期型数据。DATE数据类型用于定义日期时间类型的数据,其数据长度为固定7个字节,分别描述年、月、日、时、分、秒。

    LONG

    可变长字符数据,最大可达到2G。LONG数据类型在其它的数据库系统中常被称为备注类型,它主要用于存储大量的可以在稍后返回的文本内容。

    TIMESTAMP

    TIMESTAMP数据类型也用于定义日期时间数据,但与DATE仅显示日期不同,TIMESTAMP类型数据还可以显示时间和上下午标记,如“11-9月-2007 11:09:32.213 AM”。

    CLOB

    字符数据,最大可达到4G。

    RAW和LONG RAW

    裸二进制数据。LONG RAW数据类型在其它数据库系统中常被称为大二进制类型(BLOB),它可以用来存储图形、声音视频数据,尽管关系型数据库管理系统最初不是为它们而设计的,但是多媒体数据可以存储在BLOB或LONG RAW类型的字段内。

    BLOB

    二进制数据,最大可达到4G。

    BFILE

    存储外部文件的二进制数据,最大可达到4G。

    ROWID

    行地址,十六进制串,表示行在所在的表中唯一的行地址,该数据类型主要用于返回ROWID伪列,常用在可以将表中的每一条记录都加以唯一标识的场合。

      相关介绍,参考MySQL章节http://www.cnblogs.com/jiangbei/p/6696202.html

    二、基本查询SELECT语句

        先以SCOTT登录SQL Developer(在工具中直接打开即可,无需安装)

      1.查询所有列——使用 *

    select * from employees;

      // 注意分号

        也可以通过ed打开编辑器,这样可以直接在编辑器中进行换行和保存等操作,直接通过 / 进行调用(里面的SQL无需分号)

        

      2.查询部分列

    select LAST_NAME,EMAIL from employees;

      // 列支持基本运算,包括加减乘除等,这里不再赘述,参考MySQL章节

      别名      

        支持别名——直接在列名后空一格,或者使用AS alias_name,也可以用双引号以便控制别名可以为特殊字符等AS “alias_name”

    SELECT LAST_NAME AS "name" FROM employees;

      连接符

        连接符: 把列与列,列与字符连接在一起。 用 ‘||’表示。 可以用来‘合成’列

    SELECT LAST_NAME||' job is '||JOB_ID FROM employees;

      

      // 字符串可以是 SELECT 列表中的一个字符,数字,日期。 日期和字符只能在单引号中出现。 每当返回一行时,字符串被输出一次。

      去重——同样支持DESTINCT关键字

     SELECT DISTINCT department_id from employees;

      SQL和SQL PLUS

      

     三、过滤和排序

      过滤——使用where

    SELECT SALARY FROM employees WHERE SALARY > 5000

      这里需要注意日期格式的字符串必须使用指定格式:默认的日期格式是 DD-MON月-RR

    SELECT * FROM employees WHERE hire_date = '7-6月-1994';

      欲使用正常的yyyy-mm-dd的形式,参考下节的单行函数:to_char()

      其他比较运算符:  这些都与MySQL类似(例如LIKE同样支持ESCAPE进行转义),参见相关随笔

      

      其他逻辑运算符:

      

      排序——使用order by

    SELECT * FROM employees ORDER BY salary asc,last_name desc;

      支持多列排序:当salary相同时,按照last_name排序

      支持指定升降序,ASC 升序(默认),降序 DESC

  • 相关阅读:
    Python configparser模块
    Python OS,shutil模块
    一、操作系统基础
    Python 序列化
    Python 验证码生产程序和进度条程序
    SaltStack 实践课程二 PHP+NGINX
    Android攻城狮数据存储之文件存储
    Android攻城狮数据存储之SQLite数据库简介
    Android攻城狮数据存储之SharedPreferences
    Android攻城狮读取了JSON实现图文混排
  • 原文地址:https://www.cnblogs.com/jiangbei/p/8178608.html
Copyright © 2011-2022 走看看