oracle第一招之神马都是浮云
oracle:
一款关系型(二维表)数据库,可以用来存储海量数据。在大数据量并发检索的情况下,性能要高于其他的同类数据库产品。一般运行环境是Linux和Unix操作系统上!
目前最流行的商业数据库,主流版本9i(Internet) 10/11g(grid) 12c(Cloud)
数据库用户:
Sys:超级管理员 (不允许用normal方式登录,只能用Sysdba和sysoper身份登录)
System:普通管理员(只能用normal登录,不能用Sysdba和sysoper身份登录)
Scott:普通用户
超级管理员和普通管理员都可以建立用户和对用户进行授权操作
连接数据库:
SQL*Plus方式连接
sqlplus ssss/ssss@orce1(多个数据库的方式)
sqlplus ssss/ssss(单个数据库的方式)
PL/SQL Developer方式连接
EM(Enterprise )
动软代码生成器
将自己PC上的Oracle服务公布到局域网。
1:找Oracle安装目录----->配置和移植工具------>Net Manager工具,点开的是本地---->监听程序---->将localhost改成本机IP:如(192.168.16.6)。然后点击保存网络配置。
有个小的隐式规则:自动将IP转成本机的计算机名称,保存到app/Happy(用户名)/product/11.2.0/dbhome_1/NETWORK/ADMIN/listener.ora文件的对应的节点处。
下次你打开Net Manager的时候,你会发现Oracle会读取对应的配置文件,读出来的是计算机名称。
2.重新配置监听
解析:找Oracle安装目录----->配置和移植工具------>Net Configuration Assistent---->重新配置监听
3.关闭本机的防火墙或添加入站规则!
数据库操作:
01.查询某个用户下所有的表
这里SCOTT必须是大写!
Rowid:在内存中构建一列不会断裂的自增值。
Oracle数据库忘记密码解决方案:
1
2.alter user system identified by 新密码;
解锁用户
alter user scott account unlock;
3.切换用户
SQL>conn scott/新密码
角色和权限:
Oracle包括两大类权限(Privileges),一种是系统权限,另外一种是对象权限。
CONNECT角色: --是授予最终用户的典型权利,最基本的
CREATE SESSION --建立会话
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
CREATE OPERATOR --创建操作者
CREATE INDEXTYPE --创建索引类型
CREATE TABLE --创建表
常用数据类型:
Oracle CHAR,VARCHAR,VARCHAR2类型的区别与使用
区别:
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR
(20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2
(20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
2.CHAR的效率比VARCHAR2的效率稍高。
3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以
后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储
空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
何时该用CHAR,何时该用varchar2?
CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系.
VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。
VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’
(Row
Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。
SQL简介:
SQL-99标准中有五种对数据库的操作
DDL(Data Definition Language)数据定义语言:create database/table/view/sequence
DML(Data Manipulation Language):数据操作语言:insert/update/delete
TCL:(Transaction Control Language):事务控制语言:begin Transction Save point commit rollback
DQL(Data Query Language):数据查询语言:select
DCL(Data Contrl Language):数据控制语言:grant(授权) /revoke(取消、收回权限)
SQLPlus下常见命令操作:
*清屏
*注释
*查看当前用户
*当前用户下的表
解析: 在10g中bin开头表示已经删除的放在回收站的表,oracle在删除表时并没有彻底的删除,而是把表放入回收站!purge recyclebin清空回收站即可。
用来删除指定的表
SQL> PURGE TABLE TABLE_NAME
*查看表结构
*设置行和列的格式
*dual说明
*|| 连接
*表名为关键字问题
如果在ORACLE的SQL中包含关键字,可能会提示错误
例如:
select * from user where number=10;
由于number是关键字,执行SQL的时候会报错
因此可以修改为
select * from user where "number"=10;即可(这里是双引号,不是两个单引号)
*模糊查询中,查询内容为通配符”_和%”,如何书写查询语句
Like ‘%\_%’ escape=’\’
*关于where的优化问题
解析:where 条件1 and 条件2 解析的时候从右至左解析
*关于使用order by 多列排序问题
解析:order by 列1,列2 desc ,那么desc只作用域第二列
*关于null值排序的问题
创建数据表和修改数据表
添加列
ALTER TABLE teacher
ADD (hiredate DATE,--入职日期
sal NUMBER(7,2),wechat VARCHAR2(20)); --薪水 、微信
修改列
ALTER TABLE teacher MODIFY (tname VARCHAR2(30));
删除列
ALTER TABLE teacher DROP COLUMN wechat; --删除wechat列
oracle第一招之神马都是浮云的更多相关文章
- 神马都是浮云,unity中自己写Coroutine协程源代码
孙广东 2014.7.19 无意之间看到了,Unity维基上的一篇文章, 是关于自己写协程的介绍. 认为非常好,这样能更好的了解到协程的执行机制等特性.还是不错的. 原文链接地址例如以下: ht ...
- struts神马的不过是对servlet、filter的封装而已,hibernate神马的也不过是对jdbc的封装而已,他们只是把一些常见的操作流程化了,如果不懂servlet、filter,不懂jdbc,使用struts和hibernate出问题了都不知道是怎么回事。
struts神马的不过是对servlet.filter的封装而已,hibernate神马的也不过是对jdbc的封装而已,他们只是把一些常见的操作流程化了,如果不懂servlet.filter,不懂jd ...
- SQLSERVER 里经常看到的CACHE STORES是神马东东?
SQLSERVER 里经常看到的CACHE STORES是神马东东? 当我们在SSMS里执行下面的SQL语句清空SQLSERVER的缓存的时候,我们会在SQL ERRORLOG里看到一些信息 DBCC ...
- javascript 函数初探 (一)--- 神马是函数
神马是函数? 所谓函数,本质上是一种代码的分组形式.我们可以通过这种形式赋予某组代码一个名字,以便与之后的调用.下面,我们来示范以下函数的声明: function sum(a, b){ var c = ...
- [C++中级进阶]001_C++0x里的完美转发到底是神马?
[C++中级进阶]001_C++0x里的完美转发到底是神马? 转载至:http://www.cnblogs.com/alephsoul-alephsoul/archive/2013/01/10/285 ...
- 百度,谷歌,360,搜狗,神马等蜘蛛IP段
https://www.imydl.com/wzjs/5971.html 记得3月份的时候明月分享过一篇[站长必备:百度.谷歌.搜狗.360等蜘蛛常见IP地址]的文章,好像一直都受到了众多站长们的关注 ...
- Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招
原文:Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招 在前几期中总结分享了Android的前世今生.Android 系统架构和应用组件那些事.带你一起来聊一聊Android开 ...
- 神马玩意,EntityFramework Core 1.1又更新了?走,赶紧去围观
前言 哦,不搞SQL了么,当然会继续,周末会继续更新,估计写完还得几十篇,但是我会坚持把SQL更新完毕,绝不会烂尾,后续很长一段时间没更新的话,不要想我,那说明我是学习新的技能去了,那就是学习英语,本 ...
- 记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?)
记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?) 前几天帮客户优化一个数据库,那个数据库的大小是6G 这麽小的数据库按道理不会有太大的性能问题的, ...
随机推荐
- ajax的data传参的两种方式
ajax的data传参的两种方式 本文为转载. 1.[javascript] view plain copy /** * 订单取消 * @return {Boolean} 处理是否成功 */ func ...
- hat linux下vnc的安装
1.在系统文件下找到vnc的rpm包(检测是否安装vnc) 系统文件寻找方法 进入到根目录(可通过pwd确认当前目录,/则表示根目录) 根目录下有个一个media,进入此目录 media目录下有个一个 ...
- Java集合——List接口
1.定义 List是Collection的子接口,元素有序并且可以重复,表示线性表. 2.方法 add(int index,Object e):在指定索引(和数组下标类似,为0,1,2....)放入元 ...
- 对于transform的新认识
transform-origin是作用于该元素自己的,transform-origin(0px,0px),是以该元素自己本身的左上角(0px,0px)为圆心进行动作的.
- tar 排除指定目录 –exclude
假设 test目录下有 1 2 3 4 5 这5个目录, 1下有6 7两个目录, 现在要将3 4 5 6目录tar打包,2和1下的6这两个目录不要.命令如下: Example[www]#cd test ...
- FZU 1911 Construct a Matrix
题目链接:Construct a Matrix 题意:构造一个矩阵,要求矩阵的每行每列的和都不相同.矩阵的边长是前n项斐波那契的和. 思路:由sn = 2*(fn-1)+(fn-2)-1,只要知道第n ...
- S1:动态方法调用:call & apply
js中函数执行的两种方式:一是通过调用运算符’()’,二是通过调用call或apply来动态执行. 一.动态方法调用中指定this对象 开发中我们往往需要在对象B中调用对象A的方法,这个时候就用到了a ...
- NOIP 2013 提高组 day2 积木大赛
积木大赛 描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为1的积木组成,第
- Debugger Exception Notification
--------------------------- Debugger Exception Notification --------------------------- Project PJSP ...
- Java 枚举&注解
枚举类 如何自定义枚举类 JDK1.5之前需要自定义枚举类 JDK 1.5 新增的 enum 关键字用于定义枚举类 若枚举只有一个成员, 则可以作为一种单例模式的实现方式 //枚举类 class Se ...