MySQL对varchar字段使用int查询会发生什么?

谢谢光光的问题分享,享受排查问题找到答案的过程MySQL会对varchar字段的数据进行int的转型索引会失效查询即将变得很慢不仅仅是这样的类型会转换,当类型匹配不上的时候MySQL将会替我们做一次类型转换,比如之前用varchar的类型去查询datatime,MySQL就是帮我们做了一次类型转换才得以查询这篇文章写得很好https://blog.csdn.net/u010825931/article/details/103811797假设t_test表中的no是varchar类型的,那.
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

MySQL学习笔记总结(小白必看+基础篇)

DDL:数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。DML:数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。DCL:数据控制语言 (Data Control Language) 在SQL语言中,是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、存储程序、用户自定义函数等数据库对象的控制权。由 GRANT 和 REVOKE 两个指令组成
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

MySQL-存储过程-高效清理数据

使用存储过程清理数据,往往会引起全表扫,如果表内数据非常大,清理效率会很低。本文讲解了如何在存储过程中合理利用索引清理数据。
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

entity实体类

Entity实体类:书写规范:1.java中包和类的建立和书写: 包名可以自己定义,但最好是全部小写; 包下边的类与接口全部使用驼峰命名规则。 (首字母要大写,第二个单词的首字母也要大写。) 注意:要新建**类而不是包**,包名和类名之间用点隔开(如图1) 2.实体类与数据库的映射关系: entity包下的实体类要全部保持和数据库的表名一致; 类属性值要与数据库字段对应。(如图2) 特别说明: 数据库的名应该在application
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

JDBC/Mybatis Junit测试进行增删改的时候明明代码没错,但是数据并没有变。

如上图代码没错,运行也没错,本来应该添加一条数据的但是数据并没有更新啊!!!!我想起来了,每次进行增删改之后都应该提交事务啊,于是我在sqlSession.close();的上面加了一条 sqlSession.commit();可是又报错了!!!意思大概是重复插入了id=9的这一行,我看了一眼数据库,竟然插入成功了???我寻思着我就点了测试运行一遍啊,为啥会说重复插入? 查了查资料,终于找到了解决办法了。org.apache.ibatis.exceptions.PersistenceExceptio.
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

Welcome to MySQL Workbench:MySQL 导出数据

MySQL 导出数据MySQL中你可以使用SELECT…INTO OUTFILE语句来简单的导出数据到文本文件上。CREATE TABLE test_NO1(test_NO1_id INT NOT NULL AUTO_INCREMENT,test_NO1_title VARCHAR(100) NOT NULL,test_NO1_author VARCHAR(40) NOT NULL,test_NO1_date DATE,PRIMARY KEY ( test_NO1_id ))ENGINE=.
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

日志11月17日

今天比较忙,没时间学编程,学了一个数据库插入操作:import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )# 使用cursor()方法获取操作游标 cursor = db.cursor()# SQL 插入语句sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AG
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

ERROR: The server time zone value ‘�й���׼ʱ��‘ is unrecognized or represents more than one time zone.

ERROR: The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to ut
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

case表达式---多条件表达式

主题:case表达式—多条件表达式一、概念1、基本语法case when 条件1 then 值1 when 条件2 then 值2 when 条件3 then 值3 .... else 值n end2、执行过程:整个表达式有一个计算结果:和if else if else 一样3、语法要求1)条件是有顺序的2)所有的条件后面的值,要是同一类型3)建议不要少了else,如果省了,则所有when都不成立,则返回null4)end不能少5)每一个条件后不要打,二、替换应
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

python操作之更新数据库中某个字段的数据

连接数据库基本操作,我把每一步的操作是为什么给大家注释一下,老手自行快进。请注意这是连接数据库操作,还不是更新。import pymysql #导包#连接数据库db = pymysql.connect(host='localhost', user='用户名', password='数据库密码', port=3306, db='你的数据库名字')#定义游标cursor = db.cursor()#sql语句sql = 'select * from students;'cu
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

聊聊MySQL的COUNT(*)的性能

前言基本职场上的程序员用来统计数据库表的行数都会使用count(*),count(1)或者count(主键),那么它们之间的区别和性能你又是否了解呢?其实程序员在开发的过程中,在一张大表上统计总行数是非常耗时的一个操作,那么我们应该用哪个方法统计会更快呢?接下来我们就来聊一聊MySQL中统计总行数的方法和性能。count(*),count(1),count(主键)哪个更快?1、建表并且插入1000万条数据进行实验测试:# 创建测试表CREATE TABLE `t6` ( `id` int(
分类: 其他 发布时间: 11-18 11:37 阅读次数: 0

