数据库
qichangjian
菜鸟的学习之路(博客仅用于基础整理,方便查看)
展开
-
解决PLSQL提示中文乱码问题:Oracle服务端和plsql客户端字符集统一修改为ZHS16GBK
文章目录1.问题:2.分析原因:3.解决思路:4.操作步骤4.1修改Oracle服务端为ZHS16GBK4.2修改plsql为ZHS16GBK1.问题:新电脑在安装是错误提示窗口报错信息为乱码。2.分析原因:Oracle服务端和plsql字符集不相同3.解决思路:更改客户端的字符集与服务器中的一致即可,这里统一修改为ZHS16GBK// 注意:都同时改为utf8还是报错原因:是数据库不支持中文,查询后发现中文的字符编码应该是SIMPLIFIED CHINESE_CHINA.ZHS16GBK原创 2020-07-22 09:35:51 · 3810 阅读 · 0 评论 -
Oracle之CUBE与ROLLUP分析函数
1.建表并插入数据--建立测试表CREATE TABLE GROUP_TEST( ID NUMBER, NAME VARCHAR2(10), VALUE NUMBER, REMARKS VARCHAR2(255)) SEGMENT CREATION IMMEDIATE; --表注释(加注释是因为我对加注释的语句不熟悉。练习一下)COMMENT ON TABLE GROUP_TEST IS '为了测试CUBE,ROLLUP,GROUPING,GROUPING_ID的原创 2020-05-09 10:50:35 · 387 阅读 · 0 评论 -
Oracle中序列(sequence)初始值从2开始的解决方法
为什么用Oracle11g创建序列后插入数据的初始值老是从2开始?Oracle新表使用序列(sequence)作为插入值,初始值不是第一个,即当我们创建了新的表(table)和序列(sequence),在插入(insert)语句时,序列会跳过第一个值(1)。所以结果是插入的序列值从 2(序列的第二个值) 开始, 而不是 1开始。测试代码:--建立测试表CREATE TABLE GROUP_TEST( ID NUMBER, NAME VARCHAR2(10), VALUE原创 2020-05-09 10:16:28 · 2278 阅读 · 0 评论 -
Oracle忘记密码,密码修改
对于粗心的人来说,各种密码没有记录,有时候会忘记,所以需要修改密码解决。1. 打开cmd,输入 sqlplus /nolog2.进入控制台,输入 conn /as sysdba;以DBA角色进入3.连接成功后,输入select username from dba_users; 查看用户列表 注意要加分号后回车4.然后修改某一个用户密码 alter user 用户名 identif...原创 2020-01-19 09:38:03 · 905 阅读 · 0 评论 -
Oracle行转列和列转行的方法汇总
行转列方法一:Oracle中的Pivot函数说明:pivot(聚合函数 for 列名 in(类型)),其中 in(‘’) 中可以指定别名,in中还可以指定子查询,比如 select distinct ranking from tempSELECT * FROM [StudentScores] /*数据源*/AS PPIVOT ( SUM(Score/*行转列后 列的值*/) F...原创 2020-01-10 10:55:15 · 12534 阅读 · 0 评论 -
oracle sign函数解决大于小于的decode写法
1.sign函数select sign(1-2) from dual; -- -1select sign(1-1) from dual; -- 0select sign(2-1) from dual; -- 1sign函数返回-1 , 0 , 1分别标识小于 , 等于 , 大于。2.decode函数与case when 语句效果类似select d...原创 2020-01-09 11:00:52 · 3329 阅读 · 0 评论 -
Oracle存储过程,函数 执行记录日志方式
1.步骤一:创建一个序列,用于标识[存储过程,函数,触发器]执行先后顺序--步骤一:创建一个序列,用于标识[存储过程,函数,触发器]执行先后顺序CREATE SEQUENCE SEQ_PROGRAM_EXECUTE_LOGMINVALUE 1MAXVALUE 1000000000000START WITH 1INCREMENT BY 1CACHE 100CYCLEORDER;...原创 2019-12-30 17:59:04 · 2259 阅读 · 0 评论 -
Oracle中日期处理用到的函数整理
1.trunc函数1.1处理日期/**************日期********************/1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-062.select trunc(sysdate, 'mm') from dual --2013-01-01 返回当月第一天.3.select trunc(sy...原创 2019-12-30 17:33:18 · 428 阅读 · 0 评论 -
Oracle 查看索引状态信息以及索引重建
1,查询索引状态1.1 查询user_indexes表select status,T.* from user_indexes T where table_name='表名'状态列STATUS说明: valid:当前索引有效 N/A :分区索引 有效 unusable:索引失效1.2 查询分区索引-user_ind_partitions表select in...原创 2019-12-30 16:46:26 · 6289 阅读 · 1 评论 -
ORACLE删除表分区和数据
查询分区select * from user_tab_partitions where table_name=upper(‘表名’) and partition_name=‘分区名称’删除分区,数据也自动删除alter table 表名 DROP PARTITION 表中分区的名称; 删除表中分区和数据后,会造成索引失效,建议删除分区之后删除表中所有索引 在次重新建立索引只删除数据...原创 2019-10-24 17:21:17 · 5167 阅读 · 0 评论 -
函数-COALESCE()函数处理空值
1.Coalesce()函数介绍这个函数主要用来进行空值处理,其参数格式如下: COALESCE ( expression,value1,value2……,valuen) COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。 如果expression不为空...原创 2019-04-01 15:28:35 · 3304 阅读 · 0 评论 -
Oracle中decode函数用法解析以及常用场景
1.decode函数的两种形式第一种形式含义解释:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RET...原创 2019-04-02 16:41:04 · 145899 阅读 · 3 评论 -
DB2工作中常用sql函数场景与示例整理
需求11.项目中经常会遇到order by,但是字段却是varchar类型的,排序就会出现问题,把字段转为int类型的进行排序order by CAST(rank as int)补充:CAST是db2或oracle中强制类型转换函数语法: CAST ( expression AS data_type )需求22.项目要求全省和天府新区的要排在最后面展示order by case wh...原创 2019-04-03 15:27:28 · 427 阅读 · 0 评论 -
DB2中服务器,实例,数据库,表空间|缓冲池|日志文件,表的关系
DB2中服务器,实例,数据库,表空间|缓冲池|日志文件,表的关系图如下:1.DB2服务器所有的 DB2 服务器版本都包含相同的核心组件;用户可根据各自所需来选择不同价格的组件配置。图 1.1 图示了 DB2 产品的不同版本所有 DB2 服务器拥有相同的核心组件,如果您愿意,您可以将 DB2 Express-C 升级到任何 DB2 服务器版本。这也意味着基于某一 DB2版本的应用程序可以无...原创 2019-04-03 16:03:53 · 668 阅读 · 0 评论 -
DB2常用sql总结
--创建数据库create database Etp;--连接数据库connect to Etp;--断开连接disconnect Etp;--查看当前数据库下有哪些表list tables;--建表create table studentInfo(stuno char(5) not null,stuname varchar(8),stubirth date...原创 2019-04-03 16:51:42 · 494 阅读 · 0 评论 -
oracle查询表空间的位置
查询语句:SELECT * FROM Dba_Data_Files ddf WHERE ddf.tablespace_name = 'QICHANGJIAN_DATA';注意:1.tablespace_name为要查询的表空间的名称2.表空间名称要全部大写原创 2019-05-22 17:13:25 · 1669 阅读 · 0 评论 -
PLSQL Developer导出文件
步骤一:执行SELECT语句select * from 表名;步骤二:查询结果后,单击如图所示按钮,并选择文件类型步骤三:在接下来弹出的对话框中选择存储路径和文件名,最后单击保存即可...原创 2019-05-22 17:18:13 · 2083 阅读 · 0 评论 -
sqlplus一闪而过怎样解决
可能因为忘记配置ORACLE_HOME变量,我的变量值是C:\app\Administrator\product\11.2.0\dbhome_1原创 2019-05-22 17:30:49 · 11606 阅读 · 4 评论 -
在Oracle里,表的别名不能用as,列的别名可以用as
在Oracle里,表的别名不能用as,列的别名可以用as列的别名也可以不用as,如:select t.a xxx from table t在Oracle数据库中,数据表别名是不能加as的,例如: select a.appname from appinfo a;-- 正确 select a.appname from appinfo as a;-- 错误注释:这可能是为了防止和Ora...原创 2019-06-10 16:07:40 · 3813 阅读 · 0 评论 -
Oracle 记录[存储过程,函数,触发器]日志
项目中存储过程运行时记录出错日志方法。步骤一:创建一个序列,用于标识[存储过程,函数,触发器]执行先后顺序CREATE SEQUENCE SEQ_PROGRAM_EXECUTE_LOGMINVALUE 1MAXVALUE 1000000000000START WITH 1INCREMENT BY 1CACHE 100CYCLEORDER;-- 删除序列--DROP SEQU...原创 2019-07-04 09:28:54 · 2185 阅读 · 0 评论 -
Oracle存储过程循环判断并插入数据,今天是周几
在表中插入一年年初到年末的日期(YYYY-MM-DD)并判断是什么标志(标志:工作日[周一到周四]. 周五 .周末).1.创建表create table test_day( v_day varchar2(20) not null, -- 日期 格式:YYYY-MM-DD v_day2 varchar2(20) not null -- 标志:工作日(周一到周四) ...原创 2019-07-04 09:36:45 · 2245 阅读 · 0 评论 -
mysql整理5-运算符分类
mysql中的运算符分为四类:算术运算符(+,-,*,/,div整除)比较(= != >= <= true 1 false 0)逻辑(and or !)位运算符 & | ^算术运算符select 1+1;select 1-1;select 1*2;select 3/2; # 1.5select 3 div 2; #整除select 3/0; ...原创 2019-02-20 11:24:27 · 231 阅读 · 0 评论 -
DB2学习1_推荐书籍以及下载地址
DB2学习资料书籍推荐整理《DB2 Express-C 快速入门》《DB2 Express-C 快速入门》 并不是一本十分容易的书(如果有sql基础,大概两天左右可以看完)侧重于理论和底层。阅读本书可以:ƒ 了解关于DB2 Express-C的所有信息ƒ 理解DB2 体系结构、工具、安全性ƒ 学习如何管理DB2数据库ƒ 编写SQL、XQuery、存储过程ƒ 使用DB2开发数据库应...原创 2019-04-01 14:29:31 · 794 阅读 · 0 评论 -
Oracle和DB2在编写sql时的区别总结
1.创建类似表语法Oracle : create table a as select * from b;DB2 : create table a like b; (8版本有效,9版本无效) create table new_a as select col1,col2... from a definition only2.快速清空大表语法Oracle : tr...原创 2019-04-01 14:24:07 · 1231 阅读 · 0 评论 -
mysql整理13-sql优化
1)尽量减少*的使用(*转换为列名,然后再查询)2) 索引失效的状况: 1. 索引列不要使用is not null/is null 2. 索引列不要使用函数 3. 索引列不要计算 4. 索引列不要使用not(!=/&amp;amp;lt;&amp;amp;gt;) 5. 索引列不要使用or(union替换) 6. 索引列不要使用包含(like ‘%s%’),也就是like不要用%开头 7.如果列类型是字符串,那一...原创 2019-02-20 12:30:48 · 443 阅读 · 0 评论 -
mysql整理9-数据库设计的三大范式
1NF:所有域都是原子性的。域中的数据不可分割。(eg:地址->省市县)2NF:非主键字段必须与主键相关(每张表只描述一列事物),而不能与主键部分相关(联合主键)只要数据列中出现数据重复,就要把表拆分开来例如:一个人同时订几个房间,就会出来一个订单号多条数据,这样子联系人都是重复的,就会造成数据冗余。我们应该把他拆开来:表:(1,qi,男,room1)(1,qi,男,roo...原创 2019-02-20 12:10:42 · 136 阅读 · 0 评论 -
mysql整理8-事务transaction
目录:1.存储引擎(了解)2.什么是事务?3.事务的acid特性4.事务语法(数据库中)5.事务的并发问题6.Mysql的事务隔离级别1.存储引擎(了解)数据库底层软件组织,dbms通过存储引擎实现对数据库的操作,mysql核心就是存储引擎。mysql中可以设置多种存储引擎,不同的存储引擎在索引,存储,以及索策略上是不同的。mysql 5.5之前,采用myisam存储引擎,支持...原创 2019-02-20 12:01:59 · 473 阅读 · 0 评论 -
mysql整理7-高级查询分类整理
高级查询分类:关联查询(连接查询)&nbsp;&nbsp;&nbsp;&nbsp;交叉连接(笛卡尔积 cross join)&nbsp;&nbsp;&nbsp;&nbsp;内连接&nbsp;&nbsp;&nbsp;&nbsp;外连接&nbsp;&nbsp;&nb原创 2019-02-20 12:22:23 · 178 阅读 · 0 评论 -
mysql整理6-函数分类整理
MySQL中函数大体分类:单行函数 数学函数 select PI()* 2 *2; #pi CEIL(-12.3); #向上取整 FLOOR(12.3); #向下取整 ROUND(8.45,-1); #四舍五入 MOD(5,2); #取模 RAND(); #随机数 [0,1) POW(2,3); #幂运算 字符函数 LENGTH('this is a d...原创 2019-02-20 11:32:15 · 173 阅读 · 0 评论 -
mysql整理4-数据库数据完整性约束讲解
数据完整性约束指的是:数据的准确性和可靠性。完整性约束实体完整性:能唯一标示一个实体 主键约束primary key 唯一约束unique 主键自增auto_increment域(字段)完整性: 非空约束:not null 默认约束:default引用完整性:一张表中通用列的取值必须参考另外一张表主键字段。 外键约束:foreign key 自定义完整性:...原创 2019-02-20 11:19:49 · 267 阅读 · 0 评论 -
mysql整理3-SQL的分类(DDL,DML,DCL,DDL)以及详解
目录1)什么是sql2)sql分类3)DDL:数据定义语言4)DML: 数据操纵语言5)DCL: 数据库控制语言(了解)6)TCL:事务控制语言1)什么是sqlstructure query language:结构化查询语言。关系型数据库中进行操作标准语言。编程语言。对大小写不敏感;结尾需要使用;。2)sql分类DDL: 数据定义语言(数据库对象的操作(结构))create...原创 2019-02-20 11:09:25 · 735 阅读 · 0 评论 -
mysql整理2-MySQL数据类型以及char与varchar的区别
MySQL数据类型数值类型:整型int: 4个字节 21亿浮点数:float(m,n):m总长度 n小数点位数 (默认值10,2)精度24位double(m,n): 默认值16,4精度53位decimal(m,n):经常用于金融数据保存,必须声明长度和精度字符串类型:char(n):定长长度字符串varchar(n):可变长度字符串 text: 大文本日期类...原创 2019-02-20 10:22:24 · 721 阅读 · 0 评论 -
mysql整理1-DB,DBMS等概念以及DBMS有哪些?
DB,DBMS,SQL概念:数据库(Database)按照一定数据结构存储数据的仓库。数据库管理系统(DBMS)操纵和管理数据库的一套软件。SQL(structure query language)结构化查询语言。关系型数据库中进行操作标准语言。编程语言。注意:sql对大小写不敏感;结尾需要使用;。数据库管理系统(DBMS)分类以及常用数据库介绍DBMS主要分为关系型数据...原创 2019-02-20 10:15:51 · 2713 阅读 · 0 评论 -
mysql整理14-sql备份和还原
备份和还原语句:mysqldump -uroot -proot dbname &amp;gt; d:/t.sql;mysql -u root -p &amp;lt; C:\backup.sql原创 2019-02-20 13:04:28 · 110 阅读 · 0 评论 -
mysql整理15-mysql和oracel数据库区别?
mysql和oracel数据库的一些差别?1. 大的方面(宏观)Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。Oracle支持大并发,大访问量,是OLTP最好的工具。安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占...原创 2019-02-20 13:04:10 · 360 阅读 · 0 评论 -
mysql整理16-常见问题总结
问题一:某电商服务端使用mysql作为数据存储,发现在业务高峰期时,后台报表页面无法从mysql中查询出数据。请写出排查问题的流程和解决方案可能原因:出现这种问题很可能是某些业务字段有空值导致索引失效从而进行了全表扫描造成的,所以可以考虑以下的方案:1) 定位到影响查询效率的字段2) 将Null值用常量替换,比如数值型的用0替换,字符串型的用某个固定的字符替换3) 优化sql语句,除了...原创 2019-02-20 13:03:54 · 163 阅读 · 0 评论 -
Oracle分层查询(递归查询):start with...connect by prior 以及 level关键字
前期准备分层查询(递归查询)语句: start with…connect by priorstart with 指定层次的根部行,就是从哪里开始解析,对于真正的层次查询,(通俗解释:子句定义树查询的初始起点)这个子句是必需要有的。connect by prior 解释父子之间的关系(通俗解析:子句定义表中的数据是如何相互联系的)prior 用于实现递...原创 2019-04-01 13:54:49 · 2957 阅读 · 1 评论 -
oracle中to_char()和to_data()用法
平常工作中与date操作关系最大的就是两个转换函数:to_date(),to_char()多种日期格式: YYYY:四位表示的年份 YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪 MM:01~12的月份编号 MONTH:九个字符表示的月份,右边用空格填补 MON:三位字符的月份缩写 WW:一年中的星期 D:星期中的第几天 DD:月份中的...原创 2019-03-11 12:56:29 · 93510 阅读 · 3 评论 -
生产库,查询库和测试库的区别
对于什么是生产库,查询库,数据库不是很了解,经过一番了解,终于清楚了三者之间的关系和区别。原创 2017-09-04 16:47:35 · 8107 阅读 · 0 评论 -
读写分离的理解
读写分离解释读写分离:基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。数据库读写分离和数据一致性的冲突读写分离一致性读写分离: 为保证数据库数据的一致性,我们要求所有对于数据库的更新操作都是针对主数据库的,但是读操作是可以针对从数据库来进行。大多...原创 2019-02-26 19:32:28 · 2703 阅读 · 0 评论