mysql
文章平均质量分 78
秃头哥编程
这个作者很懒,什么都没留下…
展开
-
MySQL批量插入测试数据
有时候我们需要往表中批量插入几万甚至几十万条数据,这时候总不可能手工一条条插入的,这估计得累死人,可以利用MySQL的函数和存储过来实现这个需求。1、建立测试需要的表CREATE TABLE `dept` (`id` INT(11) NOT NULL AUTO_INCREMENT,`deptName` VARCHAR(30) DEFAULT NULL,`address` VARCHAR(40) DEFAULT NULL,ceo INT NULL ,PRIMARY KEY (`id`)) EN原创 2021-05-23 14:45:37 · 927 阅读 · 1 评论 -
MySQL慢查询日志如何开启以及分析
1、MySQL慢查询日志是什么(1)MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录MySQL中查询时间超过(大于)设置阈值(long_query_time)的语句,记录到慢查询日志中。(2)long_query_time的默认值是10。2、如何开启MySQL慢查询日志默认情况下,MySQL没有开启慢查询日志。需要手动打开,如果不是调优需要的话,不建议开启,因为开启会带来一定的性能影响,慢查询日志支持将日志记录写入文件。(1)开启设置-- 查看慢查询日志是否开启show var原创 2021-05-19 20:43:44 · 785 阅读 · 2 评论 -
手把手教你彻底理解MySQL的explain关键字
数据库是程序员必备的一项基本技能,基本每次面试必问。对于刚出校门的程序员,你只要学会如何使用就行了,但越往后工作越发现,仅仅会写sql语句是万万不行的。写出的sql,如果性能不好,达不到要求,可能会阻塞整个系统,那对于整个系统来讲是致命的。所以如何判断你的sql写的好不好呢?毕竟只有先知道sql写的好不好,才能再去考虑如何优化的问题。MySQL官方就给我们提供了很多sql分析的工具,这里我们主要说一下EXPLAIN。以下是基于MySQL5.7.28版本进行分析的,不同版本之间略有差异。5.1 概念原创 2021-05-15 17:30:12 · 314 阅读 · 0 评论 -
数据库面试题汇总--关系型数据库(主要为 Mysql)
数据库知识作为面试必考题,在面试的过程中占比很好,尤其是后端开发,一定要精通,尤其是索引和事务,每个专业的面试官都会问,一定不能只停留在增删查改上。1、数据库三范式第一范式:要求每列都是最小的数据单元,不可分割。比如学生表(学号、姓名、性别、出生年月),出生年月还可以分为(出生年、出生月、出生日),那么它就不符合第一范式了。第二范式:在第一范式的基础上,要求每列都和主键相关。比如学生表(学号、姓名、课程号、学分),这里姓名依赖学号、学分依赖课程号,第二范式强调非主键字段必须依赖主键,所以不转载 2021-03-07 16:02:14 · 636 阅读 · 0 评论 -
项目中设计数据库是否要使用外键?
一、问题引入学过数据库的同学都知道外键,外键能够保证数据的一致性。比如一个学生属于一个班级,班级和学生的关系是一对多,如果你删除了一个班级,那么这个班级中的学生肯定得跟着删除,不然就会产生一群无组织的学生。以往做项目的时候,外键是肯定得用的,不用外键是万万不可能的。可是有一天偶然看到书上说不建议使用外键,神马(O_o)??还有这样的操作?那该怎么去保证数据一致性啊,不会产生很多脏数据吗?想想就...原创 2019-06-03 13:54:58 · 3389 阅读 · 5 评论 -
一文读懂数据库索引原理及优化
一、摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。二、常见的查询算法及数据结构为...转载 2019-06-03 11:00:07 · 519 阅读 · 0 评论 -
MySQL复制一条记录的某几个字段
最近写代码的时候,想要把一个表中的几条记录复制到这张表,但只是复制某几个字段,其他字段用自定义的值,sql写成下面这样既可,记录一下方便以后查阅。insert into table(字段1,字段2,字段3,...) select 自定义的值 as 字段1,字段2,字段3,... from table where....;上面的sql语句,字段1就使用我们自定义的值,其他字段就使用查出来的值。...原创 2019-01-19 15:52:10 · 1312 阅读 · 0 评论 -
MySQL之锁总结
不少人在开发的时候,应该很少会注意到这些锁的问题,也很少会给程序加锁(除了库存这些对数量准确性要求极高的情况下)一般也就听过常说的乐观锁和悲观锁,了解过基本的含义之后就没了~~~即使我们不会这些锁知识,我们的程序在一般情况下还是可以跑得好好的。因为这些锁数据库隐式帮我们加了。对于UPDATE,DELETE,INSERT语句,InnoDB会自动给涉及到的数据集加排它锁。MyISA...原创 2018-08-12 11:43:04 · 332 阅读 · 0 评论 -
数据库之索引总结
索引在数据库中可以说是相当重要的一块知识点了,也是面试经常被问的,这篇文章就总结一下索引相关的知识点,包括索引的底层实现原理,索引的分类,最左匹配原则等。一、索引的概念索引能快速找出在某一列中有一特定值的行。不使用索引,mysql必须从第一条记录开始查找,直到找到相关的行。如果表中查询的列有一个索引,mysql能快速到达某个位置去搜索数据文件,而不必查看所有数据。索引是对数据库中一列或...原创 2018-08-11 23:18:34 · 3119 阅读 · 0 评论 -
MySQL error:Every derived table must have its own alias
今天下午写一个MySQL的嵌套查询语句的时候,出现错误Every derived table must have its own alias,还好我认识alias这个单词,不然又得被它坑一会儿了。意思就是说每个派生出来的表都必须有它自己的别名。比如select count(*) from (select * from tableName) as a;你不能写成select coun...原创 2018-05-13 18:40:35 · 338 阅读 · 0 评论 -
使用JDBC连接数据库,查询条件有中文时无结果
今天在写代码时,使用JDBC连接MySQL数据库,在servlet中写好sql语句后,启动tomcat在浏览器打开,输入查询条件发现没有查询到任何东西,看看控制台发现没有报错。那这个时候能想到的应该就是编码问题了。我的request和response以及其他的东西都设置成了utf-8编码,包括数据库、表和字段。心累。后来发现原来JDBC的url中也得设置一下编码。遂改成如下格式priv...原创 2018-05-04 16:27:46 · 1286 阅读 · 0 评论 -
MySQL存储过程详解 mysql 存储过程
原文链接http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html1.存储过程简介我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一转载 2017-08-06 10:56:52 · 420 阅读 · 0 评论