随笔分类 - Oracle
摘要:一张表有500万条数据,有效数据为50万条,如何快速删除其它450万条数据? 一、TRUNCATE命令 TRUNCATE TABLE命令仅适用于全表删除,因为不写REDO LOG FILE,所以速度很快。但如果只删除表中的部分数据时,此方法行不通。 二、DELETE命令 直接使用DELETE FRO
阅读全文
摘要:一、查询表空间所有表 select table_name from all_tables where TABLESPACE_NAME='USERS'; 二、查询表所在的表空间 select * from user_tables where table_name='PANTAB'; 一个数据库由多个表
阅读全文
摘要:一、以 sys管理员身份登录sqlplus,打开命令行(cmd.exe),语法: sqlplus sys/Manager001 as sysdba 二、创建独立的表空间 create tablespace USER_TEST_DATA logging datafile 'C:\app\Andy\or
阅读全文
摘要:环境:Tomcat7MySQL56mysql-connector-java-3.1.10-bin.jar步骤:1. 配置context.xml此文件位于~\tomcat7\conf目录下面,增加如下代码: 这些参数的含义都很好理解。注意修改数据库名、用户名、密码等几项参数。如果是开发环境,并不需要优化maxActive/maxIdle等参数。如果是Oracle数据库,不同的地方如下: driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:th...
阅读全文
摘要:因为工作需要,先是需要将一个小型的MySQL数据库中的数据拷贝到Oracle中;近期又有需要将一个中型的Oracle数据库拷贝到MySQL中。曾经找过网上各种转换工具,大多收费的,自己写个吧,还一切可控。转换的前提是两种数据库中已经存在相同的数据结构,可以自己利用SQL语句在目标数据库生成数据结构;或者是使用工具仅生成数据结构(如:DBMover,它是收费的,但可以免费转换数据结构,好像不包括外键,网址:http://dbmover.com/cn/)。第一个程序,从MySQL拷贝到Oracle很久以前写的,将一个小型的MySQL数据库中的表拷贝到Oracle数据库中(十万数据量级别,没有优化,
阅读全文
摘要:1. 大的方面(宏观)Oracle为商用数据库,行业中占据相当的地位:市场占比2012年为40%。开发、管理资源相当丰富,有自己的metalink,我也曾用过,有什么问题,都能在那里得到较快速度的解决。开发用了近10年,虽然有些功能用起来挺鸡肋的(像分页),但它在OLTP/OLAP等方面确实都非常出色。我们一般项目中至少有两个Oracle数据库:联机事务处理(OLTP)数据库,联机分析处理数据库(OLAP),通过配置实现这两个数据库的同步。Oracle具有良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性。MySQL为非商用开源数据库,虽然目前也有商用版本,但
阅读全文
摘要:1. 问题描述BBSCOMMENT表为BBSDETAIL的从表,记录商户评价信息。因为数据倒腾来倒腾去的,有很多重复数据。表结构如下:COMMENT_IDNOT NULLNUMBER --主键DETAIL_IDNOT NULLNUMBER --外键,引用BBSDETAIL表COMMENT_BODYNOT NULLVARCHAR2(500) --评价内容--其它字段忽略其中主键是没有重复的,重复的是DETAIL_ID+COMMENT_BODY+......等信息,就是某些商家的评价信息有重复。2. 解决步骤2.1 查找表中多余的重复记录--查询出所有有重复的数据select DETAIL_...
阅读全文
摘要:背景因为项目某些模块的数据结构设计没有严格按照某规范设计,所以只能从数据库中查询数据结构,需要查询的信息如下:字段名称、数据类型、是否为空、默认值、主键、外键等等。在网上搜索了查询上述信息的方法,总结如下:1. 查询表基本信息select utc.column_name,utc.data_type,utc.data_length,utc.data_precision, utc.data_Scale,utc.nullable,utc.data_default,ucc.commentsfrom user_tab_columns utc,user_col_comments uccw...
阅读全文
摘要:wmsys.wm_concatDefinition: The Oracle PL/SQL WM_CONCAT function is used to aggregate data from a number of rows into a single row, giving a list of data associated with a specific COMMENT_BODY. In effect, it cross-tabulates a comma delimited list.Note that WM_CONCAT is undocumented and unsupported b
阅读全文
摘要:1. 常规SQL语句优化 1.1 建议不用“*”来代替所有列名 SELECT语句中可以用“*“来列出某个表的所有列名,但是这样的写法对Oracle系统来说会存在解析的动态问题。Oracle系统会通过查询数据字典来将”*“转换成表的所有列名,这自然会消耗系统时间。 1.2 用TRUNCATE代替DEL
阅读全文
摘要:下面这些基本的SQL语句应该熟悉,能够灵活运用。最好在不查资料的情况下,能够写出如下的任何代码。 1. 用户操作 --create user username identified by password --[default tablespace tablespace_default] --[te
阅读全文
摘要:下面这些基本的SQL语句应该熟悉,能够灵活运用。最好在不查资料的情况下,能够写出如下的任何代码。 1. 数据表操作相关 --创建表 create table STUDENTS( STUNO number(10) not null, STUNAME varchar2(8), SEX char(2),
阅读全文
摘要:Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率。 BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。 可以在select into,fetch into,returnin
阅读全文
摘要:1. PL/SQL概述 PL/SQL(Procedural Language/SQL)是Oracle的专用语言,是对标准SQL语言的扩展,它允许在其内部嵌套普通的SQL语句,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误。SQL语句的数据库操纵能力、数据查询能力和PL/S
阅读全文
摘要:从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符。 CONCAT(s1,s2) 将字符串s2连接到字符串s1的后面。任一字符串为空值则忽略此空值;两值都为空值则
阅读全文
摘要:1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理。 统一性,操作任务主要包括:查询数据;插入、修改和删除数据;建立、修改和删除数据对象;控制对数据和数据对象的读写;保证数据库一致性和完整性。 易于移植性。 1
阅读全文
摘要:SQL*PLus命令 SQLPLUS username[/password][@connect_identifier][AS SYSOPER|SYSDAB] 1. 启动数据库实例 STARTUP [nomount|mount|open|force|resetrict][pfile=filename]
阅读全文
摘要:Oracle 11g体系结构概述 实例(Instance),是指一组Oracle后台进程以及在服务器中分配的共享内存区域; 数据库(Database),是由基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等组成的物理集合; 数据库服务器(Database Server),是指管理数据库
阅读全文
摘要:第一范式(1NF) 第一范式是第二和第三范式的基础,是最基本的范式。第一范式包括下列的指导原则: 数据组的每个属性只可以包含一个值。 关系中的每个数组必须只包含相同数量的值。 关系中的每个数组一定不能相同。 在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系型数
阅读全文