SQL
文章平均质量分 59
健康搬砖人
Tomcat我们走
展开
-
如何从Mysql快速查找一条数据
如何从Mysql快速查找一条数据前言可能许多小伙伴在面试中会遇到这么样的一道面试题:如何以最高效率随机在 Mysql 数据表中查找一条数据实际上,这个题包含了两个点在 Mysql 数据表随机查找一条数据保证效率最高实战我们平时常用的英语App,大部分都有 随机显示一个单词或者多个单词的功能,为了便于理解,我设计了以下代码,并往表里加了 30000 行数据。CREATE TABLE `words` ( `id` int(11) NOT NULL AUTO_INCREMEN原创 2022-01-27 16:25:06 · 6805 阅读 · 0 评论 -
MySQL主从同步 Last_Error: Could not execute
最近,使用mysql主从的时候,发现主库修改的数据没有同步到从库。立马开发排查。首先连接从库show slave status\G;查看从库的信息。从上面箭头的两处,我们可以看到是 x_daily_shares 表出了问题,以及是 mysql-bin.000009 文件对应的 end_log_pos。连接主库所在的服务器(不是连接数据库)首先我们要知道mysql binlog的日志位置,所以我们先需要知道mysql配置文件的位置查看mysql命令所在的位置which mys原创 2021-12-27 23:37:42 · 965 阅读 · 0 评论 -
You can‘t specify target table ‘表名‘ for update in FROM clause错误
我创建了这样一个表CREATE TABLE `words` ( `id` int(11) NOT NULL AUTO_INCREMENT, `word` varchar(64) DEFAULT NULL, `num` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8mb4;我想查询word='aaae’时,将满足条件的记录的num字段修改原创 2021-01-15 11:50:10 · 190 阅读 · 0 评论 -
Mysql常见面试题
1.事务2.数据库范式3.事务隔离级别4.并发一致性问题5.存储引擎(InnoDB和MyISAM区别)6.锁机制(有哪些锁?)6.B+索引数据结构,和B树(B-树)的区别7.红黑树8.数据库索引原理9.聚簇索引和非聚簇索引区别10.覆盖索引11.压缩索引(前缀压缩)12.冗余索引和重复索引13.索引为什么能提高速度?14.MVCC机制15.SQL优化16.Mysql...原创 2020-02-29 21:06:31 · 192 阅读 · 0 评论 -
聚簇索引和非聚簇索引区别
聚簇索引和非聚簇索引区别MySQL的聚簇索引是指Innodb引擎的特性,MySIAM并没有,如果需要该索引,只要将索引指定为主键(primary key)就可以了。聚集(clustered)索引,也称聚簇索引。聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。Innodb引擎的聚簇索引实际上存放了B+树索引和数据行。所以由于无法同时把数据行存放在两个不同的地方,所以一个表只能有一个聚簇索...原创 2019-08-28 23:36:44 · 950 阅读 · 0 评论 -
这个符号在Mysql中到底是什么?
Mysql中有个 <=>符号,到底是什么含义呢?https://stackoverflow.com/questions/21927117/what-is-this-operator-in-mysql原创 2019-08-28 16:34:24 · 513 阅读 · 0 评论 -
Mysql CASE函数 详解
CASE函数格式如下:CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2][ELSE rn] END该函数表示,如果expr值等于某个vn,可以是等于v1或v2…vn,则返回对应位置THEN后面的结果。如果与苏军偶有值都不相等,则返回ELSE后面的rn。示例一:使用CASE value WHEN 语句执行分支操作,输入语句如下:SELECT CA...原创 2019-05-09 16:31:34 · 2939 阅读 · 0 评论 -
Mybatis查询Mysql datetime类型时,相差8小时 解决方案
最近,笔者在做项目的时候,发现了一件特别奇怪的事情。Mysql数据库里数据如下:可是,使用Mybatis查询出来的数据却是查出来的数据跟数据库里的数据相差了8个小时,这是为什么呢?这是因为Mysql 使用系统默认时区,东八区。而Tomcat java使用UTC时区进行处理业务逻辑。System.out.println(System.getProperty("user.ti...原创 2019-03-19 15:44:38 · 9991 阅读 · 2 评论 -
JDBC数据库连接池
什么是数据库连接池?数据库连接的建立及关闭是极耗资源的操作,在多层结构的应用环境中,这种资源的耗费对系统性能影响尤为明显。但是对于一个复杂的数据库应用,情况就完全不同了,每次获取连接,一个数据库连接对象均对应一个物理数据库连接,频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。数据库连接池的解决方法是:当应用程序启动时,系统主动建立足够的数据库连接,并...原创 2018-10-19 18:22:45 · 280 阅读 · 0 评论 -
数据库-事务解析
数据库是一个多用户使用的共享资源,当多个用户并发地存储初级的时候,在数据库中就会产生多个用户同时存储同一数据的情况,若对并发操作不进行控制,就可能产生读取和存储不正确的数据,破坏数据的一致性,而事务是并发控制的基本单位。 所谓事务事务是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。举个例子来说,银行转账的工作,从一个账户A扣款,并使用另一个账户B...原创 2018-10-01 23:41:50 · 230 阅读 · 0 评论 -
使用Navicat工具进行数据表的复制
第一步在在我们的电脑里打开navicat软件,选择要复制的数据表,如下所示: 点击工具->数据传输 左边选择的是要复制的表的数据库,右边选择的将表复制到目标数据库,如下图所示: 点击下一步,这里可以选择要复制过去的表 传输完毕...原创 2018-09-19 15:43:43 · 12520 阅读 · 2 评论 -
SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束。
Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入,然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1; ...转载 2018-07-17 23:26:56 · 1403 阅读 · 0 评论 -
数据库-范式解析
1.第一范式(1NF)第一范式是指数据库表中的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。下面看例子-学生信息表,每一个属性都只有一个值,比如属性-电话,每个电话字段只有一个值,每一条记录里,每一个属性只有一个值而且不会有两个。每一个字段也不能重复,下面是 符合的这一条规则的数据表,没有相同重复的字段(F...原创 2018-07-17 17:55:15 · 7346 阅读 · 0 评论 -
SQL语句50题基础练习
CREATE DATABASE 50q;USE 50q;CREATE TABLE STUDENT( SNO VARCHAR(3) NOT NULL, SNAME VARCHAR(4) NOT NULL, SSEX VARCHAR(2) NOT NULL, SBIRTHDAY DATETIME, CLASS VARCHAR(5) ); ...转载 2018-04-15 09:29:46 · 8910 阅读 · 3 评论