发表于: 2017-07-29 20:10:04

1 803


这两天的一些笔记

------

sqlplus的基本命令:

  登录普通用户

    sqlplus 用户名/密码

    sqlplus -->用户名-->密码

    sqlplus 用户名 -->密码

  退出

    exit

  如何使用管理员用户

    登录:sqlplus / as sysdba;

  管理员用户 通常来设置普通用户的权限问题

    解锁:alter user 用户名 account unlock;

    加锁:alter user 用户名 account lock;  

    修改密码

    alter user 用户名 identified by 新密码;

    切换用户 

    connect 用户名/密码;

    conn 用户名/密码;

    显示当前登录的用户

    show user;

    切换到dba用户:

    conn/as sysdba;

    查看表结构:

    desc 表名;

    查看emp表的表结构:

    desc emp;

    操作数据库选择

    1.cmd 2.plsql developer工具 3.oracle自带的plsql 开始->所有程序->orcle->sql plus

    建议使用 plsql developer

    如何连接远程数据库

    使用ip定位

  oracle服务和监听

    windows services.msc 查看服务

    oracle服务

      数据库使用的基础 只有服务启动才能操作数据

    oracle监听

      监听服务 监听服务 服务正常的启动 才能使用客户端进行连接操作

2 sql 

  查看当前用户下有哪些表

  select * from tab;

  sql和sqlplus

  sqlplus是一种命令,关键字可以简写(缩写) 不可以修改表结构以及表数据

  sql 是一种语言,关键字不可以简写 可以修改表结构表数据

  增删改查

  难点在于查询 单表查询 多表查询

  scott用户的表 以及表结构

  注释的写法

    单行注释 --

    多行注释 /*    */

  sql语句大小写不敏感

  

  EMP 代表的是员工表

  DEPT 部门表

  BONUS 收入

  SALGRADE 薪资等级

  -------------------

  先学习查询

  plsql 代码 

    些存储过程 存储函数 触发器

  jdbc

    操作sql

    调用存储过程 存储函数

    sql语句使用封号结束

    别名如果是使用中文 或者严格区分大小写 需要加双引号

    使用as来进行连接类名和别名 但是也可以省略

    在实际的开发中 别名不要使用中文

    提示快捷键 F6

    关于空值的处理

      空值是null,不等于0,只要算数运算中有空值,那么结果都为空

    空值处理可以使用NVL函数进行处理

    关于如何连接字符串

      1.可以用||来连接,但是如果连接了中文,那么需要换成单引号

      2.使用concat()函数,但是其参数只能写两个

    

    distinct

    修饰的是多列,返回值的组合是没有重复的,所以达到了一个去重的效果

  过滤

    比如 查询薪水等于800的员工信息

    select * from emp where sal = 800;

    != 和 <>都是不等于的意思

    如果有多个条件 需要使用and来进行连接

  模糊查询

    like

    1.以s开头的员工 like 's%';

    2.第二个字母是m的员工 '_m';

    3.s为结尾的员工 '%s';

  

  排序

    order by 列名

    ASC是升序

    DESC是降序

    默认是升序

  函数 

    单行函数 作用于一行数据 返回值为一个

    多行函数 作用于多行 返回值一个

    日期相关函数

      日期默认格式 DD-MM-RR

      oracle中 日期可以和字符串进行相互转化,日期需要用单引号''

    字符串相关的函数

    LOWER()转化小写

    UPPER()转化成大写

    INITCAP()将首字母大写

    CONCAT()

    数学相关

    ROUND(99,351,1) 四舍五入

    TRUNC(X,X) 截断

  子查询 

    当不能一步求解,可以分成多步

    子查询注意的点:

      子查询包含在小括号中

      将子查询方法放在比较运算符的右边

      单行操作符对应单行子查询;多行操作符对应多行子查询

    -----------

    数组是对象,string类型要指向常量池


-----------

  

单表查询

  格式

  select 列名1,列名2。。。from 表名

  where

  group by

  having

  order by

  集合运算

  并集 union

  交集 intersect

  差集 minus 在第一个集合减去第二个集合与之重合的部分

多表查询

  比如说查询员工信息 以及 员工所在的部门编号 部门名称

笛卡尔积

表与表之间的创建关系

  oracle 连接关系:

  等值连接

  不等值连接

  外连接

  左外连接

  右外连接

  自连接:

  非等值连接

    员工的姓名 薪水 以及 薪资的等级

    select ename,sal,grade

    from emp e,salgrade s

    where sal between losal and hisal ;


    oracle常用的数据类型

    number(x) 代表数据类型 数字的长度最多为x

    如果是number(x,y),那个y如果是正数,表示小数点后面多少位,负数代表小数点前有多少位

    char(n) 字符 字符创储存的长度为n

    varchar(n) 如果n=10,他的最大长度为10,但是会在存储数据的时候根据实际的内容长度创建空间

    建议使用varchar2(n),因为这个是oracle自己的数据类型



返回列表 返回列表
评论

    分享到