emp

MySQL多表查询

跟風遠走 提交于 2019-11-28 17:30:38
准备 建表与数据准备 #建表 create table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varchar(20), sex enum('male','female') not null default 'male', age int, dep_id int ); #插入数据 insert into department values (200,'技术'), (201,'人力资源'), (202,'销售'), (203,'运营'); insert into employee(name,sex,age,dep_id) values ('egon','male',18,200), ('alex','female',48,201), ('wupeiqi','male',38,201), ('yuanhao','female',28,202), ('liwenzhou','male',18,200), ('jingliyang','female',18,204) ; #查看表结构和数据 mysql> desc department; +-------+-------------+------+-----+---------

MySQL单标查询

我们两清 提交于 2019-11-28 17:28:41
单表查询的语法及关键字执行的优先级 单表查询语法 SELECT DISTINCT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 关键字执行的优先级 from where group by select distinct having order by limit 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 4.执行select(去重) 5.将分组的结果进行having过滤 6.将结果按条件排序:order by 7.限制结果的显示条数 简单查询 company.employee 员工id id int 姓名 emp_name varchar 性别 sex enum 年龄 age int 入职日期 hire_date date 岗位 post varchar 职位描述 post_comment varchar 薪水 salary double 办公室 office int 部门编号 depart_id int #创建表 create table employee( id int not null unique auto_increment,

MySQL 索引选择原则分析(示例库)

烂漫一生 提交于 2019-11-28 17:06:38
目的 数据库中很重要的设计一部分,莫过于索引了。 B+树索引是 MySQL中设计的索引。B+树索引是基于B+树基础发展而来的。 前面文章 MySQL 索引选择原则分析(一) 已经对索引做进一步分析。但是实践比较少,只是根据理论做了部分分析,下面对MySQL自己推出的测试数据库及数据做一些SQL的分析。 MySQL示例库下载: http://pan.baidu.com/s/1ntxmgXV 一:全列匹配 SELECT * FROM titles WHERE emp_no='10001' AND title='Senior Engineer' AND from_date='1986-06-26'; SELECT * FROM titles WHERE from_date='1986-06-26' AND emp_no='10001' AND title='Senior Engineer'; 当按照索引中所有列进行精确匹配("="或"IN")时,索引可以被用到。注:理论上索引对顺序是敏感的,但是由于MySQL的查询优化器会自动调整where语句的条件顺序以使用适合的索引,因此前面2条SQL的查询计划是一样的。 二:最左前缀匹配 SELECT * FROM titles WHERE emp_no='10001'; SQL查询计划可以看出,key用的是PRIMARY索引,但是key

MySQL表的CRUD及多表查询

南笙酒味 提交于 2019-11-28 16:42:44
数据库表的增删改查操作:     增 、 删 、 改   查:      单表查询        简单查询 、 where约束 、 group by分组 、 聚合查询 、 having过滤 、 order by排序 、 limit限制 、 正则匹配      多表查询        连表查询 : 交叉查询 、 >內连查询 、 左外连接查询 、 右外连接查询 、 全外链接查询 、 连接结果筛选查询                 子查询  : 带关键字in的子查询 、 带比较运算符的子查询 、 带关键字exists的布尔判断结果查询   表记录增删改总结: MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及。    #增insert into: (1)单条插入 insert into 表名 value(值1,值2,...); (2)多条插入 insert into 表名 values(值1,值2,...),(值1,值2,...),...; (3)指定字段插入 insert into 表名(字段1,字段2,字段3,...) values(值1,值2,值3,...); (4)查询结果插入 insert into

Oracle笔记_查询

▼魔方 西西 提交于 2019-11-28 15:39:33
1 单条件查询 select …… from …… where 条件 -- = > >= < <= != <> -- 单引号用于数据表示字符串 -- 双引号用于数据库对象名,列名,表名…… -- 数据区分大小写,数据库不区分大小写 2 多条件查询 --与and 或or 非not select * from emp where deptno in (10,20); -- in表示deptno取值在10和20其中一个,not in表示不在集合中;如果结果中含有NULL,不能使用not in,但可以使用in。 select * from emp where sal between 1000 and 2000; -- between and 是包括边界值 --SQL在解析where时,是从右向左解析的;使用and时应将易假的值放在右侧,or时应将易真的值放在右侧; 3 模糊查询 select ... from ... where 列名 like '模式字符串' -- % 表示若干个字符 -- _ 表示一个字符 select * from emp where ename like '%\_%' escape '\'; -- 以反斜杠作为转义字符 4 排序 select ... from ... where 条件 order by 列名1 asc|desc,列名2.... -- asc表示升序

test4

