MySQL快速回顾:高级查询操作】的更多相关文章

目录 MySQL 高级查询操作 一.预告 二.简单查询 三.显示筛选 四.存储过程 五.查询语句 1.作为变量 2.函数调用 3.写入数据表 备注 附表一 附表二 相关文献 博客提示 MySQL 高级查询操作 一.预告 最近刚刚入职了一家连锁大公司,从事硬件工程师工作(好吧,其实是做一些简单修理...).我发现了什么呢,那就是不管到哪个行业那个阶段,数据库是必须会查询的.在早期,我写过SQL 简单新建删除权限修改,但毕竟过于基础.现在我想写一些高端查询操作,具体可以参考下方目录或大小标题段落.…
前提要述:参考书籍<MySQL必知必会> 利用空闲时间快速回顾一些数据库基础. 4.1 连接 在最初安装MySQL,可能会要求你输入一个管理登录(通常为root)和一个口令(密码). 连接MySQL需要以下信息: 主机名(计算机名)--如果连接到本地MySQL服务器,为localhost: 端口(如果使用默认端口3306之外的端口): 一个合法的用户名(默认为root) 用户口令(密码,如果需要的话). cmd登录前一篇有说. 会简单介绍Navicat Premium 12,但是后面都是执行命…
离散查询select * from car where price=30 or price=40 or price=50 or price=60;select * from car where price in(30,40,50,60)取出数据select * from car where price not in(30,40,50,60)去掉数据 聚合函数(统计查询)select count(*) from carselect count(code) from car #取所有的数据条数sel…
前面我们已经介绍了在Python3.x中如何连接一个Mysql数据库,以及怎么样对这个数据库创建一个表,增删改查表里的数据.想必大家对Mysql数据库和简单的sql语句有了一定的了解,其实sql语句博大精深,里面的知识点非常的多,估计介绍一个星期也难以介绍全面.今天我们就来通过Mysql这种普遍使用的关系型数据库来深入了解一下sql语句中比较高级的查询部分. 准备工作 首先我们在Mysql里建立三张表,分别是:“学生表”,“学科表”和“学生成绩表”,建表语句如下图所示: 学生表 学科表 学生成绩…
转自:https://www.cnblogs.com/whgk/p/6149009.html 序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可以让你知道这些基本的复杂查询是怎么实现的,但是建议还是需要多动手去敲,虽然理…
一.MongoDB索引 为什么使用索引? 假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页.这就是目录索引,帮助读者快速找到想要的章节.在数据库中,我们也有索引,其目的当然和我们翻书一样,能帮助我们提高查询的效率.索引就像目录一样,减少了计算机工作量,对于表记录较多的数据库来说是非常实用的,可以大大的提高查询的速度.否则的话,如果没有索引,计算机会一条一条的扫描,每一次都要扫描所有的记录,浪费大量的cpu时间. 为了查询方便,我们创…
序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可以让你知道这些基本的复杂查询是怎么实现的,但是建议还是需要多动手去敲,虽然理解了什么是内连接等,但是从理解到学会,是完全不一样的感觉. --WZY 一.单表查询 1.1.…
高级查询: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…
表单查询 1. 完整的查询语句语法 select distinct(* or 字段名 or 四则运算 )from 表名 where 条件 group by 条件 having 条件 order by 排序 limit 控制从哪里开始显示以及显示几条 distinct表示的是去除查询结果的重复数据,查询结果必须是完全相同的. 以上是书写顺序,必须按照这个顺序来书写sql语句 但是并不代表执行顺序 2.简单查询 准备数据 create table stu(id int primary key aut…
8.1 排序数据 检索出的数据并不是以纯粹的随机顺序显示的.如果不排序,数据一般将以它在底层表中出现的顺序显示.这可以是数据最初添加到表中的顺序.但是,如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存储空间的影响.因此,如果不明确控制的话,不能依赖该排序顺序. 关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义. 子句的解释:一个子句通常由一个关键字和所提供的数据组成.SQL语句由子句构成,有些子句是必需的,而有些是可选的. 为了明确地排序用S…
一.什么是关系? 1.分析:有这么一组数据关于学生的数据 学号.姓名.年龄.住址.成绩.学科.学科(语文.数学.英语) 我们应该怎么去设计储存这些数据呢? 2.先考虑第一范式:列不可在拆分原则 这里面学科包含了三个学科,所以学科拆分为:语文学科.数学学科.英语学科,同样的成绩也要拆分为语文成绩.数学成绩.英语成绩.这样既满足了第一范式,各列可以设计为: 学号.姓名.年龄.住址.语文学科.数学学科.英语学科.语文成绩.数学成绩.英语成绩 3.在考虑第二范式:唯一标识 也就是说在1NF的基础上,非K…
前提要述:参考书籍<MySQL必知必会> 6.1 更新数据 为了更新(修改)表中的数据,可使用UPDATE语句.可采用两种方式使用UPDATE: 更新表中特定的行: 更新表中所有的行. UPDATE语法的结构由3部分组成: 要更新的表: 列名和它们的新值: 确定要更新行的过滤条件(WHERE关键字). 格式: UPDATE SET field1=newValue1, field2=newValue2,... WHERE condition; 解释: SET命令用来将新值赋给被更新的列. 使用W…
SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需.SQL数据库有很多,MySQL是一种,本文基本都是SQL通用标准,有些标准很不统一的地方就用MySQL的写法了.希望本文帮你快速了解SQL的基本操作和概念. 文章格式上有些问题,可以点击这里获得更加的阅读体验 目录 检索 过滤检索结果 数据汇总处理 分组 给检索结果排序 表操作 插入数据 更新删除数据 子查询-迭代查询 联结-关联多个表 组合查询 视图…
9.1 计算字段 存储在数据库表中的数据一般不是应用程序所需要的格式.比如: 如果想要在一个字段中既显示公司名,又显示公式的地址,但这两个信息一般包含在不同的表列中. 城市.州和邮政编码存储在不同的列中,但邮件标签打印程序却需要把它们作为一个恰当格式的字段检索出来. 列数据是大小写混合的,但报表程序需要把所有数据按大写表示出来. 在上面举的例子中,存储在表中的数据都不是应用程序所需要的.我们需要直接数据库中检索出转换.计算或格式化过的数据:而不是检索出数据,然后在客户机应用程序或报告程序中重新格…
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数据库 主机…
继续做以下的前期准备工作: 新建一个测试数据库TestDB: ? 1 create database TestDB; 创建测试表table1和table2: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE table1 (   customer_id VARCHAR(10) NOT NULL,   city VARCHAR(10) NOT NULL,   PRIMARY KEY(customer_id) )ENGINE=INNODB DEFAULT CH…
以前学习的查询语法: select 字段名 from 表名 where 条件 其实,查询的语法变化很多: 1. select 可以查询表达式, 表达式就是 运算符+操作数. 比如 1 + 1 2 * 3 2-1+5*9 Math.random() * 1; 可以看出,数据库中,字符串+字符串不是拼接,而是计算加法, 试一试,拿着’1’ + ‘a123’. 扩充,如果非要让两个字符串是拼接,咋办? 2. 表的别名 其实列也可以起别名: 3. dual表的使用. 当我们查询表达式的时候,需要写出表的…
http://www.cnblogs.com/whgk/p/6149009.html 优化:http://www.ihref.com/read-16422.html MYSQL常用的几种连接查询方法…
此随笔用到的数据全是来自  关于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…
/*查询选修课程‘3-105’且成绩在60到80之间的所有记录.*/SELECT * FROM result WHERE CNO='3-105' AND GRADE > 60 AND GRADE<80;/*查询成绩为85.86或88的记录.*/SELECT * FROM result WHERE GRADE>=85 AND GRADE<=88;/* 查询95031班的学生人数*/SELECT count(*) AS '人数95031班级' FROM student WHERE CL…
SELECT SQL_NO_CACHE *FROM softdb_testWHERE id > (SELECT idFROM softdb_testORDER BY id DESCLIMIT 5000000 , 1 )LIMIT 10 表中有1200万的数据,普通limit 分页,30多秒,用这种方法,大概0.4秒,其中主键是id,有索引.…
 1,查出学生详情表性别为男,并同时年龄大于18的  2,根据上述的结果,查出学生表对应的姓名,年龄,性别,address  3,查出学生的(姓名,年龄,性别,所属学院) 还可以添加注释…
高级新增操作 ①基本插入操作: insert into 数据表名称(字段) values (值); ②批量插入操作: insert into 数据表名称(字段) values (值1),(值2),(值3)... ③主键冲突 解决主键冲突的方法一共有两种形式: 第一种方案: ,’e’) on duplicate key update 字段 = 字段值; 第二种方案:基本语法: replace into 数据表(字段) values (值); 如果数据表中不存在这条记录,则添加. 如果数据表中存在这…
注:该MySql系列博客仅为个人学习笔记. 在使用MySql的时候,基本都是用图形化工具,如navicat.最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面学习MySql的一些高级查询,MySql性能和SQL语句的优化等打个基础. 用博客来记录下学习的过程,方便以后查阅和加强记忆.有错误的地方还请指出! 一.MySql的基本操作命令 注: <>表示参数.[]表示可选项 连接数据库:mysql> mysql -u<username>…
第一章 数据库设计 一.数据需求分析: 数据需求分析是为后续概念设计和逻辑结构设计做准备. 结构:(1)对现实世界要处理的对象进行详细的调查. (2)收集基础数.据. (3)对所收集的数据进行处理. (4)确定新的功能. 二.概念结构设计: 主要的五项概念:实体.属性.域.码.实体间联系. 实体之间的联系:(1)1:1 在任意一方建立另外一方的外键. (2)1:m 在多的一方建立一的外键. (3)m:n 建立第三张表,双方的主键在第三张表中作为外键. 三.使用E-R模型进行概念结构设计: E-R…
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4050825.html [正文] 首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作 一.ResultSet接口的介绍: 对数据库的查询操作,一般需要返回查询结果,在程序中,JDBC为我们提供了ResultSet接口来专门处理查询结果集.…
1.注释语法:--,#2.后缀是.sql的文件是数据库查询文件3.保存查询4.在数据库里面 列有个名字叫字段   行有个名字叫记录5.一条数据即为表的一行 CRUD操作:create 创建(添加)read 读取update 修改delete 删除1.添加数据insert into Info values('p009','张三',1,'n001','2016-8-30 12:9:8') ; 给特定的列添加数据insert into Info (code,name) values('p010','李…
第四章 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)(数据查询语…