Oracle
李钊2442630393
这个作者很懒,什么都没留下…
展开
-
使用plsql创建用户并授权(图形化)
使用plsql创建用户并授权1.使用sys用户登录数据库(我的密码是orcl)2.在左边的对象列表中找到USERS,右键点击USERS,选择“新建用户”选项3.创建用户名和密码并指定表空间,如下图所示: 注:如果你没有单独创建表空间的话,可以使用默认的USERS表空间4.指定用户的角色权限,如下图所示: 注:如果需要给用转载 2017-03-23 17:20:16 · 9894 阅读 · 1 评论 -
如何写出性能优良的 SQL? (如何优化 SQL)
1. 选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表(基础表 driving table)将被最先处理,在 FROM 子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有 3 个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基...转载 2018-03-02 17:18:01 · 176 阅读 · 0 评论 -
Oracle优化
一、首先要查看SQL的执行计划(PLSQL中选中SQL按F5)二、数据量小的表作为基础表放在后面,能够过滤掉大量数据的条件放在where子句的最后面。原创 2018-04-19 10:20:06 · 113 阅读 · 0 评论 -
Oracle中rank()函数的使用
rank() over (partition by xx order by xx)--1. partition by用于给结果集分组,如果没有指定,则把整个结果集作为一个分组--2. rank是在每个分组内部进行排名的例子: 查询emp表中每个部门中工资前3名的员工信息[sql] view plain copySELECT * FROM (SELECT e.*, rank() over (...转载 2018-04-19 16:41:46 · 1853 阅读 · 0 评论 -
Oracle 如何通过SQL语句对表中某一行数据加锁
我们都知道一些数据库加锁的理论,比如:表锁、行锁、悲观锁和乐观锁,但是由于平时写SQL的时候并没有真正使用过,所以只知道理论,并不知道如何去使用。 今天查了一下资料,对如何通过SQL语句加锁有了一些了解,特整理一下:一. session的概念 session,即“会话”,在plsql中,一个新的SQL WINDOW就是一个新的session会话。二. 建表并初始化数...原创 2018-04-26 14:41:20 · 9403 阅读 · 0 评论 -
Oracle常用数据字典表(系统表或系统视图)及查询SQL
Oracle常用数据字典表(系统表或系统视图)及查询SQL数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息的视图等。数据字典系统表,保存在system表空间中。查询所有数据字典可用语句“select * from dictionary;”。数据字典分类数据字典主要可分为四部分:1)内部RDBMS表:x$*...转载 2018-06-12 12:58:16 · 12516 阅读 · 1 评论 -
Oracle表字段的增加、删除、修改和重命名
Oracle表字段的增加、删除、修改和重命名本文主要是关于Oracle数据库表中字段的增加、删除、修改和重命名的操作。 增加字段语法:alter table tablename add (column datatype [default value][null/not null],….);说明:alter table 表名 add (字段名 字段类型 默认值 是否为空); 例:alter ta...转载 2018-06-12 13:40:05 · 174 阅读 · 0 评论 -
oracle执行update语句卡住不动
问题开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果。但是奇怪的是执行其他的select语句却是可以执行的。原因和解决方法这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,转载 2017-12-27 17:02:33 · 238 阅读 · 0 评论 -
写sql习惯:注意将查询结果排序
在某些情况下,可以考虑对sql结果进行排序,加上order by 字段;原创 2017-04-18 13:51:50 · 277 阅读 · 0 评论 -
oracle to_timestamp
to_timestamp('2011-12-15 10:40:10.345', 'yyyy-MM-dd HH24:MI:ss.ff')转载 2017-05-11 09:38:04 · 4007 阅读 · 0 评论 -
SQL 拼接多个字段的值&一个字段多条记录的拼接
如student表:studentIDstudentNamestudentScore01Alice9002Bill9503Cindy100一、拼接多个字段的值select stud转载 2017-05-11 10:49:40 · 17200 阅读 · 0 评论 -
ORACLE 求和直接用加法即可
oracle中行求和直接用加法即可。select id,name,maths,chinese,english,maths+chinese+english as sumscore from test;转载 2017-06-26 14:14:50 · 18050 阅读 · 1 评论 -
ORACLE的别名不能进行运算
我有语句如下: Select a,b,(a+b)/3 c,c/a from tab1; 系统提示有错误: 写成下面的就可以了,Select a,b,(a+b)/3 c,(a+b)/3/a from tab1;注意:同级中,除排序,不能直接引用别名转载 2017-06-28 13:06:51 · 1371 阅读 · 0 评论 -
sql语句大小写
1. 关键字是不分大小写的,如select ,from ,where,group by ,order by ,having,update delete ,insert into,sum,avg,min,max 等等。2. 查询的内容是分大小写的,如表名,字段名,等转载 2017-10-18 10:08:58 · 3270 阅读 · 0 评论 -
ORACLE WITH AS 用法
语法:with tempName as (select ....)select ... 例:现在要从1-19中得到11-14。一般的sql如下:select * from( --模拟生一个20行的数据 SELECT LEVEL AS lv FROM DUAL转载 2017-12-13 13:38:14 · 144 阅读 · 0 评论