时间秒杀一切 提交于 2019-11-28 14:25:45
create or replace procedure testp is begin dbms_output.put_line('aaaa'); end; / declare i number(2) :=10; ena emp.ename%type; begin dbms_output.put_line(i); select ename into ena from emp where empno=1002; dbms_output.put_line(ena); end; / 存储一整条(一行)记录: declare i number(2) :=10; ena emp.ename%type; emprow emp%rowtype; begin dbms_output.put_line(i); select ename into ena from emp where empno=1002; dbms_output.put_line(ena); select * into emprow from emp where empno=1002; dbms_o utput.put_line(emprow.ename || '工作为' || emprow.job); end; / 10 黛绮丝 黛绮丝工作为销售员 PL/SQL procedure successfully completed. -

Hibernate框架之Criteria查询 和注解

ぃ、小莉子 提交于 2019-11-28 13:53:36
今天呢,我就详细的写着 Hibernate框架的一种检索方式:Criteria查询。下面我写的这些案例,可能对于大牛没有什么好看的,但是对于初学者来说,却是一笔财富。 首先我们要知道的检索方式: Hibernate框架提供了5种检索对象的方式 1.导航对象图检索方式:根据已经加载的对象导航到其他对象 2.OID检索方式:按照对象的OID来检索对象 3.HQL检索方式:使用面向对象的HQL查询语言 4.QBC检索方式:使用QBC(Query By Criteria)API来检索对象,这种API封装了基于字符串形式的查询语句,提供了更加面向对象的查询接口 5.本地SQL检索方式:使用本地数据库的SQL查询语句 什么是Criteria Criteria是一种比hql更面向对象的查询方式。 Criteria 可使用 Criterion 和 Projection 设置查询条件。可以设置 FetchMode(联合查询抓取的模式 ) ,设置排序方式,Criteria 还可以设置 FlushModel (冲刷 Session 的方式)和 LockMode。 Criteria查询 就是 通过面向对象化的设计,将数据查询条件封装为一个对象 Criteria是一个接口,它继承了 另一个接口。 它里面有很多的方法,看图说话: 有了这些方法,我们可以再深度研究,这个方法里面的参数,有了什么接口或是类的类型

MySQL数据库笔记五:多表查询

五迷三道 提交于 2019-11-28 13:11:43
1.表与表之间的关系 一对一:用户表和身份信息表,用户表是主表 例如:男人表 、女人表 create table man( mid int primary key auto_increment, mname varchar(32), wid int unique ); create table woman( wid int primary key auto_increment, wname varchar(32) ); 一对多:最常见的表关系,用户表和订单表 例如:员工表、部门表 create table emp( empno int primary key auto_increment, ename varchar(32), deptno int ); create table dept( deptno int primary key auto_increment, dname varchar(32) ); 多对多:例如学生表和课程表,通常情况都是将多对多的关系拆分为一对多或者多对一的关系。 至少需要三张表 create table student( sid int primary key auto_increment, sname varchar(32) ); insert into student (sname) values ('大拿'); insert into

MySql学习笔记

孤街醉人 提交于 2019-11-28 13:04:13
原文: http://blog.gqylpy.com/gqy/473 置顶:来自一名75后老程序员的武林秘籍——必读 (博主推荐) 来,先呈上武林秘籍链接: http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我会画原理图,会画 PCB,会模拟,会数字!玩过 PLC,玩过单片机,会用汇编,会用 C!玩过 ARM,比如 PLC,STM32,和时下正在起飞的 NXP RT1052!搞过 DSP,比如 TMS320F28335!搞过 FPGA,不管 Xilinx 还是 Altera,也不管是 Verilog 还是 VHDL,或者直接画数字电路图!我懂嵌入式系统,比如 uCOS 和 Linux!我懂开源的硬件,比如 Arduino 和树莓派!我也搞软件,学了一堆上位机的语言C#,JAVA,Python,Kotlin,Swift!会写爬虫工具,又自学写APP,不管Android 还是 IOS! 可是这一切有什么用呢?土鸡瓦狗!不值一提!干技术的永远就是最苦逼的那个人! 我相信看到这里的你,应该是个 IT

MySQL练习与小结

杀马特。学长 韩版系。学妹 提交于 2019-11-28 12:54:15
当你专注一件事的时候,时间总是过得很快! foreign key 练习 -- 切换数据库 use stumgr -- 删除班级表 drop table t_class1 -- 创建一个班级表 create table t_class1 ( cno int auto_increment not null, cname varchar (12) not null, room int (4), primary key (cno) ); -- 查看班级表 desc t_class1 -- 添加班级数据 insert into t_class1 values (null,'Javay1班',501),(null,'Javay2班',502),(null,'大数据1班',401); -- 查看班级表信息 select * from t_class1 -- 清空班级表数据 truncate table t_class1 -- 删除学生表 drop table t_student1 -- 创建学生表 create table t_student1 ( sno int primary key auto_increment, name varchar (20), sex char (1) default '男', age int, classno int, constraint fk_t