热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据库技术:mysql学习之基础篇04

五种基本子句查询查询是mysql中最重要的一环,我们今天就来说一下select的五种子句中的where条件查询:首先我们先建立一张商品表:goods由于商品数目太多,我就不一一列举

五种基本子句查询

查询是mysql中最重要的一环,我们今天就来说一下select的五种子句中的where条件查询:

 首先我们先建立一张商品表:goods

由于商品数目太多,我就不一一列举了。

mysql学习之基础篇04

 

在这里我说一下这些列名都是什么意思:

goods_id 主键;goods_name 商品名称;cat_id 商品所属栏目;goods_nummber 商品库存;shop_price 本店价格;market_pprice 市场价格;click_count 点击量。

我们取出主键为32的商品:

select * from goods where goods_id=32;select * from goods where goods_id=32;

mysql学习之基础篇04

 

我们注意,一定要把where表达式理解清楚,只要where后面的条件为真,那么语句就执行

我们看到主键为32的商品本店价格为3010,市场价格为3612,

 那么我们也可以用

select * from goods where shop_price=3010 and market_price=3612;

来取出它

mysql学习之基础篇04

 

我们来取出商品栏目不等于3的商品:

select * from goods where cat_id !=3;

mysql学习之基础篇04

 

取出本店价格小于3000的商品:

select * from goods where shop_price<3000;

 mysql学习之基础篇04

 

取出商品栏目是4和11的商品:

select * from goods where cat_id in (4,11);

 mysql学习之基础篇04

 

取出商品本店价格在100500之间的商品(含边界):

select * from goods where shop_price between 100 and 500;

 mysql学习之基础篇04

 

取出商品栏目不在311的商品(andnot in分别实现)

select * from goods where cat_id !=3 and cat_id !=11;

 mysql学习之基础篇04

select * from goods where cat_id not in (3,11);

 mysql学习之基础篇04

 

 取出第三个栏目下面本店价格<1000>3000,并且点击量>5的商品:

在这里我们使用括号来控制优先级:

select * from goods where cat_id=3 and (shop_price<1000 or shop_price>3000) and click_count>5;

 mysql学习之基础篇04

 

模糊查询:like

%通配任意字符

_匹配单一字符

我们想查出名称以诺基亚为开头的商品:

select * from goods where goods_name like '诺基亚%';

 mysql学习之基础篇04

我们想查出名称以诺基亚为开头,并且后面只有三个字符的商品:

select * from goods where goods_name like '诺基亚___';

mysql学习之基础篇04

 

把列当成变量,既然是变量,那就可以进行运算,比较

取出商品id,商品名,本店价格比市场价格省的钱:

select goods_id,goods_name,market_price - shop_price from goods ;

 mysql学习之基础篇04

这种结果叫做广义投影。

我们还可以给列差价起个名字叫做discount但是这个列并不在原表中存在,只存在于结果中:

select goods_id,goods_name,market_price-shop_price as discount from goods;

mysql学习之基础篇04

如果要对结果继续进行查询,需要用having:

比如我们想从上面的结果中取出差价大于200的商品:

select goods_id,goods_name,market_price-shop_price as discount from goods having discount>200;

mysql学习之基础篇04

一定注意这里的having不能换成where,否则会报错,因为我们是对结果进行再次查询,而不是从原来的表里面直接查询,因为原来的表里面没有discount这一列。

接下来我们用一道面试题来练习:

把下面表中[20,29]的值改为20[30,39]的值改为30

mysql学习之基础篇04

这道题的核心在于我们要能想到把列当成一个变量来进行运算,对其除以10取模再乘10。

update mian set num=floor(num/10)*10 where num between 20 and 39;

 mysql学习之基础篇04

 

再来做道练习题:goods表中商品名为‘诺基亚xxxx’的商品名称显示为‘htcxxxx’。

提示:用到两个函数,一个是截取字符串函数substring(),一个是连接字符串函数concat()。

select goods_name,concat('htc',substring(goods_name,4)) from goods where goods_name like '诺基亚%' ;

mysql学习之基础篇04

 

需要了解更多数据库技术:mysql学习之基础篇04,都可以关注数据库技术分享栏目—编程笔记


推荐阅读
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • 本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
author-avatar
我就是个2丶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有