本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就是员工表中的外键:因为…
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们使用了Linq对Entity Framework进行了一个查询,但是通过学习我们却发现了懒加载给我来的性能上的开销是很到的,尤其是在循环中,如果数据量不是很多的情况下还可以接受,如果数据量一旦大气来,那么这个效率则是影响非常大的.那该怎么办呢?其实在Entity Framwork中,除了提供了懒加载技术还提供了一个“贪婪加载”.那么什么是贪婪加载呢?从名字上看,就是非常的粗鲁的,一次性的吧相关的数据全部查询…
存储过程是MySql 5支持的特性,它是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之就是一组已经写好的命令,需要使用的时候拿出来用就可以了.有点像我们在Java类中写的方法,我们可以根据需要传入参数,调用该方法. 存储过程通常有以下优点: 1)存储过程能实现较快的执行速度.如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很…
一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking):InnoDB存储引擎既支持行级锁( row-level locking),也支持表级锁,但默认情况下是采用行级锁. MySQL主要的两种锁的特性可大致归纳如下: 表级锁: 开销小,加锁快:不会出现死锁(因为MyISAM会一次性获得SQL所需的全部锁):锁定粒度大,发生锁冲突的概率最高,并发度最…
MySQL_MHA ABB(主从复制)-->MHA(实现mysql高可用.读写分离.脚本控制vip飘逸)-->haproxy(对slave集群实现分发,负载均衡)-->keepalive(预防一台haproxy单点故障,对两台及以上的haproxy实现高可用) 一.MHA MySQL high available mysql高可用 ABB 适用于0~30台服务器 条件:最少3台,即最少为ABB架构 MHA是由一名日本人用Perl语言开发出来的 组成:manager节点 .node节点 工…
1.建表和插入值 创建company数据库 创建 department表 create table department(d_id int(10) primary key not null unique,d_name varchar(20) not null,function varchar(20),address varchar(30));insert into department values(1001,'人事部','人事管理','北京');insert into department v…
MySQL支持多种数据类型,大致可以分为数值,日期/时间和字符类型. 数值类型 MySQL支持所有标准SQL数值数据类型,包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT.REAL和DOUBLE PRECISION),除了这些还支持TINYINT.MEDIUMINT和BIGINT.这些类型的占用字节和范围如下所示. 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,25…
力扣:https://leetcode-cn.com/ 力扣网数据库练习:https://leetcode-cn.com/problemset/database/ 文章目录 175. 组合两个表 题解: 1. LeetCode官方题解 2. 执行时间最快的mysql语句 笔记:on与where的区别 176. 第二高的薪水 题解: 1. LeetCode官方题解 2. 执行时间最快的mysql语句 笔记:关于解题思路与limit.isnull等 177. 第N高的薪水 题解: 1. LeetCo…
一.分组 建表及数据填充语句下载:链接: https://pan.baidu.com/s/1WHYafwqKJEKq1kDwCH_Zlg 提取码: 3wy4 1.1初识分组 分组是按照某一列,将该列中相同多个相同的数据作为一组,整体分成若干组. 例如有如下表: 例如将vend_id作为依据分组,则会分成三组. 所有vend_id = DLL01为一组,所有vend_id = BRS01为一组. 所有vend_id = FNG01为一组. 现在我们有这样一个需求,计算每一个每一个供应商有多少商品.…
MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前,我们先做一些准备工作. 需要安装的软件如下: 1.mysql,版本可以选择5.1或者5.5,安装过程可以参考博客:http://www.cnblogs.com/ixan/p/7341637.html 2.mysql图形化管理软件:Navicate,sqlyog(二选一,推荐使用sqlyog). 本文…