![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL数据库
知而无涯
一起交流
展开
-
Can't connect to local MySQL server through socket 'var/lib/mysql/mysql.sock' (2)
一:bug截图[root@server2 hive1.21]# mysql -uroot -pEnter password:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)二:原因分析mysql是否启动成功...原创 2019-12-09 22:07:29 · 266 阅读 · 0 评论 -
Linux上的MySQL重新设置密码
作用是登陆时跳过登陆认证,换句话说就是root什么密码都可以登陆进去,然后:wq保存退出后,用service mysqld restart重启mysql。1:开启mysql服务service mysql start2:使用原密码登录mysql -u root -p1234563:选择数据库use mysql;4:进行密码更改update user set passw...原创 2019-11-29 16:59:53 · 404 阅读 · 0 评论 -
数据库表设计之范式解析
数据库表设计(3 Nomal Format )1:概述范式:Nomal Format 是一种离散数学中的知识,是为了解决数据的存储于优化的问题,保存数据的存储之后,凡是能够通过关系寻找出来的数据,坚决不再重复存储,作用是为了减少数据的冗余目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五原创 2017-11-22 19:14:38 · 350 阅读 · 0 评论 -
MySQL流程图详解分析
MySQL流程1:MySQL流程图2:MySQL的流程分析1.连接 1.1客户端发起一条Query请求,监听客户端的‘连接管理模块’接收请求 1.2将请求转发到‘连接进/线程模块’ 1.3调用‘用户模块’来进行授权检查 1.4通过检查后,‘连接进/线程模块’从‘线程连接池’中取出空闲的被缓存的连接线程和客户端请求对接,如果失败则创原创 2017-11-17 02:30:56 · 4599 阅读 · 0 评论 -
MySQL的视图详解
视图1:概述1:视图:view,可以理解为一种有结构(二维表),但是这个结构中不真实存放着数据,虚拟表的结构来源不是自己定义,而是从对应的基表(视图的数据来源)中产生的2:视图是MySQL5.0版本之后开始引入的,视图本身是一个虚拟表,不能对视图创建触发器,也不能使用DROP和table命令删除视图3:视图是从数据库中一个或多个表中导出来的表,视图还可以从已经存在的原创 2017-11-17 02:11:39 · 323 阅读 · 0 评论 -
存储过程的优缺点
存储过程的优缺点1:优点1:存储过程极大的提高SQL语言的功能和灵活性存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。2:可保证数据的安全性和完整性1:通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。 2:通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。3:极原创 2017-12-09 23:26:53 · 19279 阅读 · 0 评论 -
MySQL存储函数和存储过程的区别
存储过程与存储函数的区别1:存储函数和存储过程统称为存储例程(store routine),存储函数的限制比较多,例如不能用临时表,只能用表变量,而存储过程的限制较少,存储过程的实现功能要复杂些,而函数的实现功能针对性比较强2:返回值不同存储函数必须有返回值,且仅返回一个结果值存储过程可以没有返回值,但是能返回结果集(out,inout)3:调用时的不同原创 2017-11-22 13:53:08 · 4447 阅读 · 0 评论 -
MySQL函数解析及案例演示
MySQL函数1:概述1:将一段代码封装到一个结构中,在需要执行代码块的时候,调用结构执行即可,提高代码的复用性2:系统函数系统定义好的函数,直接调用即可,任何函数都有返回值,因此函数的调用通过select调用MySQL中,字符串的基本操作单位(最常见的是字符)1:substring: 字符串截取(字符为单位)案例演示定义两个变量原创 2017-11-22 11:43:17 · 445 阅读 · 0 评论 -
MySQL函数的作用域
MySQL函数的作用域1:MySQL中的作用域同js中的作用域一样,全局变量在任何地方都可以使用,局部变量只能在函数内部中使用2:SQL语法1:全局变量使用set关键字定义 使用@符合标志2:局部变量使用declare关键字声明,没有@符合,所有的局部变量必须函数体前声明3:案例Demo业务需求:1-指定数值之间的和,要求5的倍数不加原创 2017-11-22 11:48:38 · 808 阅读 · 0 评论 -
定位慢查询(常用命令)
定位慢查询(常用命令)在默认的情况下,MySQL认为10秒才是一个慢查询,用存储函数构建一个数据表(1000万)1:查看慢SQL是否启用show variables like 'log_slow_queries'; 如果为OFF表示被禁用了2:开启慢查询命令set global log_slow_queries = on;原创 2017-11-23 10:59:20 · 3596 阅读 · 0 评论 -
索引的注意事项和原理分析
索引的原理(注意事项)1:哪些列适合创建索引较频繁的作为查询条件字段应该创建索引select * from emp where empno = 1唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件select * from emp where sex = '男‘ -->性别就男,女,二叉树都是平级,就两个数据,没有意义更新非常频繁的字段不适合创原创 2017-11-25 13:59:37 · 1231 阅读 · 0 评论 -
主键索引的创建
主键索引当一张表,把某个列设为主键的时候,则该列就是主键索引1:添加索引1:主键索引(创建表时添加)CREATE TABLE Primary_key(id INT UNSIGNED COMMENT '无符号' PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(32) NOT NULL DEFAULT ' ');原创 2017-11-25 14:01:27 · 23363 阅读 · 1 评论 -
MySQL全文索引
全文索引(Fulltext)全文索引 主要是应用于文本文件,全文索引针对MyISAM搜索引擎有效1:创建表CREATE TABLE articles (id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,title VARCHAR(200),body TEXT,FULLTEXT (tit原创 2017-11-25 14:05:18 · 439 阅读 · 0 评论 -
浅谈索引优化
索引的优化一:应用场景(千万条数据)说起提高数据库性能,索引是最物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行个正确的’create index’,查询速度就可能提高百倍千倍,这可真有诱惑力。可是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的I/O。二:概述1:索引(在MySQL中也叫做原创 2017-11-25 14:22:48 · 386 阅读 · 0 评论 -
MySQL表复制
1:MySQL的表复制准备表t_copy数据1:创建表t_copy2:插入数据1:复制表结构(包括主键自增)create table 表2 like 表12:复制表数据(表结构必须相同)insert into 表2 select * from 表1 *注意是否是相同的列原创 2017-11-26 11:37:46 · 171 阅读 · 0 评论 -
mysql存储过程案例(插入100条数据)
MySQL的存储过程1:概述1:是一种用来处理数据的方式,存储过程是一种没有返回值的函数2:存储过程和函数是事先经过编译并存储在数据库的一段SQL语句的集合,调用存储过程和函数可以简化开发人员的许多工作,减少时间在数据库和应用服务器直接的传输,能够提高数据处理的效率3:存储过程和函数的区别在于存储函数必须有返回值,而存储过程没有返回值,但是存储过程的参数可以使用IN原创 2017-11-26 17:23:26 · 22563 阅读 · 0 评论 -
mysql事务还原点操作
MySQL的事务处理1:概述MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!2:常用操作1:关闭自动提交set autocommit =0;2:删除部分表记录delete from原创 2017-11-26 17:26:06 · 1034 阅读 · 0 评论 -
MySQL预处理语句深入分析
MySQL预处理语句1:概述1:MySQL客户端/服务器协议提供了预处理语句。该功能采用了由mysql_stmt_init()初始化函数返回的MYSQL_STMT语句处理程序数据结构。对于多次执行的语句,预处理执行是一种有效的方式。首先对语句进行解析,为执行作好准备。接下来,在以后使用初始化函数返回的语句句柄执行一次或多次。2:Mysql4.1 及更高版本支持服务器端的准备原创 2017-11-26 17:27:47 · 2106 阅读 · 0 评论 -
深入分析MySQL事务隔离级别
事务的隔离级别数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。隔离级别脏读不可重复读幻读读未提交(Rea转载 2017-11-27 20:18:58 · 276 阅读 · 0 评论 -
MySQL函数的参数
MySQL函数的参数1:参数分为两种:定义时的参数叫形参,调用时的参数叫实参(实际实参可以是数值也可以是变量)2:SQL语法Create Function 函数名(形参名字 字段类型) returns 数据类型3:案例演示业务需求;计算出1-指定数值之间的和DELIMITER $$CREATE FUNCTION method(int_1 IN原创 2017-11-22 11:46:06 · 11496 阅读 · 0 评论 -
MySQL触发器实例(记录触发器)
MySQL:记录触发器1:概述1:不管触发器是否触发,只要当某种操作准备执行,系统就会将当期要操作的记录的当期状态和即将执行之后新的状态分别保留下来,提供给触发器使用,其中,要操作当期状态保存到old中,操作之后的可能形态保存给new2:old和new1: old代表的是旧记2: new代表的是新记录3; 删除的时候是没有new(删除后数据为空了)的原创 2017-11-20 16:38:17 · 3571 阅读 · 1 评论 -
mysql触发器的概述和创建案例
触发器1:概述(四要素)1:触发器: trigger 事先为某张表绑定好一段代码,当表中的某些内容发生改变的时候(增删改)系统会自动触发代码执行2:触发器是一类特殊的事务 ,可以监视某种数据操作(insert/update/delete),并触发相关操作(insert/update/delete)。3:触发器四要素2:触发器的常用操作原创 2017-11-20 11:39:49 · 298 阅读 · 0 评论 -
MySQL增加外键的两种方式和案例
MySQL增加外键的两种方式和案例1:增加外键(创建表的时候)CREATE TABLE my_foreign1(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20) NOT NULL COMMENT '学生姓名',c_id INT COMMENT '班级id',FOREIGN KEY(c_id) REF原创 2017-11-11 17:53:00 · 34796 阅读 · 5 评论 -
MySQL的浮点型和定点型解析和案例演示
商品价格存储采用decimal定点型,其精度比单精度的float和双精度的都高,如果实际插入数据的精度大于定义的精度,系统将会自动的进行四舍五入,使其精度达到要求原创 2017-10-21 15:15:54 · 2725 阅读 · 0 评论 -
MySQL的五子句查询和回溯统计
3:五子句1:where子句1:where原理1:用来判断数据:筛选数据,where子句返回结果:0或者1,0代表false,1代表true,所以SQL语句是从1开始的2:where是唯一一个是直接从磁盘获取数据的时候就开始判断的条件,从磁盘取出一条记录,开始进行where判断:判断的结果如果成立就保存到内存中,如果失败则直接放弃2:SQL语法1:所原创 2017-10-01 22:08:34 · 4426 阅读 · 0 评论 -
MySQL主键冲突问题
1:主键冲突,增删改1:主键冲突- on duplicate key update 更新1:基本语法insert into 表名[(字段列表)] values (值列表)在数据插入的时候,假设主键对应的值已经存在,那么插入就会造成失败当主键存在冲突的时候(Duplicate key),可以选择性的进行处理,更新和替换insert into 表名[字段原创 2017-10-01 22:00:20 · 6456 阅读 · 0 评论 -
delete from和truncate删除的区别详解
一:区别1.delete from后面可以写条件,truncate不可以。2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少。3.delete from删空表后,会保留一个空的页,truncate在表中不会留有任何页。转载 2017-10-01 21:36:33 · 5556 阅读 · 0 评论 -
MySQL慢查询配置
1:C:\Program Files (x86)\MySQL下的my.ini文件配置在你的MySQL的安装文件下2:慢查询配置3:进入启动好的MySQL,执行以下命令看是否配置成功show variables like '%slow_query%';原创 2017-10-01 21:29:58 · 211 阅读 · 0 评论 -
MySQL的校对集
关于MySQL的校对集设置原创 2017-09-13 00:23:17 · 1259 阅读 · 0 评论 -
浅析数据库常用的权限管理(授予权限,和撤销权限)
MySQL 赋予用户权限命令的简单格式可概括为:1grant 权限 on 数据库对象 to 用户一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利1234grant select on testdb.*t转载 2017-09-28 10:27:22 · 4026 阅读 · 0 评论 -
MySQL删除外键
1:删除外键1:外键不可修改,只能先删除后新增,外键删除不能通过表结构体现,应该通过查看表创建语句查看2:语法Alter table 表名 drop foreign key 外键名 因为一张表中可以有多个外键,但是名字不能相同ALTER TABLE my_foreign1 DROP FOREIGN KEY my_foreign1_ibfk_1;原创 2017-11-11 17:55:34 · 1054 阅读 · 0 评论 -
存储引擎的对比和适用场景
存储引擎的对比和适用场景1:存储引擎的对比表存储引擎的插入数据的速度,事务安全,锁机制,索引和外键全面对比2:InnoDB存储引擎1:优势InnoDB支持事务处理,支持外键,并且支持崩溃修复能力和并发控制2:缺点批量插入数据效率低下,占用空间大3:适用场景适用于事务的完整性要求比较高,要求实现并发控制的场景下,原创 2017-11-17 20:53:04 · 349 阅读 · 0 评论 -
子查询(exists子查询)
MySQL子查询(exists子查询)1:Exists子查询就是用来判断某些条件是否满足(跨表),Exists是接在where之后,Exists返回的结果只有0和12:返回结果的演示SELECT EXISTS(SELECT * FROM t_student);3:SELECT EXISTS(SELECT * FROM t_student WHERE id=10);原创 2017-11-14 23:19:11 · 15007 阅读 · 0 评论 -
子查询-表子查询
1:子查询(表子查询)1:表子查询:子查询返回的结果是多行多列的二维表(子查询的返回的结果当做一个二维表来使用)2:案例演示需要:找出每个班最高的一个学生1:确定数据源: 先将学生按照身高进行降序排序select * from t_student order by height desc;2:从每个班中选出第一个学生select * from原创 2017-11-14 22:55:10 · 4380 阅读 · 0 评论 -
MySQL的执行流程
MySQL执行流程分析,附图原创 2017-10-13 10:04:34 · 4882 阅读 · 1 评论 -
MySQL的中文乱码编码集解决方案
如何解决MySQL的乱码问题,全面了解MySQL的编码集原创 2017-09-20 15:45:47 · 295 阅读 · 0 评论 -
SQL备份(针对表结构)
SQL备份(针对表结构)1:概述1:备份是SQL语句,系统会对表结构以及数据进行处理,变成对应的SQL语句,然后进行备份,还原的时候只要执行SQL指令即可.2:mysqldump1:MySQL没有提供备份指令,需要利用MySQL提供的软件: mysqldump.exe2:MySQLdump.exe也是一种客户端,需要操作服务器,必须连接认证2:SQL原创 2017-11-18 22:02:15 · 2585 阅读 · 0 评论 -
SQL数据还原
SQL还原数据方式1:(mysql.exe)使用mysql.exe 客户端还原mysql.exe/mysql-hpup 数据库名字mysql -uroot -p123 test 2:方式1案例操作1:先删除表2:SQL数据还原mysqldump -uroot -p123 test >G:/temp1/test.sql原创 2017-11-18 21:59:24 · 259 阅读 · 0 评论 -
MySQL的联合查询深入分析及案例
联合查询1:概述将多次查询(多条select语句),在记录上进行拼接(字段是不会增加的),只要求字段一样,与数据类型无关union:联合的意思,即把两次或多次查询结果合并起来。要求:两次查询的列数必须一致推荐:列的类型可以不一样,但推荐查询的每一列,想对应的类型以一样可以来自多张表的数据:多次sql语句取出的列名可以不一致,此时以第一个sql语句的列原创 2017-11-14 09:23:56 · 297 阅读 · 0 评论 -
深入分析数据库存储引擎
存储引擎1:概述1:表处理器 MySQL提过了一个抽象层,允许不同的存储引擎使用相同的API对表进行访问,这一接口称之为表处理器,该接口通过handler的抽象类来实现,该处理器提供了一些课实现基本存储的方法,如打开关闭表,按照键进行检索,存储记录及删除记录,2:存储引擎1:最近引进存储引擎这一个术语,在现用术语中,存储引擎指的是实际存储和检索数据的代码,而原创 2017-11-17 20:56:35 · 279 阅读 · 0 评论