在mysql中select_MYSQL中select详解

本文详细介绍了如何使用 MySQL 的 `SELECT` 语句进行数据检索,包括使用 `WHERE` 子句设定条件、处理 `NULL` 值、排序查询结果、限制返回行数、对输出列进行计算和命名,以及与日期相关的查询操作。通过实例展示了如何高效地从数据库中获取所需信息,并提供了实用的查询技巧。
摘要由CSDN通过智能技术生成

数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把整个数据表内的内容都显示出来

select * from president;

也可以只选取某一个数据行里的某一个数据列

select birth from president where last_name=’Eisenhower’;

select语句有几个子句,他们的各种搭配能帮你查出最感兴趣的信息,这些子句可以很简单,也可以很复杂,看看作者是如何详细讲解的

1,        用各种操作符来设定检索条件     要想让select语句只把满足特定条件的记录检索出来,就必须给它加上where字句来设置数据行的检索条件。只有这样,才能有选择地把数据列的取值满足特定要求的那些数据行挑选出来。可以针对任何类型的值进行查找,比如说,对数值进行搜索 select * from score where score>95; //显示所有分数在95分以上的信息     也可以针对字符串值进行查找 select last_name,first_name from president where last_name=’Tom’; //找出所有姓tom的总统     还可以对不同类型的值进行组合查找 select last_name,first_name,birth,state from president where birth=)以及逻辑运算符,我们应该熟练理解这些操作符的含义(都很简单) 2,        NULL 值的特别处理     这是一种不属于任何类型的值。它通常用来表示“没有数据”“数据未知”“数据缺失”“数据超出取值范围”“与本数据列无关”“与本数据列的其它值不同”等多种含义。在许多情况下,NULL 值是非常有用的。     我们的各种操作符是不能对NULL 值进行处理的,如果相对NULL 值进行查找,用的是 is null 或 is not null 来进行判断,举例如下: select last_name,first_name,birth,state from president where death is null; //找出所有没死的总统     在某些情况下,NULL 值是很有用的类型,大家慢慢就会理解的。 3,        查询结果进行排序     一般说来,如果创建了一个数据表并向里面插入了一些记录,当发出一条select * from name命令的时候,数据记录在查询结果中的先后顺序通常与它们被插入时的先后顺序一样.这当然符合我们的思维习惯.但这只是一种"想当然"的假设而已,事实上,但记录被删除时,数据库中会产生一些空的区域,MYSQL会用新的记录来填补这些区域,也就是说,这个时候本假设就不正确了.因此我们必须记住一点,从服务器返回的记录行的先后顺序是没有任何保证的!如果想要按照一定的顺序,就必须使用order by 子句来设置这个顺序. select last_name,first_name,birth,state from president order by last_name; //让总统们的名字按字母顺序排列     还可以设置排列的升序降序 select last_name,first_name from president order by state DESC,last_name ASC;     //先按照出生地的降序排列,同出生地的按照姓氏的升序排列     注意:如果结果中含有NULL 值,默认情况下他们总是出现在查询结果的开头。 4,        限制查询结果中数据行个数     这个简单,只要用limit 子句就可以了,看两个例子: select last_name,first_name,birth,state from president order by birth limit 5;  //只想看前5个 order by birth limit 10,5; //返回从第11个记录开始的5个记录(跳过了10个)     小技巧:从president表中随机找出一个总统来玩: select last_name,first_name,birth,state from president order by rand() limit 1; //这是用了表达式求值的方法,在哪里都管用 5,        对输出列进行求值和命名     为了提高效率,MYSQL还可以把表达式的计算结果当作输出列的值。表达式可以很简单,也可以很复杂。例如:下面这个查询有两个输出列,前一个输出列对应一个非常简单的表达式(一个常数),而后一个输出列则对应着一个使用了多个算术运算符和两个函数调用的复杂表达式。 Select 17,format(sqrt(3*3+4*4),0))     输出:17 5     再看这个命令:把两个输出列合并成一个 select concat(first_namem,’ ‘,last_name),concat(city,’,’,state) from president; 如果合并之后输出列的标题过长,则可以给其一个别名,如: select concat(first_namem,’ ‘,last_name) as name, concat(city,’,’,state) as birth place from president;这样就比较美观了。 6,        和日期有关的问题     首先记住:在MYSQL中,年份是放到最前面的!我们通常对日期进行下列操作:     按日期进行排序     查找某个日期或日期范围     提取日期中的年,元,日各个部分     计算两个日期的间隔     用一个日期求出另外一个日期     看例子: select * from event where date=’2002-10-01’ //看看这天有何考试信息? select last_name,first_name,birth,state from president where death>’1900-01-01’ and death

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值