Day 28 JWT认证相关

Day 28 JWT认证相关一、JWT在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证,我们不再shiyongsession认证机制,而使用Json Web Token认证机制。Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0

三步秒刷青年大学习

青年大学习1、在电脑登录微信,进入团课学习的界面,然后点击在网页中打开。2、按F12,点击左上角的箭头,然后点击视频界面,找到类似http://dxxsv.cyol.com/9dxx3.mp4格式的链接。3、复制该链接至新标签页,拖动进度条至最后,然后就ok了。团支书再也不用担心我没刷网课了。...
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0

Redis的雪崩穿透击穿

雪崩原因: 当缓存中存入key值在同一时间集体过期,导致大量的请求越过缓存直接去访问数据库,数据库承受不住如此大量的访问,导致宕机解决方案:在给key值设定过期时间的时候,给时间设定随机值,避免key值在同一时间全部失效给热点数据设置永不过期穿透原因:大量的访问数据库中不存在的值,例如数据库中只有id为1,有大量人去访问id = -1,造成数据库压力过大,也有可能压垮数据库解决方案:在接口层直接进行校验,禁止不合法的数据请求击穿原因:一个热点的key值,在遭受大量访问请求时,恰好
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0

BSV上的一种可替换token的新方案:Oracle方案

问题BSV有一个基于UTXO的层一token方案,但该方案无法完全在层一辨别token的真伪。有两种思路来解决这个问题:在tx中携带历史tx链,但该方案引入了tx大小膨胀的问题。在二层识别正确的UTXO集合,相当于把一大部分防伪工作放到了二层。新方案的原理这里要介绍的Oracle方案就是采取的第二种思路。该方案原理如下:Oracle维护合法的token UTXO集合。当钱包收到一笔token UTXO时,向Oracle申请该UTXO的合法性签名。当Oracle收到一个token UTX
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0

unctf2020部分wp

misc签到题下载附件之后是一张图片,打开方式选择记事本,在最后一行会发现一行网址,浏览器访问它可以在评论区找到flag。web一、ezphp<?phpshow_source(__FILE__);$username = "admin";$password = "password";include("flag.php");$data = isset($_POST['data'])? $_POST['data']: "" ;$data_unserialize = unserial
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0

SQL Server 局域网远程连接 及花生壳公网远程连接

1.修改安全性中登录名详细信息点击安全性->sa->右键->属性 设置SQL Sever身份验证设置允许连接设置映射的数据库2.设置服务器配置右键服务器->属性 进行配置3 启动相应服务和协议如果不成功 可到计算机管理->服务和应用程序-服务中配置4.开启防火墙配置理论上会自行添加 如果不成功可以自行添加经过如上配置 应该已经可以局域网连接SQL Server数据库了接下来讲解如何配置花生壳1.
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0

String、StringBuild、StringBuffer

String、StringBuild、StringBuffer  String、StringBuild、StringBuffer在java中都是可以操作字符串的对象,让我们来看看它们之间的区别和联系。从结构分析  从结构上来看,它们都是final类,并且都是用char数组来存储内容的,不过StringBuild、StringBuffer没有用final和private来修饰这个数组。  StringBuild、StringBuffer都是继承AbstractStringBuilder,但String
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0

网络安全--数字签名/数字证书

对称加密:未加密的信息+秘钥 --> 加密的黑盒子 --> 加密后的信息加密后的信息+秘钥 --> 解密的黑盒子 --> 未加密的信息非对称加密:未加密的信息+公钥 --> 加密的黑盒子 --> 加密后的信息加密后的信息+私钥 --> 解密的黑盒子 --> 未加密的信息既可以公钥加密,私钥解密也可以私钥加密,公钥解密数字签名:A:我要给你发送条消息B:这消息万一被人改了怎么办?A:我会签上我的大名B:怎么签.
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0

springboot整合shiro(授权)

一:数据库增加权限字段pperms二:改变对应的实体类,增加permspublic class User { private Integer id; private String username; private String password; private Integer role_id; private String perms;三:配置类设置权限过滤器,和未授权访问页面 public ShiroFilterFactoryBean getS
分类: 其他 发布时间: 11-18 11:27 阅读次数: 0