以前只是简单用程序操作数据,现在才发现自己没有系统的学习过,所以想在这里记录一下自己在数据库方面遇到的问题,会参考查询网络上一些资料,现在看的是韩顺平oracle视频的笔记;

一、关于oracle系统的一些常用操作

1、oracle安装时会自动生成sys和system用户,sys是超级用户,具有最高权限,具有sysdba角色,有创建数据库的权限,默认密码是:change_on_install;system是管理操作员,具有sysoper角色,没有创建数据库的权限默认密码是:manager;

2、desc 表名;查看表结构时:使用Command window(命令窗口),不是SQL Window

3、常用关于表查询

select table_name from user_tables; //当前用户的表

select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表(需要用户权限)
select * from user_tab_columns where table_name='表名'

4、set timing on;(命令窗口)打开显示操作时间的开关

5、sql*plus常用命令:

conn 用户名/密码 [as sysdba/sysoper] 对应的是disc
psssw 修改用户密码,需要用SYS/SYSTEM登陆
show user 显示当前用户

6、用户管理

创建用户:create user 用户名 identified by 密码; (密码以字母开头)
给自己修改密码:password 用户名;
给别人修改(有dba权限):alter user 用户名 identified by 新密码
删除用户:drop user 用户名 【cascade】(用户创建了表时,带cascade参数-级联删除该用户的所有对象)

7、权限

oracle的权限分为系统权限和对象权限:
系统权限:用户对数据库的相关权限(角色)
grant connect to scott with admin option;(system给scott用户connect角色)
对象权限:用户对其他用户的数据对象操作的权限(select,insert,update,delete,all)
grant select on emp to scott;(赋给scott用户查询emp的对象权限)
grant all on emp to scott;(赋给scott用户查询,修改,删除,添加emp的对象权限)
revoke select on emp from scott;(撤销scott用户对emp表的select对象权限)

8、给用户解锁:

alter user scott account unlock;

二、简单使用查询

(1)distinct 取消查询结果的重复行,distinct紧跟在selectt之后
(2)使用连接字符串(||)
select ename || ' is a ' || job from emp
(3)查询中,别名需要使用“”号圈中文,英文用‘’
(4)查询时,若列里有一个分组函数,其他的都必须是分组函数,否则就出错
select ename, max(sal) from emp;
分组查询时,分组字段可以和分组函数一起出现在查询列里
SELECT AVG(sal), MAX(sal), deptno FROM emp GROUP by deptno;
分组函数只能出现在选择列表、 having、 order by 子句中(不能出现在 where中)

三、连接查询:

Book表:BookId,BookName,StudentId
Student表:StudentId,StudentName

(1)默认查询:select * from book b,student s where b.studentid=s.studentid

内连接:select * from book b inner join student s on b.studentid=s.studentid

(2)左外连接:select * from book b left join student s on b.studentid=s.studentid
以Book表的b.StudentId为基准,遍历Student表中与之匹配的s.StudentId:若b.StudentId含有s.StudentId匹配项,则

进行拼接,然后遍历Student表的下一条s.StudentId,当查询完毕则进入下一条b.StudentId。若b.StudentId没有相应

s.StudentId匹配项时,则显示左表的项,拼接右表的项显示为NULL。

select * from book b left join student s on b.studentid=s.studentid where b.studentid=s.studentid

select * from book b,student s where b.studentid=s.studentid

(3)union用于合并多个select语句的结果,要求select查询的列相同(自动取消重复行);
union all不取消重复行

oracle基础操作(1)的更多相关文章

  1. Oracle基础操作

    数据库的定义.作用介绍: 什么是数据库? 按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 数据库的发展史: 起始于1962年,1968年在IBM出现 数据库在测试过程中的作用: 需 ...

  2. ORACLE日常操作手册

    转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...

  3. Oracle知识梳理(三)操作篇:SQL基础操作汇总

    Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式:       CREATE TABLE  table_name ( col_ ...

  4. Oracle数据库操作---基础使用(二)

    此篇承接上一篇的基本原理,继续展开学习,本篇主要面向数据的使用和管理,也就是开发者常用的基础语句,开始喽…… >>>对整表的操作 >创建表   关键字 Create creat ...

  5. C# Oracle数据库操作类实例详解

    本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长 ...

  6. SQL基础操作汇总

    SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式:    CREATE TABLE  table_name ( col_name    datatype, -- ...

  7. 图说Oracle基础知识(一)

    本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...

  8. Oracle数据库操作---入门(一)

    由于工作原因,近期可能会开始多复习一些数据库相关的知识了,想深入了解的,也可以一起复习.学习~ 前期先巩固一下基础操作,后期会一点点的加深向运维方向深入.开篇主要介绍一些数据库理论知识,不感兴趣的可以 ...

  9. Oracle基础了解

    数据库: 关系型数据库 select * from 表名 非关系型数据库(做不到复杂查询) 以对象的形式进行存储 {"aaa":"ccc"}---键值对 ora ...

随机推荐

  1. CTSC 1999 家园 【网络流24题】星际转移

    直接把每一个点,每一天拆成一个点. 然后每个点到下一天连$inf$的边. 然后把飞船的路径用容量为飞船容量的边连接. 然后跑网络流判断是否满流. #include <queue> #inc ...

  2. button 默认类型是submit

    “form表单里的按钮,明明是button而不是input type = submit,点击还是提交,如何让它不提交?” (这个问题被我遇到了,很坑爹的,知道了就不以为然了.) 因为 button 默 ...

  3. Vbat 1.8V,接充電器,GPIO_CHG_EN pin 竟然是 high!

    Schematic : Precondition : Vbat 1.8V Plugin adapter Preloader doesn't enable GPIO_CHG_EN Origin : 做個 ...

  4. 快充 IC BQ25896 的 input current monitor

    BQ25896 沒有顯示 input current 的 register, 但可以讀 ILIM pin 的 電壓 做計算求出 input current.

  5. npm-debug.log文件出现原因

    项目主目录下总是会出现这个文件,而且不止一个,原因是npm i 的时候,如果报错,就会增加一个此文件来显示报错信息,npm install的时候则不会出现.

  6. AC日记——爱情之路 codevs 2070

    2070 爱情之路  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description yh非常想念他的女朋友小y,于是他 ...

  7. [开源] FreeSql.Tools Razor 生成器

    FreeSql 经过半年的开发和坚持维护,在 0.6.x 版本中完成了几大重要事件: 1.按小包拆分,每个数据库实现为单独 dll: 2.实现 .net framework 4.5 支持: 3.同时支 ...

  8. 2012-2013 ACM-ICPC, NEERC, Central Subregional Contest

    A Hanoi Tower 递归 题意: 大家都很熟悉汉诺塔的递归程序,现在给你一个组合,询问你这个组合是否会出现在汉诺塔的递归过程中. 题解: 将汉诺塔的递归程序反过来思考,考虑当前最大的那个盘,我 ...

  9. 【面试】最容易被问到的N种排序算法!

    面试官:小明,是吧?你都知道哪些排序算法,哪几种是稳定排序? 小明:这个我有总结! 关于排序稳定性的定义 通俗地讲就是能保证排序前两个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同. ...

  10. HDU3625 Examining the Rooms

    @(HDU)[Stirling數] Problem Description A murder happened in the hotel. As the best detective in the t ...