随笔分类 -  Sql

摘要:首先linux 下查看mysql相关目录root@ubuntu14:~# whereis mysqlmysql: /usr/bin/mysql mysql的运行路径 /etc/mysql /usr/lib/mysql mysql的安装路径/usr/bin/X11/mysql /usr/share/m 阅读全文
posted @ 2018-05-12 21:00 atzuge 阅读(237) 评论(0) 推荐(0)
摘要:以下内容出自《高性能MySQL》第三版,了解事务的ACID及四种隔离级有助于我们更好的理解事务运作。 下面举一个银行应用是解释事务必要性的一个经典例子。假如一个银行的数据库有两张表:支票表(checking)和储蓄表(savings)。现在要从用户Jane的支票账户转移200美元到她的储蓄账户,那么 阅读全文
posted @ 2018-01-01 18:07 atzuge 阅读(291) 评论(0) 推荐(0)
摘要:MySql递归查询,mysql中从子类ID查询所有父类(做无限分类经常用到)由于mysql 不支持类似 Oracle with ...connect的 递归查询语法之前一直以为类似的查询要么用存储过程要么只能用程序写递归查询.现在发现原来一条sql语句也是可以搞定的先来看数据表的结构如下:id na 阅读全文
posted @ 2017-03-07 16:34 atzuge 阅读(18528) 评论(0) 推荐(2)
摘要:Left Join / Right Join /inner join相关关于左连接和右连接总结性的一句话:左连接where只影向右表,右连接where只影响左表。Left Joinselect * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID左连接 阅读全文
posted @ 2016-12-20 10:16 atzuge 阅读(300) 评论(0) 推荐(0)
摘要:外键是否采用看业务应用场景,以及开发成本的,大致列下什么时候适合,什么时候不适合使用:1. 互联网行业应用不推荐使用外键: 用户量大,并发度高,为此数据库服务器很容易成为性能瓶颈,尤其受IO能力限制,且不能轻易地水平扩展;若是把数据一致性的控制放到事务中,也即让应用服务器承担此部分的压力,而引用服务 阅读全文
posted @ 2016-12-12 15:14 atzuge 阅读(217) 评论(0) 推荐(0)
摘要:主键 表中每一行都应该有可以唯一标识自己的一列(或一组列)。 一个顾客可以使用顾客编号列,而订单可以使用订单ID,雇员可以使用雇员ID 或 雇员社会保险号。 主键(primary key) 一列(或一组列),其值能够唯一区分表中的每个行。唯一标识表中每行的这个列(或这组列)称为主键。没有主键,更新或 阅读全文
posted @ 2016-12-12 14:58 atzuge 阅读(7633) 评论(0) 推荐(1)
摘要:默认创建int类型的字段,SHOW CREATE TABLE table_name或DESC table_name常常可以看到其默认情况为int(11)。这个int(M)很多时候都会被误解为最大范围,但是并不是这样的,int的范围是早已已经被指定好了的,并且无符号int的最大上限值为2^32-1。做 阅读全文
posted @ 2016-12-12 14:15 atzuge 阅读(344) 评论(0) 推荐(0)
摘要:InnoDB引擎表的特点 1、InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: (1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; (2)不可能在非叶子结点命中; (3)非叶子结点相当于是叶子结点的索引(稀疏索引 阅读全文
posted @ 2016-11-23 10:28 atzuge 阅读(171) 评论(0) 推荐(0)
摘要:今天部署服务器项目运行,当遇见有时间数据对象的插入和更新操作的时候,就报错,如下: Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'cre 阅读全文
posted @ 2016-08-30 17:12 atzuge 阅读(916) 评论(0) 推荐(0)
摘要:1、概述 名词 笛卡尔积、主键、外键 数据完整性 实体完整性:主属性不能为空值,例如选课表中学号和课程号不能为空 参照完整性:表中的外键取值为空或参照表中的主键 用户定义完整性:取值范围或非空限制,例如:性别(男女),年龄(0-130) 表连接 自然连接:与等值连接(a.id=b.id)相比,连接后 阅读全文
posted @ 2016-08-22 11:37 atzuge 阅读(355) 评论(0) 推荐(0)
摘要:在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。 表A: 表B: 1.作用于单列 执行后结果如下: 2.作用于多列 示例2.1 执行后结果如下: 实际上是根据name和id两个字段来去重的,这种方式Acc 阅读全文
posted @ 2016-08-22 11:36 atzuge 阅读(357) 评论(0) 推荐(0)
摘要:1、表结构 表A 表B 2、Left Join left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的。 换句话说,左表A的记录将会全部表示出来,而右表B只会显示符合搜索条件的记录(例子中为: A.aid = B.bid),B表记录不足的地方均为N 阅读全文
posted @ 2016-08-22 11:35 atzuge 阅读(759) 评论(0) 推荐(0)
摘要:1、概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。 2、原始表 3、简单Group By 示例1 返回结果如下表,实际上就是分类汇总。 4、Group By 和 Orde 阅读全文
posted @ 2016-08-22 11:29 atzuge 阅读(183) 评论(0) 推荐(0)
摘要:MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式,用这个方式,五百万数据,十来分钟就全部去除重复了,请各位参考。 第一步:从500万数据表data_c 阅读全文
posted @ 2016-06-27 14:25 atzuge 阅读(559) 评论(0) 推荐(0)
摘要:SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用 阅读全文
posted @ 2016-03-23 17:32 atzuge 阅读(150) 评论(0) 推荐(0)