mysql基础(3)-高级查询】的更多相关文章

这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条语句执行流程之前,我们看看mysql的基础架构. 图来自极客时间的mysql实践,该图是描述的是MySQL的逻辑架构. server层包括连接器.查询缓存.分析器.优化器.执行器涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数所有跨存储引擎的功能都在这一层实现,比如存储过程.触发器.视等.…
高级查询:1.连接查询 #适用于有外键关系的  没有任何关系没法用select * from Info,Nation #同时查询这俩表并把两表每个数据相互组合,形成笛卡尔积 select * from Info,Nation where Info.nation=Nation.code select Info.code,Info.name,Info.sex,Nation.name as '民族',Info.birthday from Info,Nation where Info.nation=Na…
MySQL执行SQL脚本文件的命令: 从cmd进入mysql命令行模式: mysql> -uroot –prootpassword –Ddatabasename 如果是我本地的数据库,就相应修改为: Mysql> -uroot –p111111 –Dmy_database < xxx.sql 执行SQL脚本文件: mysql> source E:\program files\sql\xxxxxx.sql. 如下图所示: 2. MySQL基础知识: 2.1 连接MySQL数据库 主机…
以前学习的查询语法: select 字段名 from 表名 where 条件 其实,查询的语法变化很多: 1. select 可以查询表达式, 表达式就是 运算符+操作数. 比如 1 + 1 2 * 3 2-1+5*9 Math.random() * 1; 可以看出,数据库中,字符串+字符串不是拼接,而是计算加法, 试一试,拿着’1’ + ‘a123’. 扩充,如果非要让两个字符串是拼接,咋办? 2. 表的别名 其实列也可以起别名: 3. dual表的使用. 当我们查询表达式的时候,需要写出表的…
1.分页查询(MySQL特有的,oracle中没有) 栗子1: 每页最多3条记录:pageSize=3:第一页:SELECT * FROM product LIMIT 0,3第二页:SELECT * FROM product LIMIT 3,3第六页:SELECT * FROM product LIMIT 15,3 加了个条件: SELECT * FROM product WHERE id>5…
此随笔用到的数据全是来自  关于mysql中表关系的一些理解(一对一,一对多,多对多) 提及的    学院表,学生表,学生详情表,选课表,课程表 单标查询:(查看学生表的学生名单) select stu_name from student; 指定条件查询:(查询学生表中学号大于3的学生姓名) ; 模糊查询(查询学生表中以小为姓的学生的全部信息) select * from student where stu_name like"小%"; select * from student wh…
1.CREATE TABLE grade(stuID INT AUTO_INCREMENT PRIMARY KEY NOT NULL,stuName VARCHAR(32),stuAge INT ) ##修改表名ALTER TABLE grade RENAME Grade1; ##伪造记录INSERT  INTO grade1(stuName,stuAge)VALUES('你是狗',22) ##查询SELECT * FROM grade1; ##添加ALTER TABLE grade1 ADD…
1.分组函数 需求20:查询所有商品平均零售价SELECT AVG(salePrice) FROM product 需求21:查询商品总记录数SELECT COUNT(id) count FROM product 需求22:查询分类为2的商品总数SELECT COUNT(id) count FROM product WHERE dir_id=2; 需求23:查询商品的最小零售价,最高零售价,以及所有商品零售价总和SELECT MIN(salePrice) 最小零售价,MAX(salePrice)…
1.SELECT语句 2.运算符的优先级 利用Navicat中的查询方法: 栗子1:查询所有货品信息 栗子2:查询所有货品的id,productName,salePrice 当查询错误的时候出现的界面: 栗子3:查询所有货品id,名称和批发价(批发价=卖价*折扣) 栗子4:查询所有货品的id,名称,和各进50个的成本价(成本=costPrice) 栗子5:查询所有货品的id,名称,各进50个,并且每个运费1元的成本 SELECT id,productName,(salePrice*cutoff+…
students表 id class_id name gender score 1 1 小明 M 90 2 1 小红 F 95 3 1 小军 M 88 4 1 小米 F 73 5 2 小白 F 81 6 2 小兵 M 55 7 2 小林 M 85 8 3 小新 F 91 9 3 小王 M 89 10 3 小丽 F 88 classes表 id name 1 一班 2 二班 3 三班 4 四班 ①基本查询 SELECT * FROM students; SELECT * FROM classes;…
2. 条件查询 语法 ​ select 查询列表 from 表名 where 筛选条件: 分类 按条件表达式筛选 简单的条件运算符:> < = != <> >= ⇐ 按逻辑表达式筛选 逻辑运算符: &&,||,!: and,or ,not 模糊查询:like,between and, in 一般和通…
 1,查出学生详情表性别为男,并同时年龄大于18的  2,根据上述的结果,查出学生表对应的姓名,年龄,性别,address  3,查出学生的(姓名,年龄,性别,所属学院) 还可以添加注释…
本文内容: MySQL的基础查询语句 链接查询 联合查询 子查询 渗透测试常用函数 1,MySQL基础查询语句: select * from 表 order  by ASC/DESC; ASC:从小到大(默认). DESC:从大到小. 补充:在不知道字段名称的情况下,order by可以使用数字代替,用数字几就是按第几个字段排序. select * from 表 limit n,m; n:表示从第几行开始取. m:表示取几条. 注意多种查询可以合并,先后顺序为:条件>排序=>分组>分页.…
在西面内容中    car  和  nation   都表示 表名 1.无论 高级查询还是简单查询   都用  select.. from..语句   from  后面 加表名  可以使一张表也可以是多张表   表和表之间用逗号隔开 2. 简单查询和高级查询 不是 独立的   高级查询里面 同样可以用到 简单查询   3.简单查询与复杂查询的联系: 简单查询里面 后面的条件 未知时 需要用另一个 查询来代替  这样就变成了高级查询 4.链接查询  和  联合查询的区别:1. 链接查询 连接两张以…
目录 MySQL 高级查询操作 一.预告 二.简单查询 三.显示筛选 四.存储过程 五.查询语句 1.作为变量 2.函数调用 3.写入数据表 备注 附表一 附表二 相关文献 博客提示 MySQL 高级查询操作 一.预告 最近刚刚入职了一家连锁大公司,从事硬件工程师工作(好吧,其实是做一些简单修理...).我发现了什么呢,那就是不管到哪个行业那个阶段,数据库是必须会查询的.在早期,我写过SQL 简单新建删除权限修改,但毕竟过于基础.现在我想写一些高端查询操作,具体可以参考下方目录或大小标题段落.…
MySQL高级查询 高级查询 关键字书写顺序  关键字执行顺序select:投影结果       1    5 from:定位到表             2    1 where:分组前第一道过滤       3    2 group by:分组                4    3 having:分组后第二道过滤             5    4 order by:排序                      6    6 limit:        最后 ---分页 *目的:为…
1.基础查询where 高级条件查询Where子句 SELECT empno,ename,sal,hiredate FROM t_tmp WHERE deptno=10 AND (sal+IFNULL(comm,0)*12)>=15000 AND DATEDIFF(NOW(),hiredate)/365>=20; Where 中搭配四种运算符 算数运算符:+ - * / % 比较运算符:> >= < <= = != IN IS NULL, IS NOT NULL,BET…
一.语句基础 1.创建数据库:create database 数据库名(不能汉字,不能数字.符号开头) 2.删除数据库:drop database 数据库名 3.选用数据库:use 数据库名 4.创建表:create table 表名 ( 列名 数据类型, ... ... ... 设置主键列:primary key 设置唯一列:unique 设置自增列:identity(1,1)-从1开始计数,每次递增1 设置非空:not null ) 5.添加列:alter table 表名 add 列名 数…
第四章 MySQL高级查询(二) 一.EXISTS子查询 在执行create 或drop语句之前,可以使用exists语句判断该数据库对像是否存在,返回值是true或false.除此之外,exists也可以作为where语句的子查询,语法如下: SELECT --FROM 表名 WHERE  EXISTS(子查询): EXISTS关键字后面的参数是一个任意的子查询,如果该子查询没有返回行,则EXISTS子查询的结果为true,此时再执行外层查询语句.如果EXISTS子查询结果为false,此时外…
第三章 MySQL高级查询(一) 一.SQL语言的四个分类 1.       DML(Data Manipulation Language)(数据操作语言):用来插入,修改和删除表中的数据,如INSERT,UPDATE,DELECT. 2.       DDL(Data Definition Language)(数据定义语言):创建或删除数据库对象操作,有CREATE,DROP,ALTER三个语法组成. 3.       DQL (STructured Query Language)(数据查询语…
1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. 当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行.两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2. B, EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表…
Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select 语句查询所有的字段跟指定的字段. 2.按照条件查询.使用运算符以及不同的关键字进行查询. 3.为表跟字段起别名 4.聚合函数的使用. 5.设置字段为主键. 也就是自动增长. 二丶.使用select 语句查询所有的字段跟指定的字段. 1.简单查询.以及需要了解的知识 查询所有命令:  select…
一.T-sql基础语句 1.创建数据库:create database 数据库名  (不能中文,不能数字开头,不能符号开头) 2.删除数据库:drop database 数据库名 3.选择数据库:use 数据库名 4.创建表:create table 表名 ( 列名  数据类型, 列名  数据类型, 列名  数据类型 设置主键列:primary key 设置唯一列:unique 设置非空:not null 设置自增列:identity(1,1)   -从1开始计数,每次自增1 ) 5.删除表:d…
MySQL  增删查改 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into]<表名> [列名] values <列值> 例:insert into Strdents (姓名,性别,出生日期) values ('XXX','男','1990/6/15') 注意:如果省略表名,将依次插入所有列 2.使用insert,select语句将现有表中的 数据添加到已有的新表中 语法:insert into <已有的新表> <列名> s…
MySQL的外键 什么是外键,很简单保持数据一致性的一个约束键.如果你有两张表,第一张是学生表,第二张表是一个成绩表,我们来看看保持数据一致性,其实在Django等框架的模型中中也能做关联获取对象. 第一张表 成绩表 第二张表 学生表 保持数据一致性 我们来看看,当键不一致的时候,数据是插不进去的哦,保证了数据一致性. mysql> insert into student(sid,name) values("A0004","Tom"); ERROR 1452…
DQL高级查询 多表查询(关联查询.连接查询) 1.笛卡尔积 emp表15条记录,dept表4条记录. 连接查询的笛卡尔积为60条记录. 2.内连接 不区分主从表,与连接顺序无关.两张表均满足条件则出现结果集中. --where子句 select * from emp,dept where emp.deptno = dept.deptno --inner join…on… select * from emp inner join dept on emp.deptno = dept.deptno…
01.SQL高级查询_排序     1.排序语句:order by 排序字段名  asc(默认的-升序) / desc(降序);     2.例如:查询所有服装类商品,将查询结果以价格升序排序:         select * from product where category_id = '服装' order by price asc;     3.可以对数值类型.日期类型.英文字母的字符串字段进行排序:     4.对多列进行排序:         1).需求:查询所有的服装类商品,按价…
1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. 当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行.两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2. B, EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表…
python进阶09 MySQL高级查询 一.筛选条件 # 比较运算符 # 等于:= 不等于:!= 或<> 大于:> 小于:< 大于等于>= 小于等于:<= #空:IS NULL 非空:IS NOT NULL # NULL 的查询比较特殊,只有在条件里加上IS NULL 或IS NOT NULL 才能够查询出NULL #逻辑运算符 #与:AND 或:OR 非:NOT 范围查询 BETWEEN a AND b SELECT * FROM students WHERE ag…
单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值相等 <,> 小于,大于 >=,<= 大于等于,小于等于 between... and.. 两个值之间(左小右大,左右都闭),等同于 >=and <= is null,is not null 为空,不为空 (注意null 不能使用=进行衡量) and 并且,and 语句优先…