数据检索
在sql中select语句通常用于检索数据库,或者检索满足你设定条件的数据,以下是简单的select语句的格式:
select "column1"[,"column2",etc] from "tablename"
[where "condition"];
[] = optional
其中列的名字跟着select关键字,它决定了哪一列将被作为结果返回。你可以任意指定多个列,或者你可以使用"*"来选择所有的列。
表的名字是紧跟着from关键字的,它指出了哪个表格将作为最后结果被查询。
而where子句(可选)指出哪个数据或者行将被返回或者显示,它是根据关键字where后面描述的条件而来的。
在where子句中可以有以下的条件选择:
= 等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于
like 参见以下注释
注释:like 模式匹配操作符同样可以使用在where子句的条件条件中。like是一个功能强大的操作符,它可以让你选择你"喜欢"指定的行。百分号"%" 可以被用来匹配任何可能的字符,它可以出现在指定字符的前面或者后面,例如:
select first, last, city
from empinfo
where first like 'er%';
以上这条sql语句将会匹配任何名字以'er'开始的名字,这里必须使用单引号。
或者你也可以使用"%"在字符的前面,例如:
select first, last
from empinfo
where last like '%s';
这条sql语句将会匹配任何名字以's'结尾的名字。这个"%"的作用就跟dos命令的"*"号很相似。
select * from empinfo
where first = 'eric';
以上的sql语句只选择first名字为'eric'的行。
这里有一个名为"empinfo"的表:
first | last | id | age | city | province |
zhang | jiangsheng | 95123043 | 23 | 汕头 | 广东 |
huang | weidong | 98122001 | 23 | 深圳 | 广东 |
li | simin | 98111234 | 34 | 珠海 | 广东 |
zhang | sanmei | 99232211 | 26 | 厦门 | 福建 |
jiang | dongsheng | 98000190 | 28 | 重庆 | 四川 |
liu | tongxin | 97231231 | 31 | 海南 | 海南 |
下面我们使用select语句来进行一些检索:
首先你可以从empinfo中检索出列为first、last、city的数据,语句如下:
select first, last, city from empinfo;
这时候你将来得到以下的数据:
first | last | id |
zhang | jiangsheng | 95123043 |
huang | weidong | 98122001 |
li | simin | 98111234 |
zhang | sanmei | 99232211 |
jiang | dongsheng | 98000190 |
liu | tongxin | 97231231 |
如果你使用以下语句:
select last, city, age from empinfo
where age > 30;
那就检索到以下的数据:
last | city | age |
simin | 汕头 | 34 |
tongxin | 海南 | 31 |
若是使用:
select first, last, city, province from empinfo
where first like 'j%';
将得到以下的数据:
first | last | city | province |
jiang | dongsheng | 重庆 | 四川 |
你如果想列出所有的数据,可以使用以下的语句:
select * from empinfo;
这时候检索到的数据为:
first | last | id | age | city | province |
zhang | jiangsheng | 95123043 | 23 | 汕头 | 广东 |
huang | weidong | 98122001 | 23 | 深圳 | 广东 |
li | simin | 98111234 | 34 | 珠海 | 广东 |
zhang | sanmei | 99232211 | 26 | 厦门 | 福建 |
jiang | dongsheng | 98000190 | 28 | 重庆 | 四川 |
liu | tongxin | 97231231 | 31 | 海南 | 海南 |
如果你想查询first和last列中last的最后字符为'g'的数据,你可以使用:
select first, last, from empinfo
where last like '%g';
此时查询到的数据有:
first | last |
zhang | jiangsheng |
huang | weidong |
jiang | dongsheng |
你还可以这样来从first、last和age列中来查询last中间有'sh'字符的数据:
select first, last, age from empinfo
where last like '%sh%';
结果为:
first | last | age |
zhang | jiangsheng | 23 |
jiang | dongsheng | 28 |
最后,你还可以查询first为'jiang'的数据:
select * from empinfo where first = 'jiang';
结果为:
first | last | id | age | city | province |
jiang | dongsheng | 98000190 | 28 | 重庆 | 四川 |
好吧,为了让你对本节教程能更好的掌握,下面给你几个练习巩固巩固:
1 显示first和age列的每一个表中数据
2 显示first、last和city列中除了first=jiang的所有表中的数据。
3 显示所有age大于30的列的数据。
4 显示first和last列中last是以"g"结尾的数据。
5 显示所有first为"zhang"的列
千万不要认为这些很简单而不作练习。因此这些都是基础,打好基础对于以后的学习是有帮助的。
商业源码热门下载www.html.org.cn
新闻热点
疑难解答