
mysql
top-ww
我太想进步了
展开
-
解决前端传0,到数据库却存的值为数据库默认值
解决前端传0,到数据库却存的值为数据库默认值原创 2022-08-25 15:42:37 · 387 阅读 · 0 评论 -
mysql 查询时将状态改为相对应的文字
mysql 查询时将状态改为相对应的文字原创 2022-06-23 17:22:04 · 481 阅读 · 0 评论 -
mysql开启慢查询日志及查询--windows
本文转自http://blog.youkuaiyun.com/ljasdf123/article/details/9713523MySQL慢查询配置1. 慢查询有什么用?它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.2. 如何开启慢查询?首先我们先查看MYSQL服务器的慢查询状态是转载 2017-03-10 15:40:44 · 318 阅读 · 0 评论 -
SQL语法操作集
本文转自http://blog.youkuaiyun.com/ainuser/article/details/52423004下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRA转载 2017-02-23 16:52:36 · 329 阅读 · 0 评论 -
Group_concat介绍与例子
本文转自https://blog.youkuaiyun.com/yz357823669/article/details/78794050完整语法如下group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])SELECT * FROM testgroup表结构与数据如上现在的需求就是每个id为一行 在前台每行显示该id所有...转载 2018-07-13 10:51:50 · 1332 阅读 · 0 评论 -
使用limit查询的同时取得总的记录数:SQL_CALC_FOUND_ROWS和FOUND_ROWS()
SELECT语句中经常可能用LIMIT限制返回行数。有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句。那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:SELECT SQL_CALC_FOUND_ROWS * FROM tableName where name like '%zhang%' limit 1...原创 2018-07-16 14:30:24 · 2024 阅读 · 0 评论 -
聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)
本文转自https://my.oschina.net/u/1866821/blog/297673索引的重要性数据库性能优化中索引绝对是一个重量级的因素,可以说,索引使用不当,其它优化措施将毫无意义。聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)最通俗的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的索引转载 2017-02-23 11:42:59 · 53934 阅读 · 8 评论 -
使用SelectKey遇到的一个问题
场景描述 最近在做项目时要把某个表(a表)的自增主键当做另一个表的主键(b表)。当在b表中新增数据后,获取主键时候每次获取的主键都是0。数据库中已经成功插入数据最后上网查资料才发现 SELECT LAST_INSERT_ID()只能获取到按默认插入键方式插入的记录解决办法:注释或者删除掉掉以下内容即可赋一个selectKey中的属性列表...原创 2022-03-24 15:57:31 · 384 阅读 · 0 评论 -
mysql联查报错 Illegal mix of collations
mysql联查报错 Illegal mix of collations原创 2022-03-23 16:16:11 · 832 阅读 · 0 评论 -
sql优化的技巧
1 避免使用 select *很多时候,写 sql 语句时,为了方便,喜欢直接使用select *,一次性查出表中所有列的数据。在实际业务场景中,可能我们真正需要使用的只有其中一两列。查了很多列,但是不用,浪费了数据库资源,比如:内存或者 cpu。此外,多查出来的数据,通过网络 IO 传输的过程中,也会增加数据传输的时间。还有一个最重要的问题是:select *不会走覆盖索引,会出现大量的回表操作,而从导致查询 sql 的性能很低。优化:sql 语句查询时,只查需要用到的列,多余的列..原创 2021-11-15 10:44:26 · 247 阅读 · 0 评论 -
mysql逻辑分层
连接层:连接与线程处理,这一层并不是MySQL独有,一般的基于C/S架构的都有类似组件,比如连接处理、授权认证、安全等。服务层:包括缓存查询、解析器、优化器,这一部分是MySQL核心功能,包括解析、优化SQL语句,查询缓存目录,内置函数(日期、时间、加密等函数)的实现。引擎层:负责数据存储,存储引擎的不同,存储方式、数据格式、提取方式等都不相同,这一部分也是很大影响数据存储与提取的性能...原创 2020-03-18 10:52:30 · 337 阅读 · 0 评论 -
mysql中将表中的一个字段同步到另一个字段
update tablename set fieldA = fieldB where 1 = 1原创 2019-12-26 09:46:55 · 1471 阅读 · 0 评论 -
mysql 表关联批量更新
UPDATE t_account_trans_info AS iiINNER JOIN t_user AS uu ON ii.tran_user_id = uu.idSET ii.text2 = uu.link_manwhereii.tran_user_id = uu.id转载 2019-12-26 09:44:56 · 1288 阅读 · 0 评论 -
不就是SELECT COUNT语句吗,竟然能被面试官虐的体无完肤
数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,统计数量操作更是经常被用到。关于数据库中行数统计,无论是MySQL还是Oracle,都有一个函数可以使用,那就是COUNT。但是,就是这个常用的COUNT函数,却暗藏着很多玄机,尤其是在面试的时候,一不小...转载 2019-11-08 15:44:53 · 327 阅读 · 0 评论 -
【MySQL】20个经典面试题
本文转自http://blog.youkuaiyun.com/u013252072/article/details/52912385Part2:经典题目1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;2、MySQL中myisam与innodb的区别,至少5点(1)、问5点不同;(2)、innodb引擎的4大特性(3)、2者selectcount(*)哪个更快,为什么3、MySQL中var...转载 2018-02-22 14:18:50 · 289 阅读 · 0 评论 -
count(1)与count(*)
因为在工作中要用到计算总数大家的用法都不一样所以去看看这两个到底有什么区别 以下是自己的试验结果大家总说这两个有区别 count(1)要快一些,其实不然,他们的执行时间都是一样原创 2018-02-06 09:20:55 · 460 阅读 · 0 评论 -
mysql设置用户权限时报错
当我执行mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;报错如下ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot e原创 2017-12-18 18:42:17 · 819 阅读 · 0 评论 -
ORM
ORM即Object/Relation Mapping的简写,一般称作“对象关系映射”,在Web开发中最常出没于和关系型数据库交互的地方。接口、中间件、库、包,你都可以这么称呼它。我们可以结合PHP和MySQL,从ORM的四个核心理念来认识它:简单:ORM以最基本的形式建模数据。比如ORM会将MySQL的一张表映射成一个PHP类(模型),表的字段就是这个类的成员变量精确:ORM原创 2017-11-23 20:49:47 · 359 阅读 · 0 评论 -
mysql中倒入sql文件,source命令
对于导入数据量比较小的数据我们可以直接使用mysql的图形界面进行导入,但是当数据量比较大时使用使用图形界面就相对于慢很多了,于是我们可以使用mysql数据库的一个命令source命令来进行数据的导入。mysql>use dbtest;mysql>set names utf8;mysql>source D:/www/sql/back.sql;source命令" src="h原创 2017-12-03 11:50:46 · 3112 阅读 · 0 评论 -
MySQL之char、varchar和text的设计
本文转自http://www.cnblogs.com/billyxp/p/3548540.html最近有表结构设计中出现了varchar(10000)的设计引起了大家的讨论,我们下面就来分析分析。 首先我们先普及一下常识:1、char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,转载 2017-11-22 16:27:15 · 711 阅读 · 0 评论 -
细说mysql索引
本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要些的sql是 SELECT * FROM award WHERE nickname = 'css'一般情况下,在没有建立索引的时候,mysql需要扫描全表转载 2017-10-25 20:01:56 · 329 阅读 · 0 评论 -
sql 百万级数据库优化方案
本文转自http://blog.youkuaiyun.com/jimlong/article/details/7387638sql 百万级数据库优化方案1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,转载 2017-02-26 21:00:28 · 2161 阅读 · 0 评论 -
MySQL性能优化的最佳21条经验
本文转自http://blog.youkuaiyun.com/waferleo/article/details/7179009今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过转载 2017-03-03 16:33:28 · 653 阅读 · 0 评论 -
mysql中主外键关系
本文转自http://blog.youkuaiyun.com/ethan_fu/article/details/48676295一、外键: 1、什么是外键 2、外键语法 3、外键的条件 4、添加外键 5、删除外键 1、什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性外键:是另一表的主键, 外键可以有重复的, 可以是空转载 2017-02-23 21:01:51 · 862 阅读 · 1 评论 -
MySQL索引使用方法和性能优化
本文转自http://www.feiyan.info/16.html关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPress来说,其多个数据表都会对经常转载 2017-02-23 09:19:48 · 249 阅读 · 0 评论 -
数据的优化
一、我们可以且应该优化什么?硬件操作系统/软件库SQL服务器(设置和查询)应用编程接口(API)应用程序--------------------------------------------------------------------------------二、优化硬件如果你需要庞大的数据库表(>2G),你应该考虑使用64位的硬件结构,像Alpha、Spa转载 2017-01-02 16:39:33 · 472 阅读 · 0 评论 -
数据库的可用监控
监控 数据库是否连接和读写以及数据库的连接数 1、确认数据库是否可以通过网络连接 造成连接不成功的原因:防火墙 TCP/IP连接被占满 监控的方式: 1、mysqladmin -u 监控用户转载 2017-01-06 14:19:08 · 48734 阅读 · 0 评论 -
Mysql的主从复制
主从复制的原理:基于主库的二进制文件,然后在从库上面存放主库的二进制文件(异步)主从复制配置步骤如下:1、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=222 //[必须]服务器唯一ID,默认是1原创 2017-01-04 19:13:39 · 251 阅读 · 0 评论 -
mysql的一些操作
1. 创建表(含有约束)123456789101112131415161718192021222324/**创建组表**/create table t_group( id int(11) auto_increment primary key,原创 2017-01-02 16:35:35 · 314 阅读 · 0 评论 -
mysql中having的用法(和where的区别)
本文转自http://blog.youkuaiyun.com/czhphp/article/details/41694719让我们先运行2个sql语句:1、SELECT * FROM `welcome` HAVING id >1 LIMIT 0 , 302、SELECT * FROM `welcome` WHERE id >1 LIMIT 0 , 30查看一下结果吧,怎么样?是转载 2017-03-13 10:08:22 · 739 阅读 · 0 评论 -
PHP 获取二维数组中某个key的集合
本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。具体是这样的,如下一个二维数组,是从库中读取出来的。代码清单:[php] view plain copy $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'email转载 2017-05-26 11:02:40 · 422 阅读 · 0 评论 -
Atlas
本文转自http://www.jianshu.com/p/b68e429d09c7介绍Atlas 是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas转载 2017-11-10 09:26:29 · 1156 阅读 · 0 评论 -
设计Mysql索引的原则
1. 搜索的索引列,不一定是所要选择的列。换句话说,最适合索引的列是出现在WHERE 子句中的列,或连接子句中指定的列,而不是出现在SELECT 关键字后的选择列表中的列。 2. 使用惟一索引。考虑某列中值的分布。对于惟一值的列,索引的效果最好,而具有多个重复值的列,其索引效果最差。例如,存放年龄的列具有不同值,很容易区分各行。而用来记录性别的列,只含有“ M”和“F”,则对原创 2017-10-22 18:17:03 · 333 阅读 · 0 评论 -
sql之left join、right join、inner join的区别
本文转自http://www.cnblogs.com/pcjim/articles/799302.htmlleft join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: -----------转载 2017-10-27 16:19:18 · 393 阅读 · 0 评论 -
MySQL优化的几点建议
本文转自https://www.3maio.com/w-detail/9MySQL优化建议设计数据表的时候要遵守三范式,但是不要严格遵守。可以适度打破范式。一个表字段不适合过多。常用表中只要保留常用的字段尽量给每个字段添加NOT NULL根据表的特点来选择合适的表引擎, 如果这个表经常被写,应该选择innodb,但是MySQL5.6一般都是选转载 2017-08-28 11:12:32 · 304 阅读 · 0 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
一、百万级数据库优化方案 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引。2.应尽量避免在 where子句中对字段进行 null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select idfrom t where numis null最好不要给数据库留NULL,尽可能的使用 NOT NU原创 2017-07-17 14:10:33 · 1565 阅读 · 0 评论 -
Navicat连接本地Mysql出现10061错误
本人遇到了这个问题,解决办法1 打开Mysql的配置文件 可能是端口问题2 在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 如在MySQL 5的my.ini中未发现此项,可在[mysqld]这一节中添加上这一行:bind-address = 0.0.0.0重新启动MySQL原创 2017-05-31 16:37:33 · 18576 阅读 · 2 评论 -
Mysql(Linux服务器)root用户密码忘记重置方法
本文转自http://blog.youkuaiyun.com/roy_70/article/details/53006405MySQL是非常常见的开源数据库,使用者众多,若是不小心忘记了安装在服务器的mysql密码,无法登陆,应该如何重置呢?方法很简单,现在和大家分享下。(系统环境:CentOs 6.5 软件:Mysql)1.首先确认服务器是处于安全的状态,也就是没有人能够任意地连接转载 2017-05-30 21:36:24 · 615 阅读 · 0 评论 -
mysql中GROUP BY结合GROUP_CONCAT的使用
我们知道,group by可以将sql查询结果按照group by后面列进行分类显示。比如:Sql代码 select columnA,columnB from table group by columnA,columnB 则查询结果将按照columnA和columnB分类显示。没有显示在group by中的列不能直接作为返回列放在sql语句中,比如转载 2017-04-26 14:20:37 · 459 阅读 · 0 评论 -
忘记mysql root密码解决办法
1、编辑MySQL配置文件: 首先停止mysql服务, 然后开始编辑mysql配置文件:vi /etc/my.cnf在[mysqld]配置段添加如下一行:skip-grant-tables2、重启MySQL服务 /etc/init.d/mysqld restart3、设置新的ROOT密码 然后再在命令行下执行:mysql -uroot -p MySQL直原创 2017-01-02 16:25:34 · 259 阅读 · 0 评论