MySql学习笔记(一) —— 关键字的使用
1.distinct关键字
作用:检索出有不同值的列,比如一个商品表中存在供应商vend_id,一个供应商会对应很多商品,我们要查找有多少供应商,就可以用到该关键字去重。
select distinct vend_id from products;
2.limit关键字
作用:返回表中指定行范围的数据
select prod_name from products limit 5; --返回不多于5行的数据 select prod_name from products limit 5,5; --返回从5行开始的5行。
关键字limit在分页中应用较多,假设一个业务场景,每页显示10条数据,根据当前页数显示该页数据,pc表示当前页,则表中起始行 ts = pc*10-10+1
第一种方式:
select * from t_book limit ts,10
这样当数据量很大时候,后面页的数据需要跨越很多数据,我们可以采取第二中方式进行优化
第二种方式:
select * from t_book where book_id>(select t_id from t_book order by limit ts,1) limit 10
3.order by关键字
作用:对所查询的列进行降序排列
select prod_name from products order by prod_name;
也可以对多列进行排序
select * from products order by prod_price,prod_name; --这样只有当prod_price有相同的值时候,才会按prod_name排序
也可以在字段后加上DESC关键字进行指定降序排序
select prod_name from products order by prod_name desc;
order by 和 limit 组合可以查询最大值
select prod_price from products order by prod_price DESC limit 1;
order by 和 where 语句连着使用时要放在where后面。
4.and 和 or 结合使用
应用场景:返回商品价格大于10元,且由1002或1003生产的产品
select * from products where (vend_id=1002 or vend_id=1003) and prod_price>=10;
5.IN 和 NOT IN
用 IN 可以代替 or
应用场景:假设1002和1003生产的商品
select * from products where vend_id = 1002 or vend_id = 1003; -- or方法 select * from products where vend_id in (1002,1003); -- in方法
select * from products where vend_id not in (1002,1003); -- not in方法查询不是1002 和 1003 生产的商品
6. like 关键字
作用:进行一些模糊匹配,通常和一些通配符进行搭配查找
select * from products where prod_name like 'jet%' --匹配以jet开头的字符 select * from products where prod_name like '%dcb%' --匹配任何位置包含dcb字符商品信息 select * from products where prod_name like '_jet' -- _匹配一个字符
select * from products where prod_name like '[jdk]%'; --匹配以 j , d , k ,开头的商品 select * from products where prod_name like '[!jdk]%'; --匹配不以 j , d , k ,开头的商品
7.update 关键字
作用:根据一些条件更新数据库中的值
update products set prod_price = 100 where prod_name = jet; --修改商品名称为jet商品价格
如果不加判断会修改所有商品价格
8.union 关键字
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
UNION 不能用于列出两个表中所有的城市。如果一些客户和供应商来自同一个城市,每个城市只会列出一次。UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值!
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
MySql学习笔记(一) —— 关键字的使用的更多相关文章
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- MySql学习笔记四
MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...
- 一千行MySQL学习笔记 (转)
出处: 一千行MySQL学习笔记 /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权 ...
- mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...
- Mysql学习笔记(二)数据类型 补充
原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
随机推荐
- POPTEST老李谈JVM、JRE、JDK、java ee sdk with jdk区别
POPTEST老李谈JVM.JRE.JDK.java ee sdk with jdk区别 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等 ...
- 【微信开发】PHP中奖概率经典算法实例
$arr=array("50","30","20"); //这里简单列出三个数 $pro = array_sum($arr); // 概率数 ...
- 操作系统之cache、伙伴系统、内存碎片、段式页式存储管理
存储管理是操作系统非常重要的功能之一,本文主要介绍操作系统存储管理的基础知识,包括缓存相关知识.连续内存分配.伙伴系统.非连续内存分配.内存碎片等,并结合linux系统对这些知识进行简单的验证.文章内 ...
- 一文搞定FastDFS分布式文件系统配置与部署
Ubuntu下FastDFS分布式文件系统配置与部署 白宁超 2017年4月15日09:11:52 摘要: FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储.文件同步.文件访问(文件 ...
- IntelliJ IDEA应用[一]下载与安装
一.IntelliJ IDEA 12.1.6的下载 IntelliJ IDEA的官方下载网站:http://www.jetbrains.com/idea/download/
- C++ 编译报错discards qualifiers [-fpermissive]
声明了一个类 class Card { public: Card(const string&); int m_value; char m_suit; private: const static ...
- Unity 动态加载 Prefab
Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBu ...
- 【转载】stm32定时器-----珍藏版
今天看到一个讲解定时器特别细致入微的文章,真是难得... 原文地址:http://www.cnblogs.com/zjvskn/p/5751591.html 一.STM32通用定时器原理 STM32 ...
- java spring mvc 全注解
本人苦逼学生一枚,马上就要毕业,面临找工作,实在是不想离开学校.在老师的教导下学习了spring mvc ,配置文件实在繁琐,因此网上百度学习了spring mvc 全注解方式完成spring的装配工 ...
- Java泛型知识点:泛型类、泛型接口和泛型方法
有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类. 泛型类 容器类应该算得上最具重用性的类库之一.先来看一个没有泛型的情况下的容器类如何定义: public class Cont ...