MySQL权威指南读书笔记(二)

2016-01-29 13:50 3 1 收藏

MySQL权威指南读书笔记(二), MySQL权威指南读书笔记(二)

【 tulaoshi.com - PHP 】

二,select 的使用

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

    select * from president;

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

    select birth from president where last_name=’Eisenhower’;

select语句的通用形式如下:

    select 你要的信息
    from 数据表(一个或多个)
    where 满足的条件

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

1,用各种操作符来设定检索条件

要想让select语句只把满足特定条件的记录检索出来,就必须给它加上where字句来设置数据行的检索条件。只有这样,才能有选择地把数据列的取值满足特定要求的那些数据行挑选出来。可以针对任何类型的值进行查找,比如说,对数值进行搜索
select * from score where score95; //显示所有分数在95分以上的信息
也可以针对字符串值进行查找
select last_name,first_name from president where last_name=’Tom’; //找出所有姓tom的总统
还可以对不同类型的值进行组合查找
select last_name,first_name,birth,state from president
where birth<’1950-1-1’ and (state=’VA’ or state=’BA’);
//找出1950年前出生于VA州或BA州的总统
可见 where子句中可以使用的是算术操作符(+-*/%),比较操作符(<=)以及逻辑运算符,我们应该熟练理解这些操作符的含义(都很简单)

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;
如果合并之后输出列的

来源:http://www.tulaoshi.com/n/20160129/1491731.html

延伸阅读
标签: Web开发
对比了多个javascript框架,不得不承认JQuery真的是个很优秀的框架。如果你还没有在你的框架中使用它,赶快扔掉那些臃肿、使用不方便的框架,这会给你的前端设计节约不少的代码。 为什么选择Jquery 我们在页面写javascript代码时,你可能会发现经常要遵循这样一种模式:选择一个元素或一组元素,然后以某种方式对其进行操作(如显示、隐...
标签: Web开发
基本的CSS选择器 熟悉web开发的人员一定对css的选择功能相当的了解,通过css选择功能,我们可以在css样式文件里轻松的将样式应用到选择的页面元素上。jQuery也正是采用了这样的机制,使jQuery的元素选择能力易常强大。 a——选择所有a元素 #specialID——选择匹配id为specialID的元素 .specialClass——选择匹配拥有css类sepcialClass的元素 a...
Describing Ethernet interfaces 基本内容:描述以太网概念描述以太网的帧使用网络的效用 以太网标准实施在TCP/IP协议模型的网络接口层以太网网络的三个重要组成部分是:1,以太网包又称为帧,这些数据单元在网络上传输2,以太网访问方法CSMA/CD用来控制包的传输和信息的流量控制3,硬件电缆,连接器,电路,用于和网络之间的数据传输 CSMA/CD...
Introducing the TCP/IP model 基本内容:描述网络模式的基本原理描述TCP/IP模型的层次描述基本对等交流和相关的协议 数据传输协议是用于设备间交流信息的规则,描述了:语法:数据格式和编码语义:控制信息和纠错能力时间选择:速度的匹配和先后顺序 TCP/IP模式是提供给solaris系统用于数据交流的协议栈下面的映射关系使你更加清楚的理解网络模...
  最近一直在看《Unix网络编程》这本书,觉得这本书很适合初学socket编程的人(比如说我自己 ^_^ )。我一直对于多播的实现比较模糊,在看了书上的多播部分的介绍,才发现在程序中实现一个基本的多播功能是如此简单。   在这里我不想照本宣科的大说什么理论,概念的东东,我的目的是说明在我们的代码中如何实现多播功能。   开...

经验教程

626

收藏

100
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部