MySQL
基础入门
墨菲墨菲
打铁还需自身硬,无须扬鞭自奋蹄。
展开
-
truncate 和delete删除表格的区别
truncate只保留表结构,不能回滚撤销,执行效率较高delete可以清除表中几条或者全部信息,不影响表结构,执行效率较低,在执行【提交】之前,可回滚撤销可回滚撤销...原创 2020-04-29 21:36:47 · 321 阅读 · 0 评论 -
Hive 内置函数速查表
关系、数学及逻辑运算符、数值计算、日期函数、条件函数、字符串函数、聚合函数、高级函数及窗口函数等。原创 2020-04-28 10:29:10 · 410 阅读 · 0 评论 -
HCIA-GaussDB 华为认证数据库工程师
// An highlighted block...转载 2020-04-25 12:18:51 · 3908 阅读 · 0 评论 -
华为 Gauss数据库十问
自2019年5月15日正式发布以来,华为GaussDB数据库受到业界的广泛关注。针对客户和读者的反馈,我们整理了关于GaussDB数据库的十个热点问题,让您能够快速一览华为GaussDB数据的“庐山真面”。1、GaussDB的命名有什么含义?GaussDB是华为数据库产品品牌名,意在致敬数学家高斯(Gauss)。GaussDB系列数据库产品包括GaussDB OLTP数据库和GaussDB O...转载 2020-04-23 15:28:08 · 1299 阅读 · 1 评论 -
NoSQL文档存储
文档存储是NoSQL的范畴原创 2020-04-15 21:42:15 · 510 阅读 · 0 评论 -
MySQL原子DDL认知
说起原子,是不是想起了事物控制呢?原创 2020-04-15 16:19:28 · 352 阅读 · 0 评论 -
MySQL默认字符集utf8mb4认知
本节目标1.熟悉utf8mb4介绍测试数据drop table if exists word_test;create table word_test( word varchar(100));insert into word_test values('康熙');insert into word_test values('實');insert into word_test v...原创 2020-04-15 15:31:11 · 497 阅读 · 0 评论 -
Navicat无法连接mysql8.0的问题解决
连接错误原因及解决办法具体步骤1.登录navacat查看连接数据库的信息鼠标右键MySQL查看2.通过dos窗口登录进入数据库,并输入指令alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘123456’;3. 刷新权限flush privileges;4.navicat重新连接,成功...原创 2020-04-15 14:45:34 · 1518 阅读 · 0 评论 -
了解MySQL8.0新特性
本节目标1.了解MySQL8.02.了解MySQL8.0的特性常用图像界面管理工具MySQL简介MySQL新特性原创 2020-04-15 12:26:41 · 246 阅读 · 0 评论 -
MySQL中Windows下my.ini.配置文件修改后无法启动的问题解决
本节目标1.掌握如何解决my.ini配置文件修改后无法启动的问题net stop mysql80配置文件my.ini的默认路径C:\ProgramData\MySQL\MySQL Server 8.0防止出错,拷贝一份复制到桌面,另存为的方式要保存为ANSInet start mysql80解决问题...原创 2020-04-15 12:05:01 · 2905 阅读 · 0 评论 -
MySQL审计功能认知:谁在什么时间做什么
发现数据库被别人动过,要查询什么时候做了什么事。原创 2020-04-15 10:59:46 · 260 阅读 · 0 评论 -
MySQL如何恢复误删的数据?
常在河边走,哪有不湿鞋。原创 2020-04-15 08:02:30 · 12367 阅读 · 3 评论 -
黑客常说的SQL注入是什么?
漏洞虽小,不可不防。原创 2020-04-14 21:14:07 · 422 阅读 · 0 评论 -
MySQL字符集认知
本节目标1.了解什么是字符集2.了解MySQL支持的字符集3.掌握如何给数据库/表/字段设置字符集【重点】什么是字符集?设置字符集MySQL默认的utf8mb4占4个字节,utf8占3个字节,utf8mb4比utf8多可以表示了emoji表情mysql> show character set;+----------+----------------------------...原创 2020-04-12 17:51:37 · 285 阅读 · 0 评论 -
MySQL导入数据的两种方式
学习如何把备份好的数据恢复到数据库来原创 2020-04-12 17:13:55 · 928 阅读 · 0 评论 -
MySQL定时备份数据库
导出数据,目的就是备份数据库。定时备份数据库太重要了!原创 2020-04-12 11:45:00 · 515 阅读 · 0 评论 -
MySQ导出数据的3种方式
不管是MySQL或者是其他数据库,数据库的安全性十分重要,导出数据导入数据都是至关重要的。原创 2020-04-11 21:17:59 · 839 阅读 · 0 评论 -
MySQL复制表3种方式
本节目标1.掌握MySQL复制表的几种方式复制表,即备份表,给我们在操作表的时候,留一条后路复制表的三种方式:1.只复制表结构create table tableName like someTable;2.只复制表数据create table tableName select * from someTable;3.复制表结构+数据create table tableName li...原创 2020-04-11 12:46:18 · 4468 阅读 · 0 评论 -
MySQL查询缓存认知
MySQL8.0的查询缓存已经被删除, 因此本节主要了解什么是查询缓存很多数据库产品都能够缓存查询的执行计划,对于相同类型的SQL就可以跳过SQL解析和执行计划分成阶段,MySQL在某种场景下也可以实现,但是MySQL哎呦另一种不同的缓存类型:缓存完成的select查询结果,也就是查询缓存。为什么缓存这么重要,数据库居然不用查询缓存呢?原因在于,我们能够对其进行控制的地方太少了,以至...原创 2020-04-11 11:52:23 · 243 阅读 · 0 评论 -
MySQL预处理(绑定变量),基本操作
本节目标1.了解什么是预处理2.了解预处理的优势3.掌握预处理的基本使用什么是预处理?预处理的优势软件开发php或者是java基本都会用到预处理,但是都并不复杂预处理的使用定义预处理语句prepare stmt_name from preparable_stmt;执行预处理语句execute stmt_name [using @var_name [,@var_name]...原创 2020-04-11 10:46:08 · 728 阅读 · 0 评论 -
MySQL触发器实战:给新用户发邮件
本节目标1.了解什么是触发器2.掌握触发器的基本使用3.触发器实战:给新用户发邮件【重点】什么是触发器?实战触发器,trigger,用于【监视某种情况】并【触发某种操作】,它是与表时间相关的特殊的【存储过程】,它的【执行不是由程序调用】,而是【由事件来触发】。例如,当对某一张表进行insert,delete,update操作室就会触发执行它。创建触发器语法create tr...原创 2020-04-10 17:48:54 · 1254 阅读 · 5 评论 -
MySQL存储过程:模拟给指定用户发邮件通知
上一篇文章的存储过程没有对SQL语句进行一个封装本文在存储过程中操作其他表目标:掌握存储过程的应用测试数据及需求描述drop table if exists user_info;drop table if exists email_info;create table user_info( id int not null auto_increment primary key, n...原创 2020-04-10 11:16:31 · 664 阅读 · 0 评论 -
MySQL存储过程的定义和基本使用
本节目标1.了解什么是存储过程2.掌握存储过程的基本使用【重点】什么是存储过程Stored Procedure 是为了完成特定功能的SQL语句集,经【编译创建】并保存在数据库中,用户可通过指定存储过程的名字给定参数(需要时)来调用执行,类似于编程语言中的方法或函数。存储过程的优点:1.存储过程是对SQL语句的封装,增强可复用性2.存储过程可以隐藏复杂的业务逻辑、商业逻辑3.存储...原创 2020-04-10 10:18:54 · 780 阅读 · 0 评论 -
MySQL视图
本节目标1.了解什么是视图2.掌握视图的基本操作【重点】什么是视图?视图是一个虚拟表,其内容由select查询语句定义,和真实的表一样,视图也包含行和列,【对视图的操作与对表的操作基本一致】,视图中的数据是在使用视图时动态生成,视图中的数据是在使用视图时动态生成,视图中的数据都存储在基表中。视图有什么用?视图表的基本操作视图表的数据变化会影响到基表,基表的数据变化也会影响视图表。...原创 2020-04-09 14:56:17 · 288 阅读 · 0 评论 -
MySQL分区表
分区表1.了解什么是分区表2.了解分区表的好处3.熟悉分区表的几种类型4.掌握分区表的操作【重点】提醒:分区是应用在百万千万级或亿级数据库一般的数十万信息不用用到分区,索引优化已经够用什么是分区表?分区表的好处分区表的四种类型用的最多的Range分区Range分区是基于属于一个给定连续区间的列值,把多行分配给分区#Range分区示例create table us...原创 2020-04-08 21:53:32 · 239 阅读 · 0 评论 -
MySQL事务控制
MySQL高级进阶1.了解什么是事务控制2.熟悉事务的特性3.掌握事务控制的作用【重点】什么是事务?事务的四个特性原子性:原子,不可再分割MySQL的事务控制实际演练:银行转账的例子查看自动提交是否开启,默认为1,开启状态。select @@autocommit;开启一个事务start transaction;张三给李四转账100update bank_accou...原创 2020-04-07 15:56:59 · 659 阅读 · 0 评论 -
MySQL覆盖索引
目标1.熟悉什么是覆盖索引2.掌握如何判断使用了覆盖索引什么是覆盖索引?如何判断使用了覆盖索引验证使用了id进行查询,主键索引explain select * from employee where id =13\G;mysql> explain select * from employee where id =13\G;***********************...原创 2020-04-06 22:03:05 · 276 阅读 · 0 评论 -
MySQL复合索引前导列特性
复合索引前导列特性在有些文章中也称之为【索引的最佳左前缀特性】叫什么不重要,重要的是要理解他,会去运用他----柳峰老师【重点】创建一个复合索引create index idx_name_salary_dept on employee(name,salary,dept);查询数据mysql> explain select * from employee where name...原创 2020-04-06 21:11:41 · 459 阅读 · 0 评论 -
MySQL索引的基本使用
目标1.了解索引及其使用2.熟悉常见的索引种类3.掌握索引的基本使用【重点】4.掌握索引的实战经验什么是索引?索引是一种特殊的数据结构,类似于图书的目录,他能够极大地提升数据库查询效率。如果没有索引,在查询数据时必须扫描表中的所有记录才能找出符合条件的记录,这种【全表扫描的查询效率非常低】举例:楼层索引,字母索引常见索引种类:需要注意的是,不是索引越多越好索引的使用...原创 2020-04-06 20:45:42 · 218 阅读 · 0 评论 -
MySQL查询分析器EXPLAIN
explain介绍位置:放在SQL语句的最前面,如 explain select * from table;格式化输出,在尾部加上\Gexplain结果解析type,连接类型越往左边是越好的,all代表进行了全表扫描rows是扫描的行数fileter 一般来说100最理想对比:结论:显然下面通过id主键进行查询的效果要好...原创 2020-04-06 17:43:47 · 481 阅读 · 0 评论 -
MySQL慢查询日志
背景数据库系统使用了一段时间,变慢,怎么做?有问题,找出问题,分析问题,解决问题可能情况:没有建立索引,没有进行优化目的1.了解MySQL的日志类型2.掌握如何开启慢查询日志【重点】日志的作用是什么?根据日志来解决数据库故障等问题认识慢查询日志开启慢查询日志查看慢查询日志文件名mysql> show variables like ‘%slow%’;同时可以看...原创 2020-04-06 17:33:40 · 288 阅读 · 0 评论 -
MySQL忘记root用户密码的解决方法
MySQL忘记root密码解决办法如果只是忘记了普通用户的密码,只需要使用root登录后,进行修改即可,但是,如果忘记了root的密码,该怎么解决?关闭MySQL服务–>重启MySQL时【关闭权限验证】–>修改root密码–>正常启动MySQL服务net stop mysql80或者win+R,输入services.msc查看相关文件路径命令show vari...原创 2020-04-05 11:32:05 · 395 阅读 · 0 评论 -
MySQL禁止Root用户远程登录
为什么要禁止root远程登录在实际工作中,公司的DBA都会设置禁止root用户远程登录1.root是MySQL数据库的管理员,几乎拥有所有权限,一旦泄露后果非常严重2.root是MySQL数据库的默认用户,所有人都知道,不过不禁止远程登录,可以针对root用户暴力破解密码user表在mysql数据库下面,使用mysql数据库use mysqlselect user,host from ...原创 2020-04-05 11:29:47 · 5051 阅读 · 0 评论 -
MySQL用户管理与权限管理
DCL数据控制语言1.进一步认识DCL2.掌握用户管理的相关操作DCL,主要用于管理用户和权限,在企业中,这部分工作通常是由DBA完成,一般开发人员很少接触。总结功能;1.创建用户2.删除用户3.修改密码4.给用户赋予权限5.撤销用户权限权限体系我们之前用的都是在root权限下面,权限非常大,在实际应用中我们不能这样做1.进入数据库mysql -h localh...原创 2020-04-05 11:26:47 · 404 阅读 · 0 评论 -
子查询EXISTS和IN的使用
1.掌握子查询in的使用2.掌握子查询exists的使用之前已经知道了运算符IN,它允许我们在WHERE子句中过滤某个字段的多个值。where子句使用in语法select column_name from table_name where column_name in (value1,value2)如果运算符IN后面的值是来源于某个查询结果,并非是指定的几个值,这时就需要用到子查询。...原创 2020-04-03 20:28:58 · 1507 阅读 · 0 评论 -
表的自连接
什么是自连接?自连接是一种特殊的表连接,它是指相互连接的表在物理上同为一张表,但是逻辑上是多张表,自连接通常用于表中的数据有层次结构,如区域表、菜单表、商品分类表等。查询该城市属于哪一个省份select A.id,A.name as CityName,B.name as ProvinceNamefrom area A,area Bwhere A.pid=B.id and A.pid&...原创 2020-04-03 14:41:14 · 2193 阅读 · 0 评论 -
MySQL表的内外连接
内外连接1.熟悉表连接的几种方式2.熟悉几种表连接的区别3.掌握多表连接查询【重点】什么是表连接?表连接(JOIN)是在多个表之间通过一定的连接条件,使表之间发生关联,进而能使多个表之间获取数据。【重点】内连接取交集【重点】左连接,把没有成绩的也显示出来表连接语法:select table1.column,table2.columnfrom table1,table2w...原创 2020-04-03 12:16:13 · 324 阅读 · 0 评论 -
使用distinct去除重复数据
使用Distinct去除重复数据distinct用于在查询中返回列的唯一不同值(即去重复),支持单列或多列。在实际的应用中,表中的某一列含有重复值是很常见的,如employee员工表的dept部门列。如果在查询数据时,希望得到某列的所有不同值,可以使用distinct。distinct 语法select 【distinct】 column_name1,column_name2from ...原创 2020-04-03 12:08:02 · 3764 阅读 · 0 评论 -
Group_Concat函数的使用
1.熟悉group_concat的应用场景2.掌握group_concat的使用使用group by可以分组统计每个部门有多少员工。假如,除了统计每个部门的员工数量之外,还想知道具体是哪些员工,即员工列表,又该如何实现呢?group_concat 配合group by一起使用,用于将某一列的值按指定的分隔符进行拼接,MySQL默认的分隔符为逗号。#group_concat语法grou...原创 2020-04-01 22:34:53 · 807 阅读 · 0 评论 -
Group By和Having的使用
1.掌握group by的应用场景和使用2.掌握having的应用场景及使用我们已经掌握使用select语句结合where查询条件获取需要的数据,但在实际的应用中,还会遇到下面这类需求,又该如何解决呢?1-公司想知道每个部门有多少名员工2-班主任想统计各科第一名的成绩3-某门店想掌握男、女性会员的人数及平均年龄从字面上理解,group by 表示根据某种规则对数据进行分组,它必须配合...原创 2020-04-01 22:32:54 · 403 阅读 · 0 评论