sql笔记
文章平均质量分 64
会飞的胖达喵
胖达是只爱打架的猫,而且还会飞~
展开
-
int(1)和int(10)的区别
int后面的数字不能表示字段的长度,int(num)一般加上zerofill,才有效果。zerofill的作用一般可以用在一些编号相关的数字中,比如学生的编号 001 002 ... 999这种,如果mysql没有零填充的功能,但是你又要格式化输出等长的数字编号时,那么你只能自己处理了。作者:假装懂编程链接:https://juejin.cn/post/6992574502282477605来源:稀土掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。转载 2022-09-20 13:21:10 · 220 阅读 · 0 评论 -
mysql从binlog恢复数据
导出sql文件复制到本地,导入查看数据可正常\查看数据库woshishujukuming原创 2022-07-12 17:43:34 · 432 阅读 · 0 评论 -
MySQL执行计划extra中的using index 和 using where using index 的区别
本文出处:http://www.cnblogs.com/wy123/p/7366486.html(保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他)mysql执行计划中的extra列中表明了执行计划的每一步中的实现细节,其中包含了与索引相关的一些细节信息其中跟索引有关的using index 在不同的情况下会出现Using index, Using where Using index ,Using index condi.转载 2021-07-16 20:53:34 · 607 阅读 · 0 评论 -
MySQL:好好的索引,为什么要下推?
回表操作这里我们只以 InnoDB 存储引擎作为讲解对象。主键索引主键索引在底层的数据存储是通过 B+ 树来实现的。简单来说,就是除叶子节之外的其他节点都存储的是主键值。而叶子节点上存储的是整行的数据。除了主键索引外,其它的索引都被称为非主键索引。与主键索引不同的是,非主键索引的叶子节点上存储的是主键的值。那让我们再回到刚开始的问题:什么是回表操作?当我们在非主键索引上查找一行数据时,此时的查找方式是先搜索非主键索引树,拿到对应的主键值,再到主键索引树上查找对应的行数据。这种操作就叫作回表操作转载 2021-06-02 10:11:54 · 103 阅读 · 4 评论 -
golang sql注入问题
//图一为sql拼接的方式,不能防止sql注入,比如 "aa or 1=1",会查询出所有的数据sql1="select id,name from table1 where name="var1="kate";drop table table2;sql = sql1+var1 = select id,name from table1 where name="kate";drop table table2;////图二位sql 占位符,占位符 ? 实际生成的结果,变量会被加引号...原创 2021-05-13 18:49:28 · 1384 阅读 · 0 评论 -
mysql的悲观锁和乐观锁
mysql的并发操作时而引起的数据的不一致性(数据冲突):丢失更新:两个用户(或以上)对同一个数据对象操作引起的数据丢失。 解决方案:1.悲观锁,假设丢失更新一定存在;sql后面加上for update;这是数据库的一种机制。 2.乐观锁,假设丢失更新不一定发生。update时候存在版本,更新时候按版本号进行更新。一、乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任转载 2021-02-04 19:20:46 · 163 阅读 · 0 评论 -
mysql中limit后面不能使用运算符
mysql中limit后面不能使用运算符进行分页查询的时候,如果写成以下sql,语句执行会报错:select * from user where id = 123456 and code = 111 and create_date >= 20190101 and create_date <= 20190202 limit (1 - 1) * 1, 20因为mysql中limit后面不能带运算符,只能是常量。解决方法使用concat,动态sql。set @sql转载 2020-10-13 10:21:23 · 6198 阅读 · 0 评论 -
mysql修改字段null为空字符串
修改字段null为空字符串UPDATE zxt_user_examSET type = ( CASE WHEN IFNULL( type, '' ) = '' THEN '' ELSE type END ) WHERE type IS NULL原创 2020-09-30 10:57:15 · 2705 阅读 · 0 评论 -
去重查询
select * from zxt_tiku_user where account in (select account from zxt_tiku_user group by account having count(account) > 1);原创 2020-07-20 09:51:32 · 215 阅读 · 0 评论 -
mysql binlog 常用的命令
因为我在公司里面负责数据同步组件的相关工作,包括构建异地多活的工作,所以,需要先了解一下 MySQL binlog 的相关知识点。由于看过了好几遍了《高可用 MySQL 》 这本经典的书籍了,但还是不能记住一些 binlog 日志的命令,所以,这段时间,先整理一下。把旧债先还了。以后还会更新的啦!FLUSH LOGS该命令强制轮换二进制日志,从而得到一个完整的 二进制日志文件。因为,每个二进...转载 2019-12-18 09:32:24 · 214 阅读 · 0 评论 -
mysql 关于binlog的一些命令
1、show global variables like 'log_bin'; show variables like '%log_bin%';查看是否开启了binlog日志2、查看当前日志是那个文件:show master status;3、查询binlog 变动信息 show binlog events;ps:binlog 日志 除了DQL 一般都会记录S...原创 2019-12-18 09:29:07 · 325 阅读 · 0 评论 -
为 MySQL/MariaDB 开启 Binlog 功能
介绍说到 Binlog 就不得不提一下 MySQL Server 的四种类型的日志:Error Log、General Query Log、Slow Query Log 和 Binary Log 。Error Log即 错误日志,记录 mysqld 发生的一些错误。General Query Log即 一般查询日志,记录 mysqld 正在做的事情,如客户端的连接和断开、来自客户端...转载 2019-12-18 09:24:23 · 1190 阅读 · 0 评论 -
Got a packet bigger than 'max_allowed_packet' bytes(mysql)
mysql 导入数据显示Got a packet bigger than 'max_allowed_packet' bytes 错误show VARIABLES like '%max_allowed_packet%';1、临时修改(下次重启失效)set global max_allowed_packet = 600000002、直接修改修改my.ini文件max_allo...原创 2019-10-29 09:42:56 · 91 阅读 · 0 评论 -
lnmp mysql 10061问题
mysql的默认端口是3306,于是使用telnet连接这个端口,telnet 192.168.1.10 3306还是连接不上,于是怀疑是防火墙问题,便将防火墙关掉,service iptables stop再次telnet,还是没办法连上这个端口,然后通过netstat查看3306的端口状态是怎么样的netstat -apn|grep3306终于发现了一个比较奇怪的东西...转载 2019-10-14 11:32:21 · 127 阅读 · 0 评论 -
group by的用法原理
写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是*,而是某一个列或者某个列的聚合函数,group by 多个字段可以怎么去很好的理解呢?不过最后还是转过来了,简单写写吧,大牛们直接略过吧。=========正文开始=========== ...转载 2019-09-10 17:51:39 · 300 阅读 · 0 评论 -
编写一个 SQL 查询,找出每个部门工资最高的员工。
Employee 表包含所有员工信息,每个员工有其对应的Id, salary 和 department Id。+----+-------+--------+--------------+| Id | Name | Salary | DepartmentId |+----+-------+--------+--------------+| 1 | Joe | 70000 | ...原创 2019-09-10 17:49:07 · 29917 阅读 · 2 评论 -
mysql 集中join的区别
mysql 集中join的区别1、join等价于inner join内连接,是返回两个表中都有的符合条件集合。2、left join左连接,是返回左表中所有的行及右表中符合条件的行,(左表中所有的记录以及右表中连接字段相等的记录)如果右侧没有返回null,返回行数与左边想同3、right join右连接,是返回右表中所有的行及左表中符合条件的行。(右表中所有的记录以及左表中连接字段相等的记...原创 2019-09-10 17:09:09 · 1000 阅读 · 0 评论 -
Mysql中的关联查询(内连接,外连接,自连接)
在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,总结一下mysql中的多表关联查询一,内连接查询是指所有查询出的结果都是能够在连接的表中有对应记录的。以t_employee(员工表)和t_dept(部门表)为例:t_employee表中的记录如下:dept代表该员工所在的部门t_dept表中记录如下:可...转载 2019-08-08 10:15:48 · 422 阅读 · 0 评论 -
查询2019-06-20日 和 2019-06-23 每个商品每天的入库情况
查询'2019-06-20' and '2019-06-23' 每个商品每天的入库情况重点:每个商品、每天的入库情况-- select date,sum(num) from ruku where date>='2017-06-01' and date<'2019-06-24' group by date ;select date_format(date,"%Y-%m...原创 2019-06-21 14:38:13 · 297 阅读 · 0 评论 -
PRIMARY, INDEX, UNIQUE 这3种是一类
PRIMARY, INDEX, UNIQUE 这3种是一类PRIMARY 主键。 就是 唯一 且 不能为空。INDEX 索引,普通的UNIQUE 唯一索引。 不允许有重复。FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。举个例子来说,比如你在为某商场做一个会员卡的系统。这个系统有一个会员表有下列字段:会员编号 INT会员姓名 VARCHAR(10)会员转载 2013-11-25 10:22:58 · 880 阅读 · 0 评论 -
PDO::ATTR_EMULATE_PREPARES
PDO有一项参数,名为PDO::ATTR_EMULATE_PREPARES ,表示是否使用PHP本地模拟prepare,此项参数默认值未知。而且根据我们刚刚抓包分析结果来看,php 5.3.6+默认还是使用本地变量转,拼接成SQL发送给MySQL Server的,我们将这项值设置为false,原创 2016-04-21 10:38:51 · 14365 阅读 · 0 评论 -
在Linux环境下mysql的root密码忘记解决方法 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 2.修改MySQL的登录设置: # vi /etc/my.c
在Linux环境下mysql的root密码忘记解决方法1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。2.修改MySQL的登录设置:# vi /etc/my.cnf在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出3.重新启动mysqld service mysqld restart4.登录并修改原创 2016-07-30 09:28:07 · 560 阅读 · 0 评论 -
windows 自动备份mysql方案
windows 自动备份mysql方案1、batcd C:\Program Files\Huweishen.com\PHPWEB\MySQL Server 5.5\binmysqldump -uroot -ptangshan123_ hrfx > E:\hrfxbackup\bugtracker_back.sqlexit2、计划任务原创 2016-10-11 17:35:54 · 300 阅读 · 0 评论 -
Mysql数据库常用分库和分表方式
转载地址:http://blog.csdn.net/clevercode/article/details/508775801 分库1.1 按照功能分库 按照功能进行分库。常见的分成6大库: 1 用户类库:用于保存了用户的相关信息。例如:db_user,db_system,db_company等。 2 业务类库:用于保存主要业务的信息。比如主要业务是笑话,用转载 2017-03-08 10:00:38 · 347 阅读 · 0 评论 -
mysql大数据量使用limit分页,随着页码的增大,查询效率越低下。
转载地址:http://www.cnblogs.com/lpfuture/p/5772055.html测试实验1. 直接用limit start, count分页语句, 也是我程序中用的方法:select * from product limit start, count当起始页较小时,查询没有性能问题,我们分别看下从10, 100, 1000, 10000开始分页的执行时转载 2017-03-08 10:50:33 · 15258 阅读 · 3 评论 -
MySQL UNION 与 UNION ALL 语法与用法
MySQL UNION 语法MySQL UNION 用于把来自多个 SELECT 语句的结果组合到一个结果集合中。语法为:SELECT column,... FROM table1 UNION [ALL] SELECT column,... FROM table2 ... 在多个 SELECT 语句中,对应的列应该具有相同的字段属性,且第一个 SELECT 语句中被使用的字段转载 2017-03-08 11:07:05 · 2498 阅读 · 0 评论 -
mysql sql优化
事情是这样的,之前的小伙伴碰到一个sql优化的问题,,三个表联查,速度很慢要十几秒,当然这个三个表数据有个几万条的样子,想想不该呀,几万条数据而已,第一反应是索引问题,mysql完全没问题不至于这么慢嘛。SQL : SELECT M.member_id, M.mobile, M. STATUS, U.tj_name, U.appoin原创 2017-03-08 16:47:46 · 566 阅读 · 0 评论 -
MySQL索引类型 btree索引和hash索引的区别
转载地址:http://www.cnblogs.com/osfipin/p/4943229.htmlMySQL索引类型 btree索引和hash索引的区别来源一Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可转载 2017-03-08 16:51:32 · 266 阅读 · 0 评论 -
Btree 索引
索引是帮助数据库高效获取数据的一种数据结构,通过提取句子主干,就可以得到索引的本质。m-way查找树如果想了解Btree,需要首先了解m-way数据结构。m-way查找树是是一种树形的存储结构,主要特点如下,每个节点存储的key数量小于m个每个节点的度小于等于m节点key按顺序排序子树key值要完全小于、大于或介于父节点之间例如,3-way如图,m为3,那么每个节点转载 2017-03-08 16:56:01 · 398 阅读 · 0 评论 -
mysql索引需要了解的几个注意
转载地址:http://thephper.com/?p=142板子之前做过2年web开发培训(入门?),获得挺多学生好评,这是蛮有成就感的一件事,准备花点时间根据当时的一些备课内容整理出一系列文章出来,希望能给更多人带来帮助,这是系列文章的第一篇注:科普文章一篇,大牛绕道索引是做什么的?索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完转载 2017-05-04 09:17:35 · 468 阅读 · 0 评论 -
mysqldump: Got error: 1016: Can't open file: './xxx.frm' (errno: 24) when using LOCK TABLES
mysqldump导出备份数据库的时候出现下面的错误:mysqldump: Got error: 1016: Can't open file: './bdm0140379_db/lady_forumrecommend.frm' (errno: 24) when using LOCK TABLES修改my.conf (我的环境是在etc/my.conf)添加一条open_files_limit ...原创 2018-03-14 01:55:27 · 1028 阅读 · 0 评论 -
-bash: mysql_upgrade: command not found
mysql 5.1升级到5.5 出现1547 column count of mysql.user is wrong错误。执行mysql_upgrade修复表就可以了。执行过程出了问题,显示-bash: mysql_upgrade: command not foundcd /usr/local/mysql/bin./mysql_upgrade -uroot -pxxxxxx执行成功。...原创 2018-03-14 04:49:58 · 4647 阅读 · 0 评论 -
清官谈mysql中utf8和utf8mb4区别
转载地址: http://ourmysql.com/archives/1402utf8mb4可以保存一些表情,然后utf8mb4是utf8的超集,我就记住这些哈下面转载内容一、简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其...转载 2018-04-19 11:34:20 · 345 阅读 · 0 评论 -
mysql主从复制 读写分离
转载地址:http://blog.51cto.com/mailfile/1272623MySQL是开源的关系型数据库系统。复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程MySQL Proxy有一项强大功能是实现“读写分离”,基本原理是让主数据库处理写方面事务,让从库处理SELECT查询。 ...转载 2019-02-11 18:08:17 · 300 阅读 · 0 评论 -
自己总结的sql基本操作
DDL语句:show databases;use dbname;show tables;dorp databasedbname;dorp database news;create tablenews(news_id int(5),news_title varcher(100),news_time data);desc news;数据表的信息;show createtab原创 2013-04-12 20:43:57 · 685 阅读 · 0 评论