(1)Oracle——————基础,SQL和SQL*Plus的区别以及排序

SQL的基础学习

1,SQL语句分为以下三种类型

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

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

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

  • DML用于查询与修改数据记录,包括如下SQL语句:

        INSERT:添加数据到数据库中
        UPDATE:修改数据库中的数据
        DELETE:删除数据库中的数据
        SELECT:选择(查询)数据(SELECT是SQL语言的基础,最为重要。)

  • DDL用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:

        CREATE TABLE:创建数据库表
        ALTER TABLE:更改表结构、添加、删除、修改列长度
        DROP TABLE:删除表
        CREATE INDEX:在表上建立索引
        DROP INDEX:删除索引

  • DCL用来控制数据库的访问,包括如下SQL语句:

        GRANT:授予访问权限
        REVOKE:撤销访问权限
        COMMIT:提交事务处理
        ROLLBACK:事务处理回退
        SAVEPOINT:设置保存点
        LOCK:对数据库的特定部分进行锁定

2, 使用SQL注意点

        SQL 语言大小写不敏感。

        SQL 可以写在一行或者多行

        关键字不能被缩写也不能分行

        各子句一般要分行写。

        使用缩进提高语句的可读性。

3, 算术运算符

  • 数字和日期使用的算输运算符:+,-,*,/

  • 操作符优先级:

    乘除的优先级高于加减
    同一优先级运算符从左向右执行
    括号内的运算先执行

4,定义空值:

空值是无效的,未指定的,未知的或不可预知的值
空值不是空格或者0

5,列的别名:

重命名一个列, 便于计算。
紧跟列名,也可以在列名和别名之间加入关键字‘AS’,别名使用双引号,以便在别名中包含空格或 特殊的字符并区分大小写。

6,连接符:

把列与列,列与字符连接在一起。
用 ‘||’表示。
可以用来‘合成’列,如:System.out.println(123 + “hello” + 123) ; —> 123hello123

7,字符串:

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

如:
--------筛选条件:日期为1980-12-17入职的员工--------
select a.* from emp a where a.hiredate = ‘17-12月-1980’;
select a.* from emp a where to_char(a.hiredate, ‘yyyy-MM-dd’) = ‘1980-12-17’;

8,删除重复行:

        默认情况下,查询会返回全部行,包括重复行,在 SELECT 子句中使用关键字 ‘DISTINCT’ 删除重复行。如:select distinct depart_id from employees;

SQL和SQL*Plus

在这里插入图片描述
在这里插入图片描述

  • 使用SQL*Plus可以干什么?:

        描述表结构。
        编辑 SQL 语句。
        执行 SQL语句。
        将 SQL 保存在文件中并将SQL语句执行结果保存在文件中。
        在保存的文件中执行语句。
        将文本文件装入 SQL*Plus编辑窗口。

  • 比较运算符
    在这里插入图片描述
  • 其它比较运算
    ----
    --------名字的第二位是m的员工--------
    select a.* from emp a where a.ename like ‘_m%’;

        --------员工中名字含有_的员工有那些’'表示转义字符--------
        select a.* from emp a where a.ename like ‘%_%’ escape ‘’;

  • 优先级
    在这里插入图片描述

排序

        order by 需要排序的字段 默认从小到大
        desc从大到小 asc小到大

        --------多重排序,如果工资从高往低排序,如果工资相同名字从低往高排序--------
        select a.*,a.rowid from emp a order by a.sal desc ,a.ename asc

        --------按照别名排序--------
        select a.ename,a.sal*12 yearSal from emp a order by yearSal desc


下一章,(2)Oracle——————单行函数和多表查询

发布了67 篇原创文章 · 获赞 19 · 访问量 9855

猜你喜欢

转载自blog.csdn.net/qq_41530004/article/details/104807539