![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 77
xiaoweids
这个作者很懒,什么都没留下…
展开
-
分享SQL重复记录查询的几种方法
SQL重复记录查询的几种方法,需要的朋友可以参考一下。原创 2023-07-22 17:50:26 · 12438 阅读 · 2 评论 -
DDL、DML和DCL的区别浅谈
所以,了解优化器是如何选择(搜索)路径以及索引是如何被使用的,对优化SQL语句有很大的帮助。三、DCL is Data Control Language statements. Some examples:数据控制语言,用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。原创 2023-07-22 16:35:22 · 273 阅读 · 0 评论 -
SQLServer数据库基础学习
参照完整性:Foreign Key,Check,Triggers,Procedure;SQL Server中的数据类型:整数:int,smallint,tinyint,bigint;字符串函数:lower(e),upper(e),left(e,i),right(e,i),replace(s1,s2,s3)用3替换1中的2,replicate(e,i)重复指定次数,stuff(s1,start,length,s2)用2替换1中指定位置,substring(expression,start,length)原创 2023-07-22 18:18:30 · 499 阅读 · 0 评论 -
关于redis几种加锁的实现浅谈
如果请求执行因为某些原因意外退出了,导致创建了锁但是没有删除锁,那么这个锁将一直存在,以至于以后缓存再也得不到更新。但是借助 Expire 来设置就不是原子性操作了。所以还可以通过事务来确保原子性,但是还是有些问题,所以官方就引用了另外一个,使用 SET 命令本身已经从版本 2.6.12 开始包含了设置过期时间的功能。这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。以上的锁完全满足了需求,但是官方另外还提供了一套加锁的算法,这里以PHP为例。原创 2023-07-22 18:14:59 · 483 阅读 · 0 评论 -
Redis操作命令合集分享
注意:如果不小心运行了flushall,立即shutdown nosave,关闭服务器,然后手工编辑aof文件,去掉文件中的flushall相关行,然后开启服务器,就可以倒回原来是数据。答:如果有交集,交集元素又有score,score怎么处理?概念:它是在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动按新的值调整顺序。(9)incr key:自增,返回新值,如果incr一个不是int的value则返回错误,incr一个不存在的key,则设置key为1。原创 2023-07-23 09:48:54 · 1418 阅读 · 0 评论 -
MYSQL修改root密码的4种方法盘点
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。例子:mysql> set password for root@localhost = password('123');格式:mysql> set password for 用户名@localhost = password('新密码');5. 输入mysql回车,如果成功,将出现MySQL提示符 >。2. 打开DOS窗口,转到mysql\bin目录。原创 2023-07-22 13:49:54 · 8017 阅读 · 0 评论 -
mysql 表空间及索引的查看方法
mysql 表空间及索引的查看方法,需要的朋友可以参考下。其中“database”为你所要查看的数据库。3.查看数据库中所有表的信息。原创 2023-07-20 15:09:54 · 366 阅读 · 0 评论 -
Go基本数据类型与string类型互转介绍
本文主要介绍了Go基本数据类型与string类型互转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。原创 2023-07-20 14:23:14 · 654 阅读 · 0 评论 -
如何在 MySQL 数据库中支持完整的Unicode
永远不要在 MySQL 中使用 utf8——总是使用 utf8mb4。更新数据库和代码可能需要一些时间,但绝对值得付出努力。为什么要任意限制可以在数据库中使用的符号集?为什么每次用户输入星体符号作为评论或消息的一部分或我们存储在数据库中的任何内容时,都会丢失数据?没有理由不在所有地方争取完全的 支持。做正确的事,使用 utf8mb4。微点阅读。原创 2023-07-20 11:19:30 · 415 阅读 · 0 评论 -
关于MySQL中用户授权以及删除授权的方法
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然可以连接服务器。user部分必须匹配原来 GRANT语句的你想撤权的用户的user部分。privileges部分不需匹配,你可以用GRANT语句授权,然后用REVOKE语句只撤销部分权限。本文主要介绍了MySQL中用户授权以及删除授权的方法的相关资料,需要的朋友可以参考下。原创 2023-07-19 15:06:16 · 433 阅读 · 0 评论 -
Mysql中新建用户及授权的方法分享
这篇文章给大家汇总介绍了Mysql中新建用户及授权的方法,首先介绍的是作者自己的项目经历,后面附上了参考文章,希望能对大家学习mysql有所帮助。那么可以新建一个用户,给该用户开放特定数据库权限。这样就创建了一个名为:cplusplus 密码为:cplusplus.me 的用户。修改MySQL配置文件linux系统为my.cnf,windows系统为my.ini。用户root权限登录mysql,新建一个和数据库同名的用户。测试环境:Centos 6.3和Mysql 5.3。原创 2023-07-20 10:24:59 · 1913 阅读 · 0 评论 -
关于MySQL创建用户与授权方法
注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';原创 2023-07-20 11:55:48 · 187 阅读 · 0 评论 -
mysql 乐观锁和悲观锁的使用浅谈
悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中, 将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了 加锁机制,也无法保证外部系统不会修改数据)。使用场景举例:以MySQL InnoDB为例。原创 2023-07-19 14:19:09 · 109 阅读 · 0 评论 -
nginx cache不缓存问题的原因及解决办法
最近在工作中遇到了一个问题,发现nginx cache居然不缓存,后来通过查找网上的资料找到了原因和解决方案,下面整理好分享给大家,同样遇到这个问题的朋友们可以参考借鉴,下面和小编一起来学习学习吧。默认情况下,nginx是否缓存是由nginx缓存服务器与源服务器共同决定的, 缓存服务器需要严格遵守源服务器响应的header来决定是否缓存以及缓存的时常。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助。如果出现这两值,nginx缓存服务器是绝对不会缓存的。原创 2023-07-17 16:52:52 · 1266 阅读 · 0 评论 -
Nginx防止流量攻击的配置浅谈
而且也不能一直排队,所以nginx还设了超时,排队超过一定时间,也是直接退回,返回服务器忙的响应。大家都知道服务器资源有限的,但是客户端来的请求是无限的(不排除恶意攻击), 为了保证大部分的请求能够正常响应,不得不放弃一些客户端来的请求,所以我们会采用Nginx的限流操作, 这种操作可以很大程度上缓解服务器的压力, 使其他正常的请求能够得到正常响应。这篇文章主要给大家分享了Nginx防止流量攻击的配置方法,文中给出了详细的介绍和配置示例代码,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。原创 2023-07-19 10:27:39 · 335 阅读 · 0 评论 -
Nginx隐藏server头信息如何实现
本文主要介绍了Nginx隐藏server头信息的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着微点阅读小编来一起学习学习吧。原创 2023-07-17 13:09:25 · 1116 阅读 · 0 评论 -
Linux输入输出重定向使用浅谈
两个>即>>表示:追加到原文件中的内容之后;果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。1、重新设置命令的默认输入,输出,指向到自己文件(文件,文件描述符,设备其实都是文件,因为linux就是基于设备也是文件,描述符也指向是文件)注:其中一个>表示:覆盖原文件中的内容;如果文件不存在,就创建文件;Linux标准输入、输出设备主要是键盘和显示器,输出重定向是改变程序运行的输入来源和输出地点。输出重定向:改变程序运行的输入来源和输出地点。原创 2023-07-15 23:29:40 · 193 阅读 · 0 评论 -
linux操作之重定向问题浅谈
(1)重定向命令列表命令说明将输出重定向到 file将输入重定向到 file将输出以追加的方式重定向到 filen > file将文件描述符为 n 的文件重定向到 filen >> file将文件描述符为 n 的文件以追加的方式重定向到 filen >& m将输出文件 m 和 n 合并n原创 2023-07-16 22:52:49 · 195 阅读 · 0 评论 -
oracle中如何删除亿级数据技巧
本文主要介绍了oracle中如何删除亿级数据问题,具有很好的参考价值,希望对大家有所帮助。原创 2023-07-16 09:42:23 · 251 阅读 · 0 评论 -
Oracle常用字符串函数与数学函数
Oracle是一种关系型数据库管理系统,它提供了许多内置函数,以便用户可以更轻松地处理数据。原创 2023-07-15 14:24:22 · 140 阅读 · 0 评论 -
SQL中Exists的用法浅谈
接着是找WHERE关键字,如果找不到则返回到SELECT找字段解析,如果找到WHERE,则分析其中的条件,完成后再回到SELECT分析字段。子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何匹配的呢?一种通俗的可以理解为:将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,这一行行可作为外查询的结果行,否则不能作为结果。注意两个查询返回相同的结果。原创 2023-07-15 17:25:59 · 254 阅读 · 0 评论 -
数据库SQL语句优化总结分享
然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。不要以为 NULL 不需要空间,比如:char(100) 型,在字段建立时,空间就固定了, 不管是否插入值(NULL也包含在内),都是占用 100个字符的空间的,如果是varchar这样的变长字段, null 不占用空间。如果你把你的表锁上一段时间,比如30秒钟,那么对于一个有很高访问量的站点来说,这30秒所积累的访问进程/线程,数据库链接,打开的文件数,可能不仅仅会让你的WEB服务崩溃,还可能会让你的整台服务器马上挂了。原创 2023-07-16 10:38:52 · 83 阅读 · 0 评论 -
SQL SERVER的字段类型说明
比如当你像一个长度为40个字符的VARCHAR型字段中输入一个长度为4的字符串TOL8后你再取出的数据的时候,数据的长度为4个字符,而你把VARCHAR换成CHAR型,你取出的将会是40各字符长度的数据,字符串后会被附加多余的空格,比如TOL8只有4个字符那么从CHAR中取出的数据是TOL8加上36个空格!MS的SQL Server主要是由五种常常用到的字段,字符型,文本型,数值型,逻辑型,和日期型!INT(整型数据)表示范围是从-2,147,483,647 到 2,147,483,647 的整数。原创 2023-07-17 09:36:04 · 372 阅读 · 0 评论 -
sql server 入门语句分享
对于数据库来说多多少少要掌握一点,首先基本的SQL语句要了解。下面来总结一些入门级别的SQL语句。原创 2023-07-15 13:28:38 · 189 阅读 · 0 评论 -
Oracle删除数据非常慢的问题及解决方法
以上为个人经验,希望能给大家一个参考,也希望对大家有所帮助。微点阅读。原创 2023-07-15 11:56:02 · 3159 阅读 · 0 评论 -
关于MySQL DQL语句的使用介绍
本文主要介绍了MySQL DQL语句的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着微点阅读小编来一起学习学习吧。原创 2023-07-14 17:51:03 · 79 阅读 · 0 评论 -
关于linux su和sudo命令的区别介绍
sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;如果我们在 /etc/sudoers 中加上如上一行,表示beinan用户组下的所有成员,在所有可能的出现的主机名下,都能切换到root用户下运行 /usr/sbin和/sbin目录下的所有命令;$ su - -c ls 注:这是su的参数组合,表示切换到root用户,并且改变到root环境,然后列出root家目录的文件,然后退出root用户;原创 2023-07-13 17:13:47 · 208 阅读 · 0 评论 -
MySQL Where 条件语句及运算符浅谈
除 SELECT 外,WHERE 条件关键字可以用于任何 SQL 语法允许的场合,如 UPDATE(更新)、DELETE(删除)等。这篇文章主要介绍了MySQL Where 条件语句介绍和运算符小结,本文同时还给出了一些用法示例,需要的朋友可以参考下。有时候操作数据库时,只操作一些有条件限制的数据,这时可以在SQL语句中添加WHERE子句来规定数据操作的条件。WHERE 关键字后面接有效的表达式(definition),该表达式表示被操作的数据记录必须满足的条件。原创 2023-07-12 19:06:44 · 144 阅读 · 0 评论 -
MYSQL WHERE语句优化
如果有一个ORDER BY子句和一个不同的GROUP BY子句,或如果ORDER BY或GROUP BY包含不是来自联结队列中的第一个表的其他表的列,创建一个临时表。与在一个UNIQUE索引、或一个PRIMARY KEY的WHERE子句一起使用的表,这里所有的索引部分使用一个常数表达式并且索引部分被定义为NOT NULL。因为DISTINCT被变换到在所有的列上的一个GROUP BY,DISTINCT与ORDER BY结合也将在许多情况下需要一张临时表。如果这样的索引没能找到,将使用一个快速的表扫描。原创 2023-07-13 09:45:08 · 144 阅读 · 0 评论 -
关于mysql having用法介绍
WHERE 在分组和聚集计算之前选取输入行(因此,它控制哪些行进入聚集计算), 而 HAVING 在分组和聚集之后选取分组的行。相反,HAVING 子句总是包含聚集函数。having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前,下面通过实例给大家介绍mysql having用法,一起看看吧。having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。原创 2023-07-13 12:32:50 · 331 阅读 · 0 评论 -
MYSQL之on和where的区别浅谈
有时候如果这先后顺序不影响中间结果的话,那最终结果是相同的。但因为on是先把不符合条件的记录过滤后才进行统计,它就可以减少中间运算要处理的数据,按理说应该速度是最快的。根据上面的分析,可以知道where也应该比having快点的,因为它过滤数据后才进行sum,所以having是最慢的。但也不是说having没用,因为有时在步骤3还没出来都不知道那个记录才符合要求时,就要用having了。在两个表联接时才用on的,所以在一个表的时候,就剩下where跟having比较了。原创 2023-07-12 23:07:29 · 934 阅读 · 0 评论 -
快速修改Mysql数据库名的5种方法
mysql中如何重命名数据库?这篇文章主要介绍了安全快速修改Mysql数据库名的5种方法,需要的朋友可以参考下。这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。小编注:以上这些操作都是危险的,所以请在执行操作前,备份你的数据库!把data目录中的db_name目录重命名为new_db_name。据说有可能丢失数据。就是方法3的优化版。原创 2023-07-11 18:10:29 · 22346 阅读 · 0 评论 -
如何保护MySQL中重要数据
你可以通过激活MySQL配置中的SSL,或应用一个OpenSSH这样的安全应用来为传送的数据建立一个安全的加密“通道”,以关闭这一漏洞。其中,最重要的是一般查询日志,它用时间标签记录每名客户的连接和中断时间,并记录客户执行的每个查询。如果你目前用的是MySQL,就可以使用一些方便的功能来保护系统,来大大减少机密数据被未授权用户访问的风险。建议:可以在MySQL服务器配置中添加捆绑地址127.0.0.1指令来增强这一功能,迫使MySQL捆绑当地机器的IP地址来保证只有同一系统中的用户可以连接到MySQL。原创 2023-07-12 13:34:25 · 68 阅读 · 0 评论 -
关于MySQL关闭SSL的方法
本文主要介绍了MySQL关闭SSL的简单方法,具有很好的参考价值,希望对大家有所帮助。原创 2023-07-11 15:58:00 · 1658 阅读 · 0 评论 -
MySQL数据同步到 Redis 缓存的几种方法
推荐使用Canal的方式,进行异步同步。其次是MQ方式到此这篇关于浅谈MySQL数据同步到 Redis 缓存的几种方法的文章就介绍到这了,希望可以对你有所有帮助。微点阅读。原创 2023-07-10 16:27:15 · 1543 阅读 · 0 评论 -
Oracle存储过程基本语法浅谈
-SYS_REFCURSOR 中可使用三个状态属性: ---%NOTFOUND( 未找到记录信息) %FOUND( 找到记录信息) ---%ROWCOUNT( 然后当前游标所指向的行位置)-- 此处声明了一个TestArray 的类型数据,其实其为一张存储Info 数据类型的Table 而已,及TestArray 就是一张表,有两个字段,一个是name ,一个是y。首先明确一个概念:Oracle 中本是没有数组的概念的,数组其实就是一张表(Table), 每个数组元素就是表中的一个记录。原创 2023-07-08 11:50:23 · 1014 阅读 · 0 评论 -
关于Oracle查询执行计划介绍
虽然不同数据库对于SQL查询的执行过程采用了不同的实现方式,但是一个查询语句大致需要经过分析器、优化器以及执行器的处理并返回最终结果,同时还可能利用各种缓存来提高访问性能。例如,是通过索引还是通过全表扫描的方式访问单个表,使用什么顺序连接多个表,如何实现数据的排序等。在常用的Oracle数据库开发工具PL/SQL中,选择一段SQL脚本,按F5键,即可自动显示该脚本的执行计划信息,跟方法一查询出的结果相同。然后,分析器(解析器)解析SQL语句的各个组成部分,进行语法分析,并检查SQL语句的语法是否符合规范。原创 2023-07-08 09:35:11 · 719 阅读 · 0 评论 -
MySQL Where 条件语句介绍和运算符
除 SELECT 外,WHERE 条件关键字可以用于任何 SQL 语法允许的场合,如 UPDATE(更新)、DELETE(删除)等。本文主要介绍了MySQL Where 条件语句介绍和运算符小结,本文同时还给出了一些用法示例,需要的朋友可以参考下。有时候操作数据库时,只操作一些有条件限制的数据,这时可以在SQL语句中添加WHERE子句来规定数据操作的条件。WHERE 关键字后面接有效的表达式(definition),该表达式表示被操作的数据记录必须满足的条件。原创 2023-07-06 18:19:28 · 172 阅读 · 0 评论 -
mysql having用法介绍
WHERE 在分组和聚集计算之前选取输入行(因此,它控制哪些行进入聚集计算), 而 HAVING 在分组和聚集之后选取分组的行。相反,HAVING 子句总是包含聚集函数。having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前,下面通过实例给大家介绍mysql having用法,一起看看吧。having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。原创 2023-07-06 14:54:17 · 1420 阅读 · 0 评论 -
Mysql中where与having的区别浅谈
Having语句通常与Group by语句联合使用,用来过滤Group by语句返回的结果集,Having语句的存在弥补了Where关键字不能与聚合函数联合使用的不足。1. WHERE 可以直接使用表中的字段作为筛选条件,但不能使用分组中的计算函数作为筛选条件;3. 第二项导致了WHERE执行效率高,不能使用分组中的计算函数进行筛选,而HAVING 可以使用分组中的计算函数,执行效率较低。上述的错误为:非法使用聚合函数,不能在 WHERE 子句中使用聚合函数。2. 使用了聚合函数。1. 行已经被分组。原创 2023-07-06 16:40:19 · 46 阅读 · 0 评论