数据库
GavenLV
这个作者很懒,什么都没留下…
展开
-
事务 隔离级别 传播特性
什么是事务? 从四个关键概念谈起: 原子性 – 所有操作要么都成功,要么都失败 一致性 – 事务不能违反完整性约束(比如虽然事务还未提交,但仍需遵守各种约束规则,这些规则是在事务提交之前而非在事务提交以后才生效!) 隔离性 – 一个事务的效果,不影响正在同时执行的其它事务,那么,不影响的程度如何呢?这个由隔离级别来定义,标准的隔离级别有下列四种: 未提交读(read unco...原创 2009-11-24 14:17:19 · 71 阅读 · 0 评论 -
T-SQL简单的语法知识
1 先举个例子[code="java"]Codeuse myshopdeclare @ident intinsert into orders(customerid,orderdate)values(25,dateadd(day,-1,getdate()))--当前时间减去1天,就是昨天select @ident = @@identityinsert into d...原创 2009-11-28 01:10:07 · 90 阅读 · 0 评论 -
T-SQL复杂一点的查询
一:inner joininner join 是在做排除,如果任一行在两个表中不匹配,则注定将从最终的结果中排除掉例子1:[code="java"]select * from employee e inner join employee m on e.managerid = m.employeeid[/code]这是从一个表里查询了两次得到的一行记录将包括两个emplo...原创 2009-11-28 01:13:37 · 96 阅读 · 0 评论 -
马老师的PQ/SQL学习笔记
--sql structured query language --DML--Data Manipulation Language--数据操作语言 query information (SELECT), add new rows (INSERT), modify existing rows (UPDATE), delete existing rows (DELETE),...原创 2009-11-30 19:54:06 · 843 阅读 · 1 评论 -
如何查出同一张表中字段值重复的记录
比如现在有一人员表(表名:peosons) 若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来 select p1.* from persons p1,persons p2 where p1.idp2.id and p1.cardid = p2.cardid and p1.pname = p2.pname and p1.address = p2.address 可以实现上述效果....原创 2009-12-01 09:59:07 · 103 阅读 · 0 评论 -
总结MYSQL的优化
1.数据库的设计尽量把数据库设计的更小的占磁盘空间.1).尽可能使用更小的整数类型.(mediumint就比int更合适).2).尽可能的定义字段为not null,除非这个字段需要null.(这个规则只适合字段为KEY的情形)3).如果没有用到变长字段的话比如varchar,那就采用固定大小的纪录格式比如char.(CHAR 总是比VARCHR快)4).表的主索引应该尽可能的...原创 2009-12-05 20:35:09 · 84 阅读 · 0 评论 -
oracle 删除用户命令和部分命令
oracle 删除用户命令和部分命令drop user user_name cascade;建立表空间CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500MUNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k删除表空间D...原创 2009-12-16 12:56:26 · 275 阅读 · 0 评论 -
oracle 分页并排序
①采用rownum关键字(三层嵌套)[code="java"]SELECT * FROM( SELECT A.*,ROWNUM num FROM (SELECT * FROM t_order)A WHERE ROWNUM=5;[/code]--返回第5-15行数据②采用row_number解析函数进行分页(效率更高)[code="java"]...原创 2010-01-11 23:46:15 · 100 阅读 · 0 评论 -
truncate,delete,drop的异同点
truncate,delete,drop的异同点 注意:这里说的delete是指不带where子句的delete语句的[b]相同点:[/b]truncate和不带where子句的delete, 以及drop都会删除表内的数据 [b]不同点: [/b]1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(con...2010-04-01 11:42:53 · 97 阅读 · 0 评论 -
多表连接查询inner join, left join , right join ,full join ,cross join
多表查询中的几个join inner join,full outer join,left join,right jion内部连接 inner join 两表都满足的组合full outer 全连 两表相同的组合在一起,A表有,B表没有的数据(显示为null),同样B表有A表没有的显示为(null)A表 left join B表 左连,以A表为基础,A表的全部数据,B表有的组合...原创 2010-05-10 16:56:37 · 126 阅读 · 0 评论 -
oracle to_date() 用法 细节
to_date()与24小时制表示法及mm分钟的显示:一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH...原创 2010-05-27 17:56:58 · 96 阅读 · 0 评论 -
Oracle decode() 处理被除数为0
[code="java"]decode (expression, search_1, result_1)[/code]如果 expression结果=search_1结果,则返回result_1 [code="java"]decode (expression, search_1, result_1, search_2, result_2)[/code][code="java"]deco...原创 2010-06-18 10:01:11 · 324 阅读 · 0 评论 -
[转载]oracle 10g 修改IP地址导致系统无法启动oracleDBConsole的解决方法
更改了数据库服务器的ip地址,数据库重新启动后弹出windows不能在本地启动OracleDBConsole,错误代码2的错误。手动可以启动服务。在命令行执行 emctl start dbconsole 命令,提示C:\Documents and Settings\Administrator>emctl start dbconsoleEnvironment variable ORACL...原创 2010-10-14 21:57:50 · 100 阅读 · 0 评论 -
监控Oracle数据库的常用shell脚本
监控Oracle数据库的常用shell脚本 前言 这篇文章介绍了DBA每天在监控Oracle数据库方面的职责,讲述了如何通过shell脚本来完成这些重复的监控工作。本文首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本。同时文章还介绍了8个重要的脚本来监控Oracle数据库: 检查实例的可用性 检查监听器的可用性 检查al...原创 2012-05-06 12:24:16 · 116 阅读 · 0 评论 -
Oracle 书单
1.Oracle SQL高级编程 (美)Karen Morton;Kerry Osborne;Robyn Sands;Riyaj Shamsudeen;Jared Still2.精通Oracle PL/SQL (澳)Connor McDonald[等]著;蔡伟毅译3.Oracle 9i&10g编程艺术:深入数据库体系结构 [美]Thom...2012-05-06 12:50:33 · 98 阅读 · 0 评论 -
T-SQL 简单的增 删 改 查
一:insert语句into 关键字是可选的values关键字前面的()是可选的,这里是要接收数据的列values后面,有两种方式提供值1:显式的给出值 2:从select语句中导出值insert语句注意几点1:不要理标志列,系统会给你插入的2:给出实际的值,如果没有,那就null3:给出默认的值,default关键字,告诉数据库取默认值insert ...原创 2009-11-28 01:06:39 · 93 阅读 · 0 评论 -
PL/SQL学习笔记-游标(十二)
一:普通游标[code="java"]declare--定义record类型变量type v_record is record(title labor.xland.title%type,state labor.xland.title%type);--定义字符串类型变量v_title labor.xland.title%type;--定义一个游标cursor c1...原创 2009-11-28 01:01:33 · 58 阅读 · 0 评论 -
Oracle中复制表结构和表数据
1. 复制表结构及其数据: [code="java"]create table table_name_new as select * from table_name_old [/code]2. 只复制表结构: [code="java"]create table table_name_new as select * from table_name_old where 1=2; [/cod...2010-03-05 15:05:12 · 63 阅读 · 0 评论 -
Oracle 常用函数
一:字符函数名称功用LOWER(xland)将字符串表达式xland中的所有大写字母转换为小写字母UPPER(xland)将字符串表达式xland中的所有小写字母转换为大写字母INITCAP(xland)xland字符串中首字母转换成大写 SUBSTR(xland,start,length)返回字符串表达式xland中从第s...原创 2009-11-27 23:39:17 · 56 阅读 · 0 评论 -
oracle case when else 的用法
例子:[code="java"]SELECT col1, col2, CASE WHEN col3 > 1 AND col3 2 AND col3 3 AND col3原创 2009-11-27 23:48:01 · 452 阅读 · 0 评论 -
PL/SQL学习笔记-常量变量及数据类型初步(一)
一:常量和变量开始之前,还是照例做个经典的例子,如下:[code="java"]declare mydate varchar2(16) := 'hellow world';begin dbms_output.put_line(mydate);end;[/code]declare是声明部分我在这个部分声明了varchar2类型的变量,名字叫mydata...原创 2009-11-28 00:41:47 · 78 阅读 · 0 评论 -
PL/SQL学习笔记-变量作用域及数据类型深入(二)
一:变量作用域DECLAREcurrent_block VARCHAR2(10) := 'Outer';outer_block VARCHAR2(10) := 'Outer';BEGINdbms_output.put_line('[current_block]['||current_block||']'); DECLARE current_block VARCHAR...原创 2009-11-28 00:45:00 · 72 阅读 · 0 评论 -
PL/SQL学习笔记-条件控制 (三)
一:if条件控制先看一段程序:[code="java"]declarev_content varchar2(66);beginselect content into v_content from xland where title='xland';if length(v_content)>6 then v_content := substr(v_conten...原创 2009-11-28 00:46:26 · 79 阅读 · 0 评论 -
PL/SQL学习笔记-循环控制与顺序控制(四)
一:LOOP...END LOOP先看代码[code="java"]declarev_flag number := 1;beginloop exit when v_flag>16; v_flag := v_flag+1; dbms_output.put_line(to_char(v_flag));end loop;e...原创 2009-11-28 00:48:05 · 84 阅读 · 0 评论 -
PL/SQL学习笔记-异常处理(五)
一:预定义异常错误先看代码:declare mytitle labor.xland.title%type;beginselect title into mytitle from labor.xland where state = 2;dbms_output.put_line(mytitle);exceptionwhen no_data_found thend...原创 2009-11-28 00:48:59 · 102 阅读 · 0 评论 -
PL/SQL学习笔记-约束(六)
约束就那么几种1 NOT NULL 非空2 UNIQUE 唯一3 PRIMARY KEY 主键主键既是非空约束也是唯一约束4 FOREIGN KEY 外键5 CHECK 检查就这个比较灵活多变lie is null or (lie between 100 and 250) 关于约束,有两点我觉得涉及到比较高级的话题,...原创 2009-11-28 00:50:06 · 66 阅读 · 0 评论 -
PL/SQL学习笔记-索引(七)
一:索引描述一个索引可以由一个或多个列组成对列设置索引其实就是对列的内容按一定的方式进行排序检索数据的时候,检索排过序的数据检索到最后一个有效数据之后就跳出检索这样就不必进行全表扫描了,同时可以应用很多算法提高检索效率数据库多用二分法检索数据二:索引分类1 唯一索引(Unique)不允许列内有重复的值2 非唯一索引(normal)允许列内有重...原创 2009-11-28 00:51:13 · 68 阅读 · 0 评论 -
PL/SQL学习笔记-视图 (八)
一:创建或者修改一个试图create or replace view v_xland asselect title,content from labor.xland;二:删除一个视图drop view v_xland;三:更新视图中的数据如果检索一个视图里的数据没有什么限制的如果想对视图进行更新、删除、新建数据那么该视图就要满足一下条件1视图中不...原创 2009-11-28 00:52:04 · 81 阅读 · 0 评论 -
PL/SQL学习笔记-过程 (九)
一:创建和修改一个过程[code="java"]create or replace procedure xland_proc(v_title in varchar2,v_int out number)isv_char varchar2(111);beginselect labor.xland.state,title into v_int,v_char from labo...原创 2009-11-28 00:53:25 · 54 阅读 · 0 评论 -
PL/SQL学习笔记-函数(十)
先看程序create or replace function get_content(v_title in xland.title%type,v_content out xland.content%type)return numberisv_state number;beginselect state,content into v_state,v_content f...原创 2009-11-28 00:56:23 · 70 阅读 · 0 评论 -
PL/SQL学习笔记-触发器(十一)
一:语句级触发器语句级触发器是指当执行DML操作时,以语句为单位执行的触发器(注意与下面提到的行级触发器比较)先看代码[code="java"]create or replace trigger xland_triggerbefore insertor updateor deleteon labor.xlandbeginif(to_char(sysdat...原创 2009-11-28 00:58:25 · 62 阅读 · 0 评论 -
(转)Oracle维护常用SQL语句
Oracle维护常用SQL语句 1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_nam...原创 2012-05-06 20:53:21 · 62 阅读 · 0 评论