
Oracle|DB2|Mysql
奚海坤
热爱开源并专注于互联网广告技术。
展开
-
DB2中创建类似Oracle中dual伪表
默认Oracle内置Dual伪表,而DB2等同于的伪表有SYSIBM.SYSDUMMY1。通过建立视图建立DUAL视图:create view dual as select IBMREQD as DUMMY from SYSIBM.SYSDUMMY1这样查询就可以直接从DUAL中取系统数据了原创 2013-03-19 21:54:04 · 1747 阅读 · 0 评论 -
jdbc 连接 mysql 时的中文乱码问题
在用 jdbc 向 mysql 数据库插入中文时出现了乱码,严格来说是通过 Hibernate。记录下搜索和查文档以后找到的解决办法。首先要告诉数据库要插入的字符串使用的字符集,mysql 默认使用的字符集是 latin1。我要保存的字符串是 UTF-8 编码的(字符集是 Unicode),所以包含这个字段的表应该使用 UTF-8 编码。这里有几种解决办法。在建立数据库的时候指定数原创 2013-04-19 11:08:54 · 650 阅读 · 0 评论 -
db2日期和时间常用汇总
1、db2可以通过SYSIBM.SYSDUMMY1、SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值。SELECT 'HELLO DB2' FROM SYSIBM.SYSDUMMY1;--HELLO DB2SELECT 'HELLO DB2' FROM SYSIBM.DUAL;--HELLO DB2VALUES 'HELLO DB2';--HELLO转载 2014-01-22 13:30:48 · 729 阅读 · 0 评论 -
DB2 多行记录合并
前提是DB2数据库支持XML。SELECT T.VIN, VARCHAR(REPLACE(REPLACE(XML2CLOB(XMLAGG(XMLELEMENT(NAME A, T.WARN_ITEM_NO || '=' ||原创 2014-02-27 11:00:10 · 4052 阅读 · 0 评论 -
DB2中ROW_NUMBER() OVER函数的基本用法
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY COL1 DESC) 是先把COL1列降序,再为降序以后的每条COL1记录返回一个序号。示例:Column1 row原创 2014-03-03 10:49:05 · 5747 阅读 · 0 评论 -
MySQL主从复制与读写分离
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分转载 2014-03-20 18:41:47 · 564 阅读 · 0 评论 -
DB2查询锁及解锁
查询所有锁表信息:SELECT * FROM TABLE (SNAP_GET_LOCK ('', -1)) AS T WHERE lock_object_type = 'TABLE_LOCK' 根据agent_id进行解锁操作:FORCE application (agent_id);原创 2014-03-21 18:26:16 · 12023 阅读 · 0 评论 -
Oracle数据库dmp文件Dos命令下导入导出
数据导出:一. 导出工具exp他是操作系统下一个可执行的文件,存放目录/Oracle_Home/bin.exp导出工具将数据库中数据备份压缩成一个二进制系统文件,可以在不同的OS间迁移. 他有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据.b.表模式: 导出用户所有表或者指定表.c.整个数据库: 导出数据库中所有对象.例子(用户名syste转载 2014-05-11 10:59:28 · 1059 阅读 · 0 评论 -
Oracle的For Update语句
Select...for update 语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所妨碍。借助for update子句,我们可以在应用程序的层面手工实现数据加锁保护操作。加锁范围子句:在select ....for update 之后,可以转载 2014-05-11 10:21:27 · 1824 阅读 · 0 评论 -
Oracle的For Update语句
Select...for update 语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所妨碍。借助for update子句,我们可以在应用程序的层面手工实现数据加锁保护操作。 加锁范围子句:在select ....for update 之后,可以...原创 2014-05-11 10:23:44 · 535 阅读 · 0 评论 -
oracle 获取周末 及trunc的用法
一、trunc的用法1.trunc(for dates) trunc函数为指定元素而截去的日期值。 其具体的语法格式如下: trunc(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去。忽略原创 2013-04-14 13:45:49 · 2351 阅读 · 0 评论 -
oracle中给表和字段添加注释
COMMENT ON COLUMN TABLE_NAME.COL_NAME IS '列注释'; --给列添加注释 COMMENT ON TABLE TABLE_NAME IS '表注释'; --给表添加注释原创 2013-04-14 13:36:37 · 1180 阅读 · 0 评论 -
第一,二,三范式
数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式原创 2013-03-19 22:06:30 · 600 阅读 · 0 评论 -
oracle中 connect by prior 递归算法
oracle中 connect by prior 递归算法 Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的,其基本语法是: select ... from tablename start with 条件1 connect by 条件2 where 条件3; 例: select * from t原创 2013-04-08 15:36:23 · 498 阅读 · 0 评论 -
在PL/SQL中 自动复制转换StringBuffer的SQL
1、建立文件名stringBuffer.copy2、保存内容StringBuffer query = new StringBuffer();query.append(" \n");query.append(" \n");query.append(" \n");3、复制到PLSQL Developer\SpecialCopy 目录下4、在PL/SQL中 ,选中SQL右击专用复制原创 2013-04-08 17:10:34 · 2147 阅读 · 0 评论 -
Oracle 数据库 Record is locked by another user 问题解决办法
在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user!当出现这种情况的时候,只要操作下面几个步骤就可以解锁了。select t2.username,t2.sid,t2.serial#,t2.logon_timefrom v$locked原创 2013-04-11 10:10:26 · 816 阅读 · 0 评论 -
Oracle中的Round和Trunc
一、Oracle中的Round和Trunc:如同对数字进行四舍五入和按位截取一样,Oracle对时间日期也提供了这两种功能。但比起对数字进行四舍五入和截取比较复杂:这是因为时间日期是有格式的。下面看看这两个函数的定义和用途:ROUND(date [, format])TRUNC(date [, format])Round函数对日期进行“四舍五入”,Trunc函数对日原创 2013-04-11 15:54:34 · 928 阅读 · 0 评论 -
Oracle分页查询语句(一)
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM )WHERE RN >= 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页转载 2013-04-11 17:35:19 · 575 阅读 · 0 评论 -
oracle设置自动增长列
1.建表create table VACATION( ID number(8) primary key, TITLE VARCHAR2(200), MATTER VARCHAR2(200), APPLYER VARCHAR2(20), STARTTIME VARCHAR2(20), ENDTIME VARCHAR2(2转载 2013-04-11 17:50:34 · 639 阅读 · 0 评论 -
mysql命名锦集
测试环境:mysql 5.0.45【注:可以在mysql中通过mysql> SELECT VERSION();来查看数据库版本】 一、连接MYSQL。 格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户原创 2013-04-14 13:20:42 · 477 阅读 · 0 评论 -
oracle函数 总结
1、union --可以把两个不同的表的数据汇总到一个结果集中select id from stud1 union select id from stud2; --这样就会把stud1和stud2 的id都列出来,当然你就可以放到list去了。会自动排序,并且合并相同的记录。 2、union all 作用跟union相同,但是不会自动排序,也不会合并相同记录。原创 2013-04-14 13:35:31 · 479 阅读 · 0 评论 -
Oracle数据库dmp文件Dos命令下导入导出
数据导出:一. 导出工具exp他是操作系统下一个可执行的文件,存放目录/Oracle_Home/bin.exp导出工具将数据库中数据备份压缩成一个二进制系统文件,可以在不同的OS间迁移. 他有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据.b.表模式: 导出用户所有表或者指定表.c.整个数据库: 导出数据库中所有对象.例子(用户名s...原创 2014-05-12 00:08:02 · 271 阅读 · 0 评论