【MySQL高级】
文章平均质量分 90
痴书先生
静以修身,俭以养德
展开
-
Docker容器安装mysql 8 教程
Docker 安装MySQL8容器全面总结篇,原创 2023-08-17 11:21:19 · 2658 阅读 · 0 评论 -
教你30分钟学会优化SQL
SQL执行计划背景:实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描表、怎样使用索引的,因此,我们能感知到的就只有sql语句运行的时间,在数据规模不大时,查询是瞬间的,因此,在写sql语句的时候就很少考虑到性能的问题。但是当数据规模增大,如千万、亿的时候,我们运行同样的sql语句时却发现迟迟没有结果,这个时候才知道数据规模已经限制了我们查询的速度。所以,查询优化和索引也就显得很重要了。引出的问题:当我们在查询前能否预先估计查...转载 2021-03-23 23:46:56 · 201 阅读 · 0 评论 -
数据库设计中的14个技巧
1. 原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工...转载 2019-12-09 14:59:28 · 108 阅读 · 0 评论 -
MySQL优化原理
说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型….. 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑中构建一幅MyS...转载 2018-11-23 09:05:18 · 134 阅读 · 0 评论 -
MySQL数据库取消只允许SSH连接和恢复SSH连接
刚刚安装的数据库是只允许本地连接的,这时候如果想用 navicat 连接数据库的话就得用 SSH 连接模式取消SSH连接:如果需要给mysql开启远程连接的权限mysql> use mysql; mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%(%表示任何电脑,也可以指定ip,指定ip不用写%)' IDENTIFIED BY '...原创 2018-12-06 17:14:14 · 2395 阅读 · 0 评论 -
关于mysql数据库的用户权限问题总结
按照我的步骤,你一定可以学会如何设置mysql用户权限问题,我是敢于打包票的,下面的每一条命令我都给解释清楚!这里不仅列出所有权限问题,还给列出了很多常用命令,可以学习一下的。查看mysql的版本:mysql> select version();+------------+| version() |+------------+| 5.5.60-log |+-------...原创 2018-12-09 22:03:34 · 1275 阅读 · 0 评论 -
谈谈对数据库事务(基本属性、隔离级别)的理解以及spring事务传播行为的理解---Transaction
Transaction 也就是所谓的事务了,通俗理解就是一件事情。从小,父母就教育我们,做事情要有始有终,不能半途而废。事务也是这样,不能做一般就不做了,要么做完,要么就不做。也就是说,事务必须是一个不可分割的整体,就像我们在化学课里学到的原子,原子是构成物质的最小单位。于是,人们就归纳出事务的第一个特性:原子性(Atomicity)。我靠,一点都不神秘嘛。特别是在数据库领域,事务是一个非常...原创 2019-03-03 21:31:49 · 339 阅读 · 0 评论 -
MySql数据库索引介绍
写在前面 数据库索引对我们来说是透明的,因为数据库表创建索引前后,SQL语句都可以正常运行,索引的运用只是数据库引擎工作时候的优化手段。但是,这并不是说数据库索引仅仅是数据库设计开发人员和运维人员的事情,对于一个测试人员,如果对数据库中已有的索引有所了解,可以对测试过程中发现的涉及数据库操作的问题进行深入分析,知其所以然。 什么是索引 索引是一种特殊的文件(MySql...原创 2019-05-27 17:08:27 · 7929 阅读 · 4 评论 -
如何解决linux下mysql的中文乱码问题(受mysql版本影响的哦!)
经过一个小时的忙活,终于解决了linux下mysql中文乱码问题,特此记录一下,便于以后查阅首先看下编码:登录mysql看到两处latin1字符集,故需要修改字符集第一步:复制出来原来的文件,mysql的版本不同,配置文件的名称也不同,此处只是总结两种,大家在看本文的时候切记注意版本cp/usr/share/mysql/my-huge.cnf /etc/my.cnf ...原创 2019-07-24 19:32:44 · 258 阅读 · 0 评论 -
表之间不用连接方式和左连接的对比发现
之前脑子一直有点混沌,或者某一个时刻明白,但是过一段时间又忘了,今天特地记录下,以免再糊涂了!1.建表语句:部门表:DROP TABLE IF EXISTS `tbl_dept`;CREATE TABLE `tbl_dept` (`id` int(11) NOT NULL AUTO_INCREMENT,`deptName` varchar(30) DEFAULT NULL...原创 2019-08-02 15:26:14 · 534 阅读 · 0 评论 -
Mysql的sql查询顺序总结篇
手写SQL顺序:#手写sql的顺序select distinct <select_list> from <left_table> <join_type> join <right_table> on <join_condition> ...原创 2019-07-25 20:20:51 · 541 阅读 · 0 评论 -
SQL JOINS的7种结构(SQL语法以mysql为例)
一、建表语句部门表:DROP TABLE IF EXISTS `tbl_dept`;CREATE TABLE `tbl_dept` ( `id` int(11) NOT NULL AUTO_INCREMENT, `deptName` varchar(30) DEFAULT NULL, `locAdd` varchar(40) DEFAULT NULL, PRIM...原创 2019-08-02 10:49:37 · 298 阅读 · 0 评论 -
SQL JOINS的7种结构
练武不练功,到老一场空!真枪实战学SQL举例说明如下:一、建表sql如下:员工表:CREATE TABLE `employee` ( `id` INT(10) NOT NULL, `emp_name` VARCHAR(50) NULL DEFAULT NULL, `emp_dept` INT(10) NULL DEFAULT NULL, ...原创 2019-08-06 18:57:02 · 249 阅读 · 0 评论 -
关于union和join区别和联系
nion和join是需要联合多张表时常见的关联词,具体概念我就不说了,想知道上网查就行,因为我也记不准确。先说差别:union对两张表的操作是合并数据条数,等于是纵向的,要求是两张表字段必须是相同的(Schema of both sides of union shouldmatch.)。也就是说如果A表中有三条数据,B表中有两条数据,那么A union B就会有五条数据。说明一下union 和...转载 2015-08-29 17:07:33 · 1136 阅读 · 2 评论 -
什么是 metadata (元数据)
1. 什么是元数据 任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等。在集群文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在集群中的位置。用户需要操作一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性。 2. 元数据管理方...转载 2015-08-06 19:07:55 · 1616 阅读 · 0 评论 -
什么是存储过程?
存储过程:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集, 存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存...转载 2015-07-30 20:30:16 · 395 阅读 · 0 评论 -
Oracle中的NVL函数
在Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。下面简单介绍一下几个函数的用法。介绍这个之前你必须明白什么是oracle中的空值null1.NVL函数NVL函数的格式如下:NVL(expr1,expr2)含义是:如果oracle第一个...原创 2015-08-06 17:56:16 · 633 阅读 · 0 评论 -
MongoDB和Redis区别
简介MongoDB更类似MySQL,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询JSON数据,能存储海量数据,但是不支持事务。mysql在大数据量时效率显著下降,mongodb更多时候作为关系数据库的一种替代。内存管理机制Redis数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的LRU算法删除数据。MongoDB数据存在内存,由Linux系统mmap...转载 2017-06-30 17:25:50 · 202 阅读 · 0 评论 -
NoSQL
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。虽然NoSQL流行语火起来才短短一...原创 2017-06-30 17:25:07 · 4415 阅读 · 0 评论 -
mysql更换版本后,数据data文件夹导入
更换版本后没有备份.sql文件,会碰见mysql服务启动不了,但是这时候需要把数据库中的文件取出来,这时候该如何进行处理呢?其实很简单: 1.在cmd下 停止mysql服务. 运行--> cmd -->键入 : net stop mysql;第二种方式就是控制面板--管理工具--服务--(关闭mysql服务即可) 2.只需要把的da...原创 2017-12-01 11:10:48 · 6785 阅读 · 3 评论 -
mysql 8.0的完美安装及连接Navicat客户端(全网独此一篇!!!)---整合篇
首先跟大家唠一唠家常,随着MySQL迅速的更新,MySQL突飞猛进已经更新到了8.0版本,那么它和我们之前用的5.X版本有什么明显的区别那?首先给大家看下MySQL5.X自带表的查询速度之后献上MySQL8.0的自带表的查询速度一样的数据结果显而易见,MySQL8.0的坑我是走了个遍,为了让大家少走弯路,献上以下手动安装方法1. 官网下载并解压我下载了mys...原创 2018-10-08 10:14:51 · 12658 阅读 · 5 评论 -
mysql8.0遇到的问题总结及解决方法
1.我是在用springboot+mybatis的时候,连接数据库进行测试web简单应用时出现的坑:①首先是遇到MySQL8.0的密码问题,密码要包含大写字母,小写字母,数字,特殊符号。我原来是#号开头的密码,然后在springboot的配置文件yml中,始终显示灰色,后来发现原来#号相当于注释了,本来想转义的,不好用,一直报错,所以改密码是当务之急。好几种策略都改不了,最后找到合适的了,记录...原创 2018-11-07 17:16:59 · 3002 阅读 · 2 评论 -
Mysql分库分表方案
Mysql分库分表方案 1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对...转载 2018-08-20 15:03:03 · 6933 阅读 · 0 评论 -
内连接,外链接(左连接、右连接、全连接),交叉连接大总结
1.什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据。 目的:实现多个表查询操作。 2.分类: 首先划分一下,连接分为三种:内连接、外连接、交叉连接 内连接(INNER JOIN): 分为三种:等值连接、自然连接、不等连接 外连接(OUTER JOIN): 分为三种...转载 2017-09-28 13:55:48 · 1910 阅读 · 0 评论 -
sql实例大全
from:http://www.cnblogs.com/yubinfeng/archive/2010/11/02/1867386.html自己在数据库练习练习吧 一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 devic...转载 2017-09-28 13:02:25 · 1264 阅读 · 0 评论 -
SQL语句面试题目:一般查询和高级子查询
几个表employees 表: EMPLOYEE_ID NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME VARCHAR2(25) EMAIL VARCHAR2(25) PHONE_NUM...转载 2017-09-20 13:32:24 · 448 阅读 · 0 评论 -
oracle中插入数据出现错误:ORA-02291: 违反完整约束条件 (SCOTT.FK_SX9MLJB8T3FWB40GVCSKHYSYT)- 未找到父项关键字
总体说说可能出现的原因:情况场景:表A中有个字段是外键,关联了表B中的某字段,再往表A插入数据时,会出现这种情况。可能原因:1.插入的数据 如果某个字段是外键 那么该值要么为空 要么在主键表中 有对应的主键值否则 就不满足参照完整性约束 所以你肯定插入了 不存在的主键值 所以产生了这个错误 eg.创建A表 创建B表 向A表插入数据...原创 2016-05-17 12:05:39 · 1897 阅读 · 0 评论 -
几种导出oracle中的数据为dmp文件的方法
第一种:第一步:选中你想要导出的表,如图,右键点击导出数据,第二步:选择导出的路径和设置下方的文件名,点击导出即可第二种:利用PL/SQL Developer工具导出:菜单栏---->Tools---->Export Tables,设置相关参数即可,其实你会发现,这两种其实结果页面是一样的。只是方式不一样而已。第三种:利用cmd的操作命令导出,详情如下(备注:方原创 2015-09-09 17:29:27 · 1493 阅读 · 0 评论