Welcome 微信登录

首页 / 数据库 / MySQL

解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)

解析mysql数据库还原错误:(mysql Error Code: 1005 errno 121)

原因大致是主键必须是唯一的,也就是数据库里可能存在和现还原数据库有重复的地方,a restriction that Foreign Keys should be uniquely named throughout the database , 一个有效的办法就是将原来的数据库清除后再创建还原。本人这回的原因是新装的mysql的ibdata1备份文件被我换成之前数据库的ibdata1备份文件了,本来想通过这方法来强制还原的,但是没做到,结果用备份sql文件还...
解析mysql中:单表distinct、多表group by查询去除重复记录

解析mysql中:单表distinct、多表group by查询去除重复记录

单表的唯一查询用:distinct多表的唯一查询用:group bydistinct 查询多表时,left join 还有效,全连接无效,在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重复记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,用distinct不能解决的话,我只有用二重循环...
总结MySQL建表、查询优化的一些实用小技巧

总结MySQL建表、查询优化的一些实用小技巧

MySQL建表阶段是非常重要的一个环节,表结构的好坏、优劣直接影响着后续的管理维护,赶在明天上班前分享总结个人MySQL建表、MySQL查询优化积累的一些实用小技巧。技巧一、数据表冗余记录添加时间与更新时间 我们用到的很多数据表大多情况下都会有表记录的“添加时间(add_time)”,我建议大家再新增一个记录“更新时间(update_time)”字段,在我的工作里需要为市场部、运营部等建立各种报表,而很多报表里的数据都是需要到大记录表里去查询的,如果直接查...
解析数据库分页的两种方法对比(row_number()over()和top的对比)

解析数据库分页的两种方法对比(row_number()over()和top的对比)

今天,老师带偶们复习了一下数据库中的分页,总体来说,今天感觉还不错,因为以前学的还没忘。好了,进入正题,首先,说说top的方法top方法其实就是将你要查的的页数的数据前得数据去掉 再取前几例:复制代码 代码如下:一页3条数据 取第一页的数据 -- 第一页 select top 3 * from T_news; 取第五页的数据--第五页 select top 3 * from T_News where id not in (select top (3*4)...
关于MYSQL中每个用户取1条记录的三种写法(group by xxx)

关于MYSQL中每个用户取1条记录的三种写法(group by xxx)

今天以前的同学问我关于这方面的SQL语句,我特意记忆一下,毕竟这个也比较常见了复制代码 代码如下:select * from (select * from member_payment order by id desc) t group by member_id limit 10第一种是先排序,然后group,这样的话自然可以取到最适合的一条数据。缺点很明显:Using temporary; Using filesort复制代码 代码如下:select ...
解析在MYSQL语法中使用trim函数删除两侧字符

解析在MYSQL语法中使用trim函数删除两侧字符

在实际开发中,你总是会遇到这种情况或者遇到这种情况数据多了也会令你抓狂,如果还在用select fields from table where like "/%" 绝对是一个吃力不讨好的做法,那么,仔细研究MYSQL自带函数那绝对是首要工作。我第一时间就是想到,PHP函数中的trim是不是也可能用到mysql中呢,回答是肯定的。你可以从MYSQL手册中找到,当然,你可以百度一下,我下面说的与前人相同。SELECT *,trim(LEADING "/" FR...
MySQL Left JOIN时指定NULL列返回特定值详解

MySQL Left JOIN时指定NULL列返回特定值详解

coalesce 函数可以接受多个参数,将会返回这些参数中第一个非NULL的值,若提供的参数全部为NULL,则返回NULLifnull 函数和coalesce功能一样,只是只可以接受两个参数if 函数接受三个参数,实现类似于三元判断符(?:)的功能,即第一个参数不为NULL且不为0时,返回第二个参数,否则返回第三个参数复制代码 代码如下:SELECT a.*,coalesce(t.cous,0) as count FROM brand as a left ...
MYSQL SET类型字段的SQL操作知识介绍

MYSQL SET类型字段的SQL操作知识介绍

复制代码 代码如下:<em>`mark` set("index","best","hot")</em> 用的人少,懂的人也少,找了很久,总算凑齐了一套知识点看上面的结构,MYSQL不傻,会存index吗,不会,存的是数字SET字段是利用二进制数字来一一对应你设置的值,比如index,排在第0位,那么2的零次方等于1复制代码 代码如下:update from table SET mark=1 复制代码 代码如下:update from...
MySQL 关于表复制 insert into 语法的详细介绍

MySQL 关于表复制 insert into 语法的详细介绍

web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明:两张表:insertTest和insertTest2,前者中有测试数据复制代码 代码如下:create table insertTest(id int(4),name varchar(12));insert int...
解析MySQL中INSERT INTO SELECT的使用

解析MySQL中INSERT INTO SELECT的使用

1. 语法介绍有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,可以先将需要查询的字段JOIN起来,然后组成一个视图后再SELECT FROM就可以了:INSERT INTO...
浅析一个MYSQL语法(在查询中使用count)的兼容性问题

浅析一个MYSQL语法(在查询中使用count)的兼容性问题

简单来说就是在查询中使用count以及更多字段复制代码 代码如下:select count(id),id,name from table 很尴尬的,我的环境是5.5的,这个是能获取到结果的,但是运行到服务器就不行了好吧,报了一个错误复制代码 代码如下:#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is n...
MYSQL 批量替换之replace语法的使用详解

MYSQL 批量替换之replace语法的使用详解

实际需求中,需要对某张表某字段里面的内容进行批量替换,普通的思考流程如下:SELECT出来str_replace替换UPDATE写入实际这样极其浪费资源以及消耗资源,MYSQL内置了一个批量替换的语法复制代码 代码如下:UPDATE table SET field = replace(field,"被替换","替换成") 直接就替换了,后面也可以跟WHERE 条件语句支持多个词同时被替换复制代码 代码如下:UPDATE table SET field = ...
mysql出现“Incorrect key file for table”处理方法

mysql出现“Incorrect key file for table”处理方法

最近服务器出现问题,导致公司的网站数据丢了很多。智软的也丢了不少。这几天一直都在忙这 修复数据。今天在恢复一个客户数据的时候。发现了一贯问题。有多个表损坏了。因为都是直接把表复制进去的。然后就出现了这个问题问题 如图:dedecms Error Warnin!Error infos: Incorrect key file for table "it_member_snsmsg"; try to repair it图片1这个是说 表坏掉了。。修复方法如上:下...
深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

1、内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符)。包括相等联接和自然联接。 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。 2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定: 1)LEFT JOIN或LEFT OUTER JOIN 左向外联接的结果集包括 LE...
<< 81 82 83 84 85 86 87 88 89 90 >>