mysql
Ethanhuyi
把技术当兴趣,欢迎关注我的博客交流;曾任职51.com平台后端全栈开发,江西省交科院有限公司前端开发。
展开
-
mysql 语句将字符串转行
mysql 语句将字符串转行示例(SELECT 考籍号,GROUP_CONCAT(kemu) ‘kemu2’ from (SELECT 考籍号,substring_index(substring_index(t.考试科目,’,’, b.help_topic_id + 1), ‘,’, -1) ‘kemu’FROM 省考籍信息77923 tjoin mysql.help_topic b ON b.help_topic_id < (LENGTH(t.考试科目) - LENGTH(R原创 2020-10-30 17:10:40 · 1265 阅读 · 0 评论 -
Window环境下mysql读写分离以及主从配置(不错可以的)
(1)基本的理论知识:首先,要实现mysql的读写分离,可以使用mysql的主(master)从(slave)复制(Replication)来实现:主(master)库只提供写数据的服务,而从(slave)库只提供读数据的服务。什么是主从复制?简单来说,就是主(master)库把对数据改动的操作保存到一个文件里面,而从(slave)库会隔一个时间间隔根据这个文件更新转载 2017-05-25 17:26:04 · 3083 阅读 · 0 评论 -
Linux环境下mysql读写分离以及主从配置(不错可以的)
读写分离与主从复制是提升mysql性能的重要及必要手段,大中型管理系统或网站必用之。一、什么是读写分离与主从复制先看图(图1 图片来源于网络) 如上图所示,当web server1/2/3要写入数据时,则向mysql db Master(主服务器)发出写入请求(即写入到master),如果要进入读操作时,则只向从服务器 mysql DB Slave1或2或转载 2017-05-22 16:11:47 · 2364 阅读 · 1 评论 -
mysql性能优化(应对大量数据访问以及性能提身)
mysql性能优化的其他一些总结:1,在join表的时候使用相当的列,将其索引 如果你的应用程序,有很多join查询,应该确认两个表中的join字段是被建立过索引的,这样mysql内部会启动优化join的语句。这些被用来join的字段,应该是类型相同。例如:如果你要把 DECIMAL 类型字段和一个 INT 类型字段Join在一起,MySQL就无法使用它们的索引。对于那些S原创 2017-04-22 21:13:58 · 467 阅读 · 0 评论 -
sql数据类型字符,字节存储大小小记
varchar(n) 这里的n是指字符数,并不是字节数。占用的字节数与编码有关, utf8,一个汉字 3 个字节,英文字母 1 个字节 一个字符占几个字节取决于编码类型。一个汉字占用几个字节取决于编码类型: gbk的话,一个汉字占2个字节 utf8的话,一个汉字占3个字节 一个字节一个字符例子:原创 2017-03-16 17:36:25 · 3653 阅读 · 0 评论 -
mysql中的唯一键索引,插入重复数据直接报错的解决办法
mysql 有 insert ignore into 这个关键字他这样,当违背了唯一约束的时候~就会直接跳过,不会报错。原创 2017-04-10 16:32:44 · 11629 阅读 · 1 评论 -
sql查询语句中使用if示例
1,统计金额大于0条件:查询严格金额大于0select sum(if(money>0,money,0)) from tmz_userinfo;2,示例: hits点击量 如果空的话,就默认为0select message.id id , message.title title , if(message.'hits' is null , 0 , message.'hit原创 2017-03-18 21:14:55 · 14031 阅读 · 0 评论 -
mysql索引 mysql中select 查询条件随谈
mysql索引使用索引—编写代码时候尽可能利用索引,不过非常小的表除外。因为表小,忽略表中索引能使表的读取更为高效。什么是索引数据库中的索引是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。创建索引语法: create [索引类型] index 索引名称on 表名(列名)[with fill factor = 填充因子值0-100]原创 2017-02-23 20:40:53 · 2710 阅读 · 0 评论 -
关于 PHP MySQL 长连接、连接池的一些探索
php连接mysql的方式,用的多的是mysql扩展、mysqli扩展、pdo_mysql扩展,是官方提供的。php的运行机制是页面执行完会释放所有该php进程中的所有资源的,如果有多个并发访问本地的测试页面 http://127.0.0.1/1.php 根据php跟web服务器的不同,会开相应的线程或者进程去处理该请求,请求完了会释放结果的。也就是php无法从语言层面从页面到页面之间传递一些数据转载 2017-02-22 16:07:26 · 12183 阅读 · 0 评论 -
文章标题
一、子查询定义 定义: 子查询允许把一个查询嵌套在另一个查询当中。 子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。 子查询可以包含普通select可以包括的任何子句,比如:distinct、 group by、order by、limit、join和union等;但是对应的外部查询必须是以下语句之一:select、insert、update、delete、set转载 2016-11-24 18:07:53 · 244 阅读 · 0 评论 -
mysql开启慢查询日志及查询
MySQL慢查询配置1. 慢查询有什么用?它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.2. 如何开启慢查询?首先我们先查看MYSQL服务器的慢查询状态是否开启.执行如下命令:show variables like '%quer%';我们可以看到当前log_sl转载 2017-05-27 10:30:49 · 308 阅读 · 0 评论 -
MySQL 'root'@'localhost'无法登录
localhost无法登陆的问题:由于公司的mysql是用rpm包安装的,所以会引起很多小疏忽;问题解决一:今天早上同事说MySQL root账号登录不上了。我试了一下 #mysql -u root -p 提示”Access denied for user ‘root’@’localhost’ (using password: YES)”因为年后有同事离职,我第转载 2017-05-26 23:49:53 · 17211 阅读 · 1 评论 -
mysql中对order by的函数substring_index() , find_in_set()使用
其实今天写这个博文完全是因为面试中遇到的了,呵呵了吧题目是这样的:sql = "select * from table where id in(3,1,2,5)"; 怎样使得查询的结果按照 3 ,1 , 2, 5来排序;答案:这两个SQL函数在平时真心没用使用到过啊 find_in_set() 和 substring_index() 用法是这样:原创 2017-04-27 21:48:52 · 3928 阅读 · 0 评论 -
mysql连表更新数据(case when)
update rt_plan ta join rt_middle_school tbon ta.middle_school_id=tb.idset ta.student_number = (case tb.code when '0104306' then 280 when '0104318' then 296 ...原创 2019-06-04 23:54:52 · 1354 阅读 · 0 评论 -
mysql插入语句将一张表插入另外一张表并且不重复插入
INSERT INTO rt_admission (middle_school_id,student_id,name,student_code,sample_id,school_id,class_id,district_id,identify,admission_type,student_type,status,report_status,report_time,ack_status,ack_t...原创 2019-06-03 20:11:52 · 1210 阅读 · 0 评论 -
sql查询代替代码业务查询
select *,concat(' ,(case student_type when ',id,' then 1 else 0 end) as \'',code,'\''),concat(',sum(',code,')')from rt_condition_value where type_code='studenttype';select hz.code,hz.name,sum(st...原创 2019-05-16 20:03:21 · 309 阅读 · 0 评论 -
SQL语句中使用case和having
case when多个条件并合select b.id,b.name,count(case a.student_type when 31 then '第一类' end) '第一类',count(case a.student_type when 32 then '第2类' end) '第2类',count(case a.student_type when 33 then '第3类' end)...原创 2019-05-05 17:15:35 · 1424 阅读 · 0 评论 -
防止SQL注入的五种方法
摘要 防止SQL注入 一、SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。二、SQL注入攻击的总体思路 1.寻找到SQL注入的位置 2.判断服务器类型和后台数据库类型 3.针对不通的服务器和数据库特点进行SQL注入攻击三、SQL注入攻击实例 比如在一个登录界转载 2017-09-11 09:06:22 · 17170 阅读 · 1 评论 -
lnmp一键安装包搭建的环境,mysql在局域网内连接不上的问题
今天做个小小的笔记把,关于lnmp一键安装包搭建的mysql在局域网内链接不上的问题我在我的mac本本上连接时候,会出现can not to mysql server on 'xxx.xxx.xxx'(36) 错误所有的关于连接不上mysql问题的解决方案都试过了一边,最后发现为了安全LNMP默认是禁止远程连接的解决办法是: 1,查看已有的iptables规则,以序号显示原创 2017-06-09 22:49:24 · 1435 阅读 · 0 评论 -
mysql-proxy实现mysql主从库读写分离
http://blog.csdn.net/aspnet_lyc/article/details/50359529MySQL的主从架构模型可以用来进行备份、故障迁移、或者读写分离来分担负载。 采用读写分离时,在程序中通过封装数据库访问层可以实现写操作连接主库,读操作连接从库。但是当从库较多时,程序中对多个从库做切换比较麻烦。mysql官方为我们提供了mysql-proxy这个转载 2017-05-22 17:32:03 · 431 阅读 · 0 评论 -
分表与分库使用场景以及设计方式
参考链接: http://blog.csdn.net/winy_lm/article/details/50708493 一. 分表 场景:对于大型的互联网应用来说,数据库单表的记录行数可能达到千万级甚至是亿级,并且数据库面临着极高的并发访问。采用Master-Slave复制模式的MySQL架构,只能够对数据库的读进行扩展转载 2017-05-21 23:52:42 · 11942 阅读 · 6 评论 -
欢迎使用CSDN-markdown编辑器
Mysql5 实现交叉表查询 <div class="article_manage clearfix"> <div class="article_r"> <span class="link_postdate">2015-12-15 17:04</span> <span class="link_view转载 2016-11-24 17:28:14 · 411 阅读 · 0 评论 -
mysql中group by 和 group_concat()的区别
1,group_concat()#例如以下sql查询语句 root:dmz> select zone_id,group_concat(uin) from fd_sendprize_log group by zone_id;+---------+-------------------------------------------------------------------原创 2016-11-24 16:18:57 · 380 阅读 · 0 评论 -
mysql语句格式化数据库中表 的时间格式
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(时间字段), '%Y-%m-%d %H:%i:%S') AS 时间 FROM texs limit 0,10找了挺久的,不记录下不行FROM_UNIXTIME(UNIX_TIMESTAMP(时间字段), '%Y-%m-%d %H:%i:%S')原创 2016-07-29 18:30:20 · 2209 阅读 · 0 评论 -
将excel表导入到MySQL数据库表中
先清理一下思路先,~~ 首先:需要把文件上传到服务器上 然后:读取excel数据列显示出来 然后:让用户选择字段的对应关系 然后:提交数据,读取字段的对应关系 最后:批量导入数据,删除临时文件 一共是以上五步骤!我们一步步分析~~~ 第一步:下载附件中的phpexcelparser4.rar ,这个文件是上传excel盗服务器上并以web形式展示出来的!这个一般没有问题转载 2016-06-22 10:08:49 · 2452 阅读 · 0 评论 -
MYSQL使用mysqldump导出某个表的部分数据
MySQLdump是MySQL自带的导出数据工具,通常我们用它来导出MySQL中,但是有时候我们需要导出MySQL数据库中某个表的部分数据,这时该怎么办呢?mysqldump命令中带有一个 --where/-w 参数,它用来设定数据导出的条件,使用方式和SQL查询命令中中的where基本上相同,有了它,我们就可以从数据库中导出你需要的那部分数据了。命令格式如下:mysqld转载 2016-07-27 15:23:53 · 717 阅读 · 0 评论 -
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
1,我是先 yum install mysql-server (前提必须是root权限);2,然后又在编辑vim /etc/my.cnf 加上了[mysql]socket=/var/lib/mysql/mysql.sock[mysqldump]socket=/var/lib/mysql/mysql.sock[mysqladmin]socket原创 2016-07-03 01:39:57 · 411 阅读 · 0 评论 -
mysql行级锁
InnoDB使用行锁定,BDB使用页锁定。对于这两种存储引擎,都可能存在死锁。这是因为,在SQL语句处理期间,InnoDB自动获得行锁定和BDB获得页锁定,而不是在事务启动时获得。 行级锁定的优点:· 当在许多线程中访问不同的行时只存在少量锁定冲突。· 回滚时只有少量的更改。· 可以长时间锁定单一的行。行级锁定的缺点:·转载 2016-05-20 14:30:20 · 450 阅读 · 0 评论 -
Mysql的一些经典命令
Mysql的一些经典命令 一、导入导出.sql文件for Linux: 1、从mysql中导出数据库test: 在终端运行:mysqldump -h localhost -u root -p test>/home/chuzj/daochu.sql 其中localhost是服务器名字 test是数据库名字,其后可以直接跟表名 2、将daochu.sql 导入原创 2016-05-20 11:21:09 · 325 阅读 · 0 评论 -
mysql进行excel文件导出
方法一:进入到mysql的控制台,输入:SELECT * INTO OUTFILE ‘./test.xls‘ FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;这样,应该会在你的mysql的var/目录下产生一个test.xls的文件。。。但是如果你的shell的登录帐户和mysql的运行账户不同,很可能这个方法就不适用了,因为你可以通过mysq转载 2016-05-25 19:25:24 · 1950 阅读 · 1 评论 -
Mysql初始化root密码和允许远程访问
1、初始化root密码进入mysql数据库1mysql>updateuser set password=PASSWORD(‘123456’)where User='root';2、允许mysql远程访问,可以使用以下三种方式:a、改表。1234my转载 2016-05-25 15:13:37 · 393 阅读 · 0 评论 -
本地的mysql连接虚拟机中Linux中的MySQL需要注意的地方(权限问题)
本地的mysql连接虚拟机中Linux中的MySQL需要注意的地方(权限问题)GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.1.92' IDENTIFIED BY 'userpassword' WITH GRANT OPTION;原因在这里:一般mysql是不允许除了本机用户以外的用户进行访问的,所以需要给特定原创 2016-05-24 21:12:19 · 2774 阅读 · 0 评论 -
PHP 如何查看数据库中数据表是否存在
可以用下面的代码查看数据库中数据表是否存在:$con = mysql_connect("localhost","$username","$password");if (!$con) { die('Could not connect: ' . mysql_error()); }mysql_select_db("$datebase_name", $con);$result = my原创 2016-07-20 16:37:13 · 7245 阅读 · 2 评论 -
mysql分表后查询所有表中的记录
1,MySQL有一个MERGE存储引擎是专门做这个事情的,借这篇博文了解:Mysql MERGE引擎分表2,使用union 因为表结构和字段类似就可以使用(SELECT xx FROM table1 WHERE type=1) union(SELECT xx FROM table1 WHERE type=1) union(SELECT xx FROM table1 WHERE原创 2016-07-20 17:02:59 · 8195 阅读 · 1 评论 -
mysql的group by ,order by语句的使用
select uin, zone_id, max(totalCount) as a, max(totalMoney) as b from (select uin, zone_id, count(1) as totalCount, sum(money) as totalMoney from fd_sendprize_log group by zone_id, uin) as A group by z原创 2016-11-23 21:29:54 · 418 阅读 · 0 评论 -
MySQL存储过程中使用动态SQL与静态SQL的区别
存储过程中使用动态SQL 实例[sql] view plain copy print?DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`t1`$$ CREATE /** [DEFINER = { user | CURRENT_USER }]*/ PROCEDURE `test`.`t1`() /*LANGUAGE转载 2016-12-12 17:17:02 · 2147 阅读 · 0 评论 -
mysql中union的使用方法例子
/** * 获得图文回复*/ function getData($start, $limit) { $sql = "select count(*) from xx5_weixin.reply_msg"; $sql = "select count(*) from ( SELECT * FROM xx5_weixin.reply_pic_0原创 2016-11-28 17:42:10 · 1339 阅读 · 0 评论 -
php和mysql原生调用存储过程代码段
$sql = DELIMITER $$DROP PROCEDURE IF EXISTS `ss`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `ss`()BEGINIF NOT EXISTS (SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEM原创 2016-11-07 17:36:29 · 1630 阅读 · 0 评论 -
Mysql 地区经纬度 查询
Mysql 地区经纬度 查询https://my.oschina.net/alexgaoyh/blog/392123原创 2016-10-16 11:55:24 · 1765 阅读 · 0 评论 -
认识下mysql中的存储过程使用以及语法
存储过程: 简单介绍下,一般存储过程用于数据比较复杂以及业务复杂的情景,数据量比较大,对性能要求高的情况下; 存储过程是定义函数; 使用存储过程可以减少和脚本语言交互以及带宽,从而提高与数据库交互的效率;语法以及使用例子: create procedure p() beg原创 2016-11-04 17:49:07 · 346 阅读 · 0 评论