随笔分类 -  数据库-MySql

摘要:转载的sql语句.1 查询每门课程成绩都大于80分学生的学号数据库 表 studentname score courseA 85 语文A 75 数学A 82 英语B 75 语文B 89 数学B 79 英语天使美眉90 语文天使美眉100 数学天使美眉100 英语请找出每门课程都超过80分的那个人名字 阅读全文
posted @ 2018-05-18 13:53 chenxiangxiang 阅读(3655) 评论(0) 推荐(0)
摘要:网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。 这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 一、百万级数据库优化方案 1.对查询进行优化, 阅读全文
posted @ 2018-03-30 20:46 chenxiangxiang 阅读(2973) 评论(0) 推荐(0)
摘要:[转]http://www.php42.com/index.php/database/35-sql/237-mysql-order-by-list 问题描述 大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同): 降序排列的 SQL 为: 有时以上排序并不能满足我们 阅读全文
posted @ 2017-12-14 22:41 chenxiangxiang 阅读(10128) 评论(0) 推荐(1)
摘要:前言: 由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值(具体结构见下表)。 这种模式下,应用常常需要将这个列依据分隔符进行分割,并得到列转行的结果。 表数据: 期望得到结果: 总结: 这种方法的缺点在于,我们需要一个拥有连续数列的独立表(这里是i 阅读全文
posted @ 2017-12-13 18:31 chenxiangxiang 阅读(5215) 评论(0) 推荐(0)
摘要:前言 本文实现的这个需求其实十分普遍,举例来说,我们存在一个用户来源表,用来标记用户从哪个渠道注册进来。表结构如下所示… 其中 origin 是用户来源,其中的值有 iPhone 、Android 、Web 三种,现在需要分别统计由这三种渠道注册的用户数量。 解决方案1 ? 1 2 3 4 5 6 阅读全文
posted @ 2017-12-03 18:33 chenxiangxiang 阅读(23872) 评论(1) 推荐(1)
摘要:目录 1. 具体出错提示: 1.1. 1、查看sql_mode 1.2. 查询出来的值为: 2. 2、去掉ONLY_FULL_GROUP_BY,重新设置值。 2.1. 3、上面是改变了全局sql_mode,对于新建的数据库有效。对于已存在的数据库,则需要在对应的数据下执行: 3. 解决办法大致有两种 阅读全文
posted @ 2017-08-26 20:28 chenxiangxiang 阅读(394) 评论(0) 推荐(0)
摘要:概述 我们知道,关系数据库的表更适合扁平的列表,而不是像 XML 那样可以直管的保存具有父子关系的层次结构数据。 首先定义一下我们讨论的层次结构,是这样的一组数据,每个条目只能有一个父条目,可以有零个或多个子条目(唯一的例外是根条目,它没有父条目)。许多依赖数据库的应用都会遇到层次结构的数据,例如论 阅读全文
posted @ 2017-06-13 21:08 chenxiangxiang 阅读(4376) 评论(0) 推荐(0)
摘要:1、正常情况。 2、使用group_concat函数得到列转行。 3、使用SUBSTRING_INDEX和CROSS JOIN将列里面的的数字都拆分出来,把一行变成一列。 方法一(网上查询的方法): 建配置表: 配置表sequence的结果为0-99的一列数字: SQL: 方法二(自己不想建表,图省 阅读全文
posted @ 2017-04-18 07:27 chenxiangxiang 阅读(7576) 评论(0) 推荐(0)
摘要:对于针对字符串位置的操作,第一个位置被标记为1。 也可参见ORD()函数。 注意,对于多字节字符,其CHAR_LENGTH()仅计算一次。 这函数是多字节可靠的。 这函数是多字节可靠的。 该函数是多字节可靠的。 该函数是多字节可靠的。 该函数是多字节可靠的。 该函数是多字节可靠的。 该函数对多字节是 阅读全文
posted @ 2016-11-28 23:21 chenxiangxiang 阅读(303) 评论(0) 推荐(0)
摘要:存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。 基本语法 一.创建存储过程create procedure sp_name()begin.........end 二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕 阅读全文
posted @ 2016-10-15 19:58 chenxiangxiang 阅读(80775) 评论(0) 推荐(1)
摘要:DAYOFWEEK(date)返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。mysql> select DAYOFWEEK('1998-02-03');-> 3 DAYOFMONTH(date)返回date的月份中日期,在1到31范围内。mys 阅读全文
posted @ 2016-10-02 09:20 chenxiangxiang 阅读(4610) 评论(0) 推荐(0)
摘要:SQL执行一次INSERT INTO查询,插入多行记录 insert into test.person(number,name,birthday) values(5,'cxx5',now()),(6,'cxx6',now()),(7,'cxx7',now()); 1、说明:创建数据库 CREATE  阅读全文
posted @ 2016-09-27 22:29 chenxiangxiang 阅读(48805) 评论(0) 推荐(1)