数据库sql
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
江小白写bug
为互联网添油加醋
展开
-
sql:1对多获取最新一条数据
在这个SQL语句中,我们首先使用了窗口函数ROW_NUMBER()对B表进行了排序,然后在外部查询中,我们将A表和这个排好序的B表做了左连接,连接条件是它们的id相同并且B表中的rn等于1,这样我们就得到了A表的全量数据以及每条数据对应的B表的最新一条数据信息。假设A表为table_a,B表为table_b,它们之间通过主键ID关联。我们可以利用窗口函数ROW_NUMBER()来获取B表中每条A记录对应的最新一条B记录。原创 2023-11-08 13:53:58 · 2440 阅读 · 0 评论 -
ORCALE 使用 json_table
ORCALE 使用 json_table原创 2022-05-12 17:00:03 · 1733 阅读 · 0 评论 -
springboot+Hibernate+jpa数据库:IdentityColumnSupportImpl does not support identity key generation
前景:将mysql 数据库切换为 oracle 数据库,然后数据库在进行插数时,原功能逻辑是:表的主键使用mysql的递增方式进行自动插入数据,但是切换oracle后,Oracle不支持主键递增的方式,因此我想到的方式就是 创建一个序列,然后再创建一个触发器,当数据有插入时,由触发器自动 填充 主键,但是这个方式在 单独执行sql的时候是完全成立的,当我移步到程序里面时,发现报错了,具体报错如下:byl- 2020-12-14 22:47:05 [el-async-2] ERROR m.z.c.thr原创 2020-12-14 23:11:47 · 2314 阅读 · 0 评论 -
oracle创建sequence序列语法及使用(触发器)
create sequence SEQ_LOG_IDminvalue 1 --增长最小值maxvalue 9999999999 --增长最大值,也可以设置NOMAXvalue -- 不设置最大值start with 101 --从101开始计数increment by 1 --自增步长为1cache 50 --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---NOCACHE防止跳号cycle; --循环,当达到最大值时,不是从start.原创 2020-12-14 20:50:56 · 1143 阅读 · 0 评论 -
如何修改Oracle的用户名
1,1.打开CMD命令窗,输入sqlplus / as sysdba以下命令后面一定要带 ;封号切记以下命令后面一定要带 ;封号切记以下命令后面一定要带 ;封号切记2、用sysdba账号登入数据库,然后查询到要更改的用户信息: SELECT user#,name FROM user$;3,找到自己要修改的用户名4,更改用户名并提交(两个命令逐条执行,切记): update user$ set name='BYL' where user#=93;...原创 2020-12-14 16:01:28 · 2122 阅读 · 0 评论 -
win10 64位系统下oracle11R2创建用户并权限等的设置
1,打开oracle自带SQL Plus,用系统用户登陆2,新建用户,并设置密码(记得以;分号结尾,c##也不能省略)create user c##用户名 identified by 密码;3,解锁用户alter user c##用户名 account unlock;4,为新创建的用户授予各种操作数据库的权限授予创建的权限: grant create session to c##用户名;5,授予数据库管理员的权限:grant dba to c##.原创 2020-12-14 15:40:41 · 331 阅读 · 0 评论 -
win7上安装Oracle11 R2图解(详细版)
Oracle11 R2下载http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.ziphttp://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_2of2.zip解压:两个文件都解压到“database”文件夹安装双击database目录下的setup.exe...原创 2020-12-11 22:13:02 · 96 阅读 · 0 评论 -
Oracle 对CLOB类型字段进行迷糊查询
Oracle 对CLOB类型字段进行迷糊查询可以使用dbms_lob包对文本内容进行操作,如下:SELECT L.RESULTXML, dbms_lob.instr(L.RESULTXML, '校验身份证号上生日同录入出生日期不一致,请检查更新', 1, 1) FROM HTXW_CORRECTINFO T INNER JOIN HTWX_WXI.原创 2020-11-18 11:09:08 · 762 阅读 · 0 评论 -
Oracle 字段 中文英文拆分
拆分NAME字段 中文与英文SQL:SELECT T.ID, NAME, SUBSTR(NAME, 0, INSTR(NAME, REGEXP_SUBSTR(NAME, '[\u4e00-\u9fa5]', 1), 1, 1) - 1) AS ZNNAME, SUBSTR(NAME, INSTR(NAME, REGEXP_SUBSTR(NAME, '[\u4e00-\u9.原创 2020-11-17 13:14:09 · 583 阅读 · 0 评论 -
SQL分组获取记录的第一条数据——PARTITION BY
oracle分组查询:获取分组后,每一组的第一条数据记录,sql如下SELECT * FROM (SELECT A.*, ROW_NUMBER() OVER(PARTITION BY A.ORDERNO ORDER BY A.SPARE2 ASC) AS NEWINDEX FROM BYL_TEST A ) WHERE NEWINDEX = 1数据表结构:查询结果:扩展:par...原创 2020-08-11 14:56:21 · 12748 阅读 · 3 评论 -
oracle获取年月日,两个日期相减
需求:查询剩余多少天?先看一下我的实际案例:select ceil(t.mbdcsj - sysdate) as RemainingDays from t_zg_mb_mbglb t;测试案例:获取两时间的相差小时数:select ceil((to_date('2019-05-02 00:00:00', 'yyyy-mm-dd hh24-mi-ss') - to_date('2019-04-30 23:59:59', 'yyyy-mm-dd hh24-mi-原创 2020-05-12 15:23:01 · 441 阅读 · 0 评论 -
MySQL 优化!
一、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式key_len列,索引长度rows列,扫描行数。该值是个预估...转载 2019-05-17 09:43:13 · 88 阅读 · 0 评论 -
Caused by: java.sql.SQLException: Access denied for user 'root'@'host' (using password: YES)
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)解决办法:SELECT * FROM mysql.user WHERE USER='root' GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.16...原创 2018-09-04 22:51:20 · 2891 阅读 · 0 评论 -
mysql5.6.zip格式压缩版安装教程(傻瓜式教学)
mysql5.6.zip格式压缩版安装教程(傻瓜式教学)废话不多说,直接干活走起:1.首先先下载mysql,进入这个网站https://dev.mysql.com/downloads/mysql/5.6.html#downloads(此链接只下载 mysql5.6 版本)下载,要想快人一步,继续往下看因为我的电脑的64位,所以下载第二个下载地址,如果有童鞋不知道自己的电脑是32...原创 2018-09-04 21:39:54 · 3672 阅读 · 8 评论 -
MySQL 8.0.12安装教程(windows 64位)(全)
注意!执行输出结果里面有一段: [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: /iq1u:U%_oF* 其中root@localhost:后面的 /iq1u:U%_oF* 就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。复制密码 先保存起来!!!原创 2018-09-03 20:55:08 · 2422 阅读 · 3 评论 -
js jquery 获取元素(父节点,子节点,兄弟节点),元素筛选
一,js 获取元素(父节点,子节点,兄弟节点)var test = document.getElementById("test"); var parent = test.parentNode; // 父节点 var chils = test.childNodes; // 全部子节点 var first = test.firstChild; // 第一个子节点 var last...原创 2018-11-06 15:03:24 · 125 阅读 · 0 评论 -
Oralce 时间计算(在原有的时间上加一天,加一个小时,加一分钟)
在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual ,sysdate+1 加一天sysdate+1/24 加1小时sysdate+1/(24*60) 加1分钟sysdate+...原创 2019-04-17 14:04:27 · 1681 阅读 · 0 评论 -
SQL中UNION和UNION ALL的详细用法 合并多个SELECT语句的结果集
UNION操作符用于合并两个或多个SELECT语句的结果集,这里需要注意的是:UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条SELECT语句中列的顺序必须相同。UNION语法:SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name...原创 2019-04-22 13:50:57 · 2629 阅读 · 0 评论 -
Excel 转 sql
Excel 转 sql=("update telocuptype c set c.d_insuredvalue="&B11&" where c.cplyno="&A11&";")注意一下格式原创 2019-05-07 17:18:23 · 834 阅读 · 0 评论 -
Oracle CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END2. CASE ...原创 2019-09-04 14:56:10 · 408 阅读 · 0 评论 -
oracle中计算两个日期的相差天数、月数、年数、小时数、分钟数、秒数等
oracle如何计算两个日期的相差天数、月数、年数、小时数、分钟数、秒数1、相差天数(两个日期相减)--Oracle中两个日期相差天数--select TO_NUMBER(TO_DATE('2018-6-5','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))AS 相差天数 from dual...原创 2019-09-04 14:59:21 · 2378 阅读 · 0 评论 -
Oracle两张表关联批量更新其中一张表的数据
本文给大家分享两种方法解决Oracle两张表关联批量更新其中一张表的数据,方法非常简单,具有参考借鉴价值,需要的的朋友参考下吧方法一(推荐):UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 ...原创 2019-09-04 15:02:15 · 2661 阅读 · 0 评论