
数据库
文章平均质量分 71
mysql、sqlserver、oracle知识
格子衫111
梦想不能只是梦和想...
展开
-
如何导出数据库数据字典
如何导出数据库数据字典原创 2023-09-13 13:42:00 · 1063 阅读 · 0 评论 -
SQL中CONVERT()函数用法详解
SQL中CONVERT()函数用法详解原创 2023-09-06 10:43:21 · 7102 阅读 · 0 评论 -
nvarchar和varchar的区别
2、varchar和nvarchar的最大长度不一样,nvarchar的长度设置必须为1和4000之间。② 从存储量来看,varchar是比较省空间的,因为存储的大小就是字节的实际长度,而nvarchar是双字节存储。现在的设备,存储空间的大小已经不受限制。无论是语言的范围,和存储空间的范围,nvarchar都占有很大的优势。3、varchar能存储的字节数就是他的长度。nvarchar能存储的字节数是它长度的2倍。① 从存储方式上,nvarchar是按字符存储的,varchar是按字节存储的。转载 2023-03-15 17:27:26 · 746 阅读 · 0 评论 -
sqlserver百万级数据查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null转载 2023-02-16 15:32:25 · 1007 阅读 · 0 评论 -
sqlserver 查询数据库里数据量最大的表
sqlserver 查询数据库里数据量最大的表原创 2023-02-16 11:34:17 · 1701 阅读 · 0 评论 -
Sql Server 中FOR XML PATH(‘‘)函数用法
select name from zz FOR XML PATH('root');FOR XML PATH('root')中root是xml根节点,所以在结果集中每条数据根节点为root,上面的sql将多行数据合并为一行,并且使用属性名name作为节点名隔开原创 2022-12-29 11:27:23 · 4878 阅读 · 0 评论 -
stuff函数的用法
下例通过在第一个字符串 (abcdef) 中删除从第二个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,创建并返回一个字符串。SELECT STUFF('abcdef', 2, 3, 'hello')GO原创 2022-12-29 11:04:37 · 1459 阅读 · 0 评论 -
SQLserver 根据条件将多行合并为一行
SQLserver 根据条件将多行合并为一行原创 2022-12-28 18:51:33 · 1343 阅读 · 0 评论 -
SQL Server中row_number函数用法介绍
> - PARTITION BY子句将结果集划分为分区。 ROW_NUMBER()函数分别应用于每个分区,并重新初始化每个分区的行号。> - PARTITION BY子句是可选的。如果未指定,ROW_NUMBER()函数会将整个结果集视为单个分区。> - ORDER BY子句定义结果集的每个分区中的行的逻辑顺序。 **ORDER BY子句是必需的**,因为ROW_NUMBER()函数对顺序敏感原创 2022-11-22 18:17:27 · 24644 阅读 · 1 评论 -
sqlServer如何实现分页查询
sqlServer的分页查询和mysql语句不一样,有三种实现方式。分别是:offset /fetch next、利用max(主键)、利用row_number关键字原创 2022-11-22 17:06:43 · 22498 阅读 · 0 评论 -
mysql如何避免主键或者唯一索引重复导致的插入失败问题
我们知道,mysql 如果设置了主键或者唯一约束,再插入相同的值会报错,报错信息如下:存在唯一键冲突时,避免策略原创 2021-05-31 14:54:07 · 8861 阅读 · 3 评论 -
数据库事务的四大特性和隔离级别,一文带你看通透
1. 什么是事务事务事务是一个整体,由一条或者多条SQL语句组成,这些SQL语句要么都执行成功,要么都执行失败,只要有一条SQL出现异常,整个操作就会回滚,整个业务执行失败比如: 银行的转账业务,张三给李四转账500元 , 至少要操作两次数据库, 张三 -500, 李四 + 500,这中间任何一步出现问题,整个操作就必须全部回滚, 这样才能保证用户和银行都没有损失回滚即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,滚回到事务原创 2021-05-16 12:48:21 · 563 阅读 · 0 评论 -
Mysql中DDL操作表,修改字段类型、长度以及添加删除列等
开发项目,设计表时,往往不可能一劳永逸,因为需求在不断变更。在后期的迭代中,我们需要不断对表结构进行调整,尤其是对字段的修改。下面,介绍一下操作表相关的DDL语句:MySQL常见的数据类型1)常用的数据类型:2) 详细的数据类型(了解即可)注意:MySQL中的 char类型与 varchar类型,都对应了 Java中的字符串类型,区别在于:char类型是固定长度的: 根据定义的字符串长度分配足够的空间。varchar类型是可变长度的: 只使用字符串长度所需的空间比如:保存字符串 “原创 2021-05-12 18:47:16 · 8587 阅读 · 2 评论 -
巧用这19条MySQL优化,效率至少提高3倍
声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型” 的一、EXPLAIN做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式 key_len列,索引长度 rows列,扫描行数。该值是个预估值 extra列,详细说明。...转载 2021-05-11 09:34:08 · 178 阅读 · 0 评论 -
java报错:com.alibaba.druid.pool.DruidDataSource.info {dataSource-1} inited
JDBC使用Druid连接池连接数据库的时候,遇到报错:com.alibaba.druid.pool.DruidDataSource.info {dataSource-1} inited,具体报错信息如下:从网页上报错信息,可以看到是获取驱动名称错误。排查:这里使用了连接池工具类 DruidUtils.java 来加载数据库配置文件druid.propertiespublic class DruidUtils { //1.定义成员变量 public static原创 2020-11-27 17:29:45 · 57842 阅读 · 19 评论 -
通过一个sql语句,如何做到把1个表的数据插入到另外1个表
前言 有时候,我们往往有这种需求:需要把1个表某个字段的数据根据条件查询出来,再插入到另外一个表。这就是表与表之前数据的转移。 这种场景,一般是同步历史数据需要。 假定这两个表分别是A表和B表,并且表结构不一样,只是有部分字段含义一致。 如果数据少还好说,直接在需要插入数据的表中,手工录入即可。但要是成千上万呢,那手工方式肯定是不行的。一、数据准备1.表结构1) 创建帮助表 t_helpCREATE TABLE `t_help`...原创 2021-02-24 12:56:25 · 21571 阅读 · 0 评论 -
sql中如何取重复的数据中时间最近的一条
目录前言一、数据准备1. 表结构2. 表数据二、实现方式1.SQL模板2.SQL样例3.执行结果前言数据库有重复的数据时,我们有时候需要取出时间最近的一条,来满足业务场景。下面介绍一下通过sql是怎么实现的。提示:以下是本篇文章正文内容,下面案例可供参考一、数据准备1. 表结构CREATE TABLE `t_iov_help_feedback` ( `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `USER_ID` int原创 2021-02-23 18:54:26 · 28341 阅读 · 9 评论 -
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到group by语句。但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。报错信息如下:> Expression #1 of SELECT list is not in GROUP BY clause and contains> nonaggregated column '数据库名.表名.字段名' which is not functiona原创 2021-02-23 17:24:44 · 218984 阅读 · 47 评论 -
3个步骤修改mysql8.0本地密码
好久没有使用本地mysql数据库,可能哪天突然需要用到的时候,密码却忘记了,重新卸载安装又麻烦,那么怎么办呢?可以通过修改密码解决。操作系统:win10;mysql数据库版本:mysql-8.0.16mysql安装目录:D:\Program Files下面讲解下步骤:1.打开第1个dos窗口依次输入以下指令cd D:\Program Files\mysql-8.0.16-winx64\binnet stop Mysql8mysqld --console --skip-grant-tab原创 2020-11-27 12:04:03 · 2541 阅读 · 0 评论 -
SQL判断是否“存在“,还在用 count 操作?
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要select count(*)呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的count.目前多数人的写法多次 review 代码时,发现如现现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下SQL写法:SELECT count(*) FROM table WHERE a = 1 AND b = 2 Ja转载 2020-09-25 23:00:28 · 1226 阅读 · 0 评论 -
COUNT()函数详解
COUNT 顾名思义,就是计数的意思,此函数用处就是对表中记录数进行计数。MySQL COUNT()函数介绍COUNT()函数返回表中的行数。COUNT()函数允许您对表中符合特定条件的所有行进行计数。COUNT()函数的语法如下 -COUNT(expression)SQLCOUNT()函数的返回类型为BIGINT。 如果没有找到匹配的行,则COUNT()函数返原创 2017-11-24 13:12:33 · 138144 阅读 · 6 评论 -
sql判断表、字段是否存在
1、判断一个表是否存在语法:SELECT table_name FROM information_schema.TABLES WHERE table_name ='表名';sql例子:SELECT table_name FROM information_schema.TABLES WHERE table_name ='t_iov_vehicle_owner_info'存在:原创 2017-11-27 16:07:26 · 77536 阅读 · 0 评论 -
group by分组后获得每组中时间最大的那条记录
用途:GROUP BY 语句用于 根据一个或多个列对结果集进行分组。例子:原表:现在,我们希望根据USER_ID 字段进行分组,那么,可使用 GROUP BY 语句。我们使用下列 SQL 语句:SELECT ID,USER_ID,problems,last_updated_date from t_iov_help_feed原创 2017-11-22 16:53:09 · 152368 阅读 · 92 评论 -
MySql 中 case when then else end 的用法
解释:SELECT case -------------如果 when sex='1' then '男' -------------sex='1',则返回值'男' when sex='2' then '女' -------------sex='2',则返回值'女' else 0原创 2017-11-22 14:22:46 · 1240 阅读 · 0 评论 -
mysql根据条件做特定的更新
有时,光普通的更新操作已经不能满足我们的需求,我们需要根据不同的条件做特定的更新。例如说,某个字段直接更新,另外的字段的更新,需要加条件,下面请看一个例子。原表数据:需求:1、所有记录,IS_ENABLE 字段改为1。 2、id 最大的那条记录,IS_ENABLE时间更改为“2017-09-09 09:09:09”,其余的记录,时间更改为“2017原创 2017-11-23 16:27:07 · 26539 阅读 · 0 评论 -
mysql中一条insert语句批量插入多条记录
插入语句常用写法: INSERT INTO items(name,city,price,number,picture) VALUES('耐克运动鞋','广州',500,1000,'003.jpg'); 这种方式只能够一次插入一条数据,要想插入多条数据,就得多次调用此sql语句,意味着多次与数据库建立连接。但是这样一来,就会增加服务器的负荷,因为,执行每一次SQL服务器都要同样对SQL进行分析、优化等操作。幸好MySQL提供了另一种解决方案,就是使用一条INSERT语句来插入多条记录。这并不是标准的SQ原创 2017-07-20 15:39:23 · 377825 阅读 · 34 评论