MySQL学习笔记(二)——检索数据与过滤数据
检索数据和过滤数据也就是平时用到最多的增删改查里面的查了。
一、数据检索
检索单个列:
select column from table;

检索多个列:
select colunm1,column2 from table;

检索所有列:
select * from table;

检索不同行(DISTINCT):
检索不同行使用distinct去重,它必须直接放在列名的前面
我们看这样一个表:
这个表显示的不同学生选修的不同课程的成绩,如果我们查有哪些学生参加了考试
select distinct sno from sc;

限制结果(LIMIT):
为了返回第一行或指定的几行,可以使用limit
limit n:返回不多于n行
limit m,n:返回从行m开始的n行,注意行0检索出来的是第一行

排序检索数据(ORDER BY)
按单个列排序:
select * from table order by column;

order by排序默认是升序(ASZ),如果想降序排序则需要使用DESC:

按多个列排序:
select * from table order by column1,column2; 首先按列1排序,然后按列2排序

如图所示,先按课程名称排序,再按成绩排序。
二、数据过滤
使用where子句
where子句的操作符说明:
= :等于
<> :不等于
!= :不等于
< ,> :小于和大于
<=,>= :小于等于,大于等于
BETWEEN :指定两个值之间,包含指定的开始值和结束值。
在where子句中,单引号用来限定字符串,如果将值与字符串类型的列进行比较,则需要限定引号,用来与数值列进行比较的值不用引号。
空值检查:使用 IS NULL来校验空值。

AND操作符:
用来指示检索满足所有给定条件的行。
OR操作符:
用来指示检索匹配任一条件的行。
计算次序:优先处理AND操作符

先检索条件sno=9531101并且成绩大于等于90的行,然后检索sno=9512101或者满足后面条件的行。
IN操作符:
用来指定条件范围,范围中的每个条件都可以进行匹配。

in操作符完成的检索跟or是起到了相同的作用,那么使用in操作符的优点是什么呢?
1.in操作符的语法更清楚更直观,如果是多个条件,那么用or就可能是 where column = a or column = b or column =c......
2.使用in操作符计算的次序更容易管理
3.in操作符的执行更快
4.可以包含其他select语句
NOT操作符:
用来否定后跟条件的关键字。
通配符(%):
使用通配符必须使用操作符LIKE
%表示任何字符出现的任意次数

注意:尾空格可能会干扰通配符匹配。
通配符(_):
下划线通配符只匹配单个字符。

使用通配符的技巧:
1.不要过度使用通配符。
2.除非绝对有必要,否则不要把它们用在搜索的开始处。
3.仔细注意通配符的位置。
---------------------------------------------
Learning is endless......
---------------------------------------------
MySQL学习笔记(二)——检索数据与过滤数据的更多相关文章
- 【原】Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
本来应该上周更新的,结果碰上五一,懒癌发作,就推迟了 = =.以后还是要按时完成任务.废话不多说,第四章-第六章主要讲了三个内容:键值对.数据读取与保存与Spark的两个共享特性(累加器和广播变量). ...
- MySQL学习笔记二
Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...
- MySQL学习笔记(二):MySQL数据类型汇总及选择参考
本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型. ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定 ...
- MySQL学习笔记(二)
连接与断开服务器 应该以下面的方式连接MySQL服务器,而不是将密码以明文方式输入连接. C:\> mysql -h host -u user -pEnter password: ******* ...
- mysql学习笔记二 —— 权限体系
要点: 1.MySQL的API2.MySQL的相关文件3.MySQL的权限体系 1.MySQL的API 应用程序接口 (application program interface) 1.1 命令行中的 ...
- MySQL 学习笔记 二
Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...
- sql分类及基本sql操作,校对规则(mysql学习笔记二)
sql针对操作对象分为不同语言 数据操作(管理)语言 DML或者将其细分为 ( 查询 DQL 管理(增,删,改) DML) 数据定义语言(对保存数据的格式进行定义) DDL 数据库控制语言(针对数 ...
- MySQL学习笔记(二)—查询
一.多表连接查询 新建两张表t_user.t_order. 1.内连接 返回满足条件的所有记录. (1)显式内连接 使用inner join关键字,在on ...
- MySQL学习笔记二:权限管理
1. 创建和删除用户,mysql中的用户是由用户名和主机名来确定的 create user "user_name@host_name" identified by passwd; ...
- MySql学习笔记(二) —— 正则表达式的使用
前面介绍利用一些关键字搭配相应的SQL语句进行数据库查找过滤,但随着过滤条件的复杂性的增加,where 子句本身的复杂性也会增加.这时我们就可以利用正则表达式来进行匹配查找. 1.基本字符匹配 ' o ...
随机推荐
- Netty----start
一直欠着netty的帐,这次开始换上,netty 开始,学习的话,直接搞个源码的例子 http://central.maven.org/maven2/io/netty/netty-example/ ...
- Maven依赖机制理解
假设一个项目需要用到日志组件Log4j,那么有如下方式添加这个组件. 一.传统方式: 1.访问官网https://logging.apache.org/log4j/2.x/download.html, ...
- 【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】
==================================================================================================== ...
- Direct2D教程(九)渲染位图
概述 这篇的标题更确切的说应该叫位图画刷,这样才好和前几篇对应起来.在Direct2D中,位图的渲染也是通过画刷来实现的. Direct2D中并没有直接操作位图的接口,而是借助WIC(Windows ...
- 使用cacheBuilder时捕获内部指定异常
由于cacheBuilder是另起线程获取,对call方法中的抛出的异常进行了封装.所以我们在最外层捕获时是无法直接指定异常类型捕获的, 获取异常的原因判断实例类型 public static voi ...
- Eclipse 修改字符集
Eclipse 修改字符集 默认情况下 Eclipse 字符集为 GBK,但现在很多项目采用的是 UTF-8,这是我们就需要设置我们的 Eclipse 开发环境字符集为 UTF-8, 设置步骤如下: ...
- Objective-C中单例
单例模式,由于其简单好用容易理解.同时在出问题时也容易定位的特点,在开发中经常用到的一个设计模式. 一般在程序中,经常调用的类,如工具类.公共跳转类等,我都会采用单例模式 这个写法是苹果推荐的写法 ...
- 递归计算战士打靶S次打了N环一共同拥有多少种可能的问题
问题描写叙述 一个战士打了10次靶.一共打了90环,问一共同拥有多少种可能,并输出这些可能的组合. 思路 首先.嵌套10层循环进行穷举是不可取的,一是由于速度太慢,二是假设改成打20次靶就完蛋了. 事 ...
- 2.Qt Creator的使用
下面以一个简单的程序来说明Qt Creator的使用: 首先,按图片步骤创建一个Qt项目 创建完成后 上图标记处工具栏提供了简化树形视图.分栏等功能(自行尝试吧...) 在使用Qt制作一个界面时,我们 ...
- 在Fedora 25中更换openjdk为oracle jdk
本文修改自csdn: openjdk的好处是: 1.升级方便,fedora团队社区负责维护升级,安全稳定,质量有保证. 2.已经支持了很多应用:而且还越来越强大 3.支持eclipse开发. 实际上, ...