SQL
云游遍天下
心有山海,静而无边。
展开
-
MySQL8 分页数据重复或丢失问题说明(order by limit)
这个问题,在生产环境出现了,结果测试也没测试到,我也是无语,还是客户发现的;可能是因为现场数据较少,只有两页,客户一眼就能看到少数据了,也就是录入成功后的数据查不出来,还是在第二页,,如果pageSIze选择大一些,用一页展示是可以正常展示所有的数据的;原创 2022-12-01 17:31:37 · 1742 阅读 · 0 评论 -
mysql8 Navicat连接mysql8.0以上版本,报1045-Access denied for user ‘ ‘@‘ ‘ (using password: YES)
【代码】mysql8 Navicat连接mysql8.0以上版本,报1045-Access denied for user ‘ ‘@‘ ‘ (using password: YES)原创 2022-10-24 18:35:15 · 721 阅读 · 0 评论 -
oracle执行计划详解
简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!+++目录--- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词) DRiving Table(驱动表) Probed Table(转载 2016-03-16 22:21:23 · 8734 阅读 · 2 评论 -
oracle的日期和时间的处理
sql: with v as (select (e.hiredate+10/24/60/60 +20/24/60 +8/24 ) as hiredate from emp e) select e.hiredate as 日期 , to_char(e.hiredate ,'yyyy') 年, to_char(e.hiredate ,'原创 2016-03-18 22:00:04 · 993 阅读 · 0 评论 -
位图索引的应用
上周在生产环境查看数据的时候,查询了一下数据,慢的离谱,里面的数据大概200w条数据,,,太慢了,,由于查询的条件是一个状态字段,,这个字段有5种状态,,,,具体的状态名称就不说了。。查询了一下解决方法,,看到一个位图索引,,,加上后,速度果然提高了很多,,位图索引知识点:一:在基数小的字段上要善于使用位图索引。create bitmap index inde原创 2016-04-04 22:12:22 · 1273 阅读 · 0 评论 -
oracle数据库什么情况下创建索引比较好
百度了,,看到一个用户的回答,瞬间清晰了很多,,,,,我记录一下,方便以后斟酌,,,索引就好象一本字典的目录。凭借字典的目录,我们可以非常迅速的找到我们所需要的条目。数据库也是如此。凭借Oracle数据库的索引,相关语句可以迅速的定位记录的位置,而不必去定位整个表。 虽然说,在表中是否创建索引,不会影响到Oracle数据库的使用,也不会影响数据库语句的使用。这就好像即使原创 2016-04-04 22:25:01 · 7130 阅读 · 1 评论 -
读了oracle查询与优化做一些笔记,方便以后查看
1、coalesce 用法 ,该方法支持多个参数,能很方便的返回第一个不为空的值 例如: Select coalesce(objectid , xm , age,classname,grade) As a From test; 如果用nvl来实现: select nvl((nvl((nvl((nvl(objectid,xm),age),class原创 2016-03-15 23:18:28 · 362 阅读 · 0 评论 -
oracle的双重for循环
1、需要用到游标:create or replace procedure test_procedure is --a表游标定义 cursor a_cursor is select substr(mc,0,2) as str ,mc as mcs from t_bz_zd_xzqh_jc; --b表游标定义 cursor b_cursor(str1 string)原创 2016-07-25 21:08:21 · 11644 阅读 · 0 评论 -
oracle相关时间计算,得到季度第一天、最后一天等时间计算
oracle相关时间计算,得到季度第一天、最后一天------------------------------------------------ Oracle 日期-------------------------------------------- 本季度第一天SELECT to_char(TRUNC(SYSDATE, 'Q'), 'YYYY-MM-DD') FROM dual;转载 2018-01-11 16:50:53 · 11764 阅读 · 0 评论 -
存储过程执行删除重复数据、动态执行sql、拼接sql
今天客户提了一个需求,需要处理下用户我的产品重复数据,是根据产品名称和产品编码、规格型号等字段判断是否有重复数据,如果有重复数据,删除多余的重复数据只保留一个即可;对应的写了一个存储过程:这里用到了游标和sql拼接及动态执行sql等部分create or replace procedure test is -- 条件sql vc_sql varchar2(4000);原创 2018-01-24 15:07:15 · 710 阅读 · 0 评论 -
用注解编写创建表的SQL语句
今晚读了think in java 的章节,感觉很不错,我就敲了下来,贴上代码给以后一个回顾:建议提前读一下think in java 注解 。说明创建注解我在第一个注解说明下,以后的注解不在说明。‘DBTable 注解:/*** Project Name:myannotation* File Name:DBTable.java* Package Name:com.zsy.db* Date...原创 2018-03-27 20:03:01 · 2725 阅读 · 2 评论 -
批量把文件(图片)导入到数据库
客户给了几百张用户的照片,照片的名称格式是:护照号+格式。本来打算直接放到服务器上的,但是考虑到以后的数据会越来越大,就打算存在数据库了。就写了 一个java后台来批量导入。想法很简单: 图片也是文件的一种,我这里用图片说。 我们知道客户给我的图片是放在一个文件夹里的,我们第一步获取文件里的所有的文件名,然后写一个循环就可以直接读取了,但是在写的过程中有几点...原创 2016-04-24 15:46:43 · 7949 阅读 · 4 评论 -
hive学习2:Hive drop table卡住的问题,mysql字符集修改了latin,但是还是不行解决方案
刚开始接触hive,在删除表时卡住了,根据网上播客修改mysql字符集为latin,测试后还是不行,给下修改mysql字符串地址:修改mysql字符串地址 我这边修改后是还是无法删除,搞了大半个小时还是不行,最后,只能报着试试的心态升级mysql驱动jar试试,成功了,我之前的旧的jar版本是mysql-connector-java-5.1.6.jar 替换为mysql-con...原创 2018-10-13 23:28:15 · 1121 阅读 · 1 评论 -
hive学习3:hive常用HQL语句
show databases;show tables;desc test;#删除表drop table t_buck;#请表数据truncate table t_buck;-------------分桶表示例:#创建分桶表drop table stu_buck;create table stu_buck(Sno int,Sname string,Sex string,Sa...原创 2018-10-20 15:48:01 · 875 阅读 · 0 评论 -
hive学习6:hive级联求和
说明: 级联求和,不仅hive会使用,其实mysql或者Oracle也会用到的,我这边先用mysql实现下,具体需求如下:username month times A 2018-02 5 A 2018-03 10 A 2018-04 10 B 2018-02 5 B 2018-03 1...原创 2018-10-23 22:55:53 · 4244 阅读 · 0 评论 -
在存在的用户下创建表空间
用超级管理登陆后:执行create tablespace TJBHGA datafile 'D:\oracle\product\10.2.0\client_1\TJBHGA.ora' size 100m原创 2015-11-27 09:57:21 · 460 阅读 · 0 评论 -
oracle的授创建表和视图还有session、查询、触发器 、 seq 等的权限,
首选用超级管理员登陆oracle:sqlplus sys/密码 as sysdba登陆后执行就可以了。grant create session to scott;--赋予create session的权限2.grant create table,create view,create trigger, create sequence,create procedure to scott;-原创 2015-11-24 20:37:43 · 1386 阅读 · 0 评论 -
RBO和CBO的基本概念
原文链接:http://www.cnblogs.com/kerrycode/p/3842215.htmlOracle数据库中的优化器又叫查询优化器(Query Optimizer)。它是SQL分析和执行的优化工具,它负责生成、制定SQL的执行计划。Oracle的优化器有两种,基于规则的优化器(RBO)与基于代价的优化器(CBO) RBO: Rule-Based O转载 2015-11-12 15:05:52 · 3040 阅读 · 0 评论 -
sql笔记
select t.*, (select wm_concat(d.xcdw) from gwrq_rygk_xctb_xcdw d where d.xcbh = t.xcbh) as jsdw, (select wm_concat(d.xcdwmc) from gwrq_rygk_xctb_xcdw d原创 2015-07-22 21:59:16 · 434 阅读 · 0 评论 -
初次了解存储过程和存储函数和触发器的例子
--传参的存储过程create or replace procedure addSalTo2(eno in number, num in number) asbegin update emp set sal = sal + num where empno = eno; dbms_output.put_line(eno || '涨了' || num || '工资');end原创 2015-07-18 22:49:14 · 428 阅读 · 0 评论 -
对plsql一些简单的设置,提高使用的效率
1、执行单条SQL语句在使用 PL/SQL Developer的SQL Window时,按F8键,PL/SQL Developer默认是执行该窗口的所有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句;设置方法:PL/SQL Developer 7.1.2 -->tools->Preferences-->Window types-->SQL Window ,勾上“Aut原创 2015-11-23 22:05:08 · 775 阅读 · 0 评论 -
oracle获取当天数据
select to_char(count(*)) as jrchzs from SJ_CLUE_INFO t where t.bssj>=to_date(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd') and t.bssj<=to_date(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd')+0.99999 and t.原创 2015-11-24 14:00:52 · 1245 阅读 · 0 评论 -
oracle中出现"数据被另一用户锁住"的解决方法
在oracle中执行:select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time; alter system kill session 'SID,serial#'原创 2015-07-31 15:27:22 · 767 阅读 · 0 评论 -
linux系统时间同步,硬件时钟和系统时间同步,时区的设置
1、时间同步(手动):date -s "2015-07-15 22:13:30"hwclock --systohc (表示系统时间同步到硬件时钟)hwclock --hctosys (表示硬件时钟同步到系统时间) 2、根据互联网时间同步:首先查看linux是否有ntp这个软件:rpm -qa | grep ntp原创 2015-07-15 22:56:49 · 5877 阅读 · 2 评论 -
在 sql查询中如何将两个字段显示在一个字段
sqlserver:select 发文单位+文号 as 发文单位文号 from table;oracle:select 发文单位||文号 as 发文单位文号 from table;select concat(发文单位,文号) as 发文单位文号 from table;mysql:select concat(发文单位,文号) as 发文单位文号 from table;转载 2015-10-30 16:23:00 · 7435 阅读 · 0 评论 -
防sql注入解决方法
SQL查询中的特殊字符处理 我们都知道SQL查询过程中,单引号“'”是特殊字符,所以在查询的时候要转换成双单引号“''”。但这只是特殊字符的一个,在实际项目中,发现对于like操作还有以下特殊字符:下划线“_”,百分号“%”,方括号“[]”以及尖号“^”。其用途如下:下划线:用于代替一个任意字符(相当于正则表达式中的 ? )百分号:用于代替任意数目的任意字符(相当于正则表达式中的 *转载 2015-10-29 22:54:13 · 629 阅读 · 0 评论 -
一个简单的定时器删除任务
--创建存储过程create or replace procedure delete_Clue_zp asbegindelete from sj_clue_zp t where t.xsbh is null and t.sj is null ;delete from sj_cluessgg_zp g where g.sfzh is null and g.xm is nu原创 2015-10-12 10:13:31 · 1049 阅读 · 0 评论 -
oracle添加新用户
--删除hfga_web 用户drop user hfga_web cascade; --创建hfga_web 用户create user hfga_web identified by hfga --identified by hfga 是密码default tablespace userstemporary tablespace temp;--给tantan原创 2015-09-06 14:03:08 · 419 阅读 · 0 评论 -
向数据库插入10万数据的存储函数
create or replace procedure hcxx_add is begin for i in 1 ..100000 loop insert into t_jzz_ry_hcxx(zjh,xm,zjqfrq,zjlb,zjlb_mc,hcsj,hcdwmc,hcyy_mc,jlrksj,hcr,hcrysfzh) values('98211135514','张三',原创 2015-08-09 17:17:43 · 539 阅读 · 0 评论 -
重启linux下的oracle数据库
在linux下重启oracle数据库及监听器: 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启服务器 lsnrctl start #重启监听器 或者:cd $ORACLE_HOME/bin #进入到oracle的安装目录 ./转载 2015-08-04 11:07:45 · 9650 阅读 · 0 评论 -
Oracle job procedure 存储过程定时任务
Oracle job procedure 存储过程定时任务oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的job,可以查询视图--相关视图select * from dba_jobs;select * from all_jobs;select * from user_jobs;-- 查转载 2015-07-19 19:20:46 · 499 阅读 · 0 评论 -
今天同步数据的时候,数据库报错了
是因为主键id数据有重复‘查询id重复的sql: select id from tableName where id in (select id from tableName group by id having count(id) >= 2)原创 2015-07-14 17:37:36 · 536 阅读 · 0 评论 -
Oracle 中 sign和decode 函数用法
1、sign函数语法: sign(n);sign函数说明: 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0(n可以是表达式,(n-200))例子: 比较大小: a=10; b=50; sign(a-b) ==-1 sign(b-a) == 1 sign(a-10)==0 ...原创 2015-11-09 17:27:47 · 20507 阅读 · 6 评论