手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mysql>列表

如何从MySQL数据库表中检索数据

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
1、从数据库表中检索信息

实际上,前面我们已用到了SELECT语句,他用来从数据库表中检索信息。

select语句格式一般为:

SELECT 检索关键词 FROM 被检索的表 WHERE 检索条件(可选)

以前所使用的“ * ”表示选择任何的列。下面继续使用我们在上篇文章中创建的表mytable。

2、查询任何数据:

mysql> select * from mytable; 

 ---------- ------ ------------ ----------  

| name | sex | birth | birthaddr | 

 ---------- ------ ------------ --------  

| abccs |f | 1977-07-07 | china | 

| mary |f | 1978-12-12 | usa | 

| tom |m | 1970-09-02 | usa | 

 ---------- ------ ------------ ----------  

3 row in set (0.00 sec)



3、修正错误记录:

假如tom的出生日期有错误,应该是1973-09-02,则能够用update语句来修正: mysql> update mytable set birth = "1973-09-02" where name = "tom"; 再用2中的语句看看是否已更正过来。

4、选择特定行

上面修改了tom的出生日期,我们能够选择tom这一行来看看是否已有了变化:

mysql> select * from mytable where name = "tom"; 

 -------- ------ ------------ ------------  

| name |sex | birth | birthaddr | 

 -------- ------ ------------ ------------  

| tom |m | 1973-09-02 | usa | 

 -------- ------ ------------ ------------  

1 row in set (0.06 sec)


上面WHERE的参数指定了检索条件。我们还能够用组合条件来进行查询:

mysql> SELECT * FROM mytable WHERE sex = "f" AND birthaddr = "china"; 

 -------- ------ ------------ ------------  

| name |sex | birth | birthaddr | 

 -------- ------ ------------ ------------  

| abccs |f | 1977-07-07 | china | 

 -------- ------ ------------ ------------  

1 row in set (0.06 sec)


5、 选择特定列

假如您想查看表中的任何人的姓名,则能够这样操作:

mysql> SELECT name FROM mytable; 

 ----------  

| name | 

 ----------  

| abccs | 

| mary | 

| tom | 

 ----------  

3 row in set (0.00 sec)


假如想列出姓名和性别两列,则能够用逗号将关键词name和birth分开: myaql> select name,birth from mytable;

6、对行进行排序

我们能够对表中的记录按生日大小进行排序:

mysql> SELECT name, birth FROM mytable ORDER BY birth; 

 ---------- ------------  

| name | birth | 

 ---------- ------------  

| tom | 1973-09-02 | 

| abccs | 1977-07-07 | 

| mary | 1978-12-12 | 

 ---------- ------------  

3 row in set (0.00 sec)


我们能够用DESC来进行逆序排序:

mysql> SELECT name, birth FROM mytable ORDER BY birth DESC; 

 ---------- ------------  

| name | birth | 

 ---------- ------------  

| mary | 1978-12-12 | 

| abccs | 1977-07-07 | 

| tom | 1973-09-02 | 

 ---------- ------------  

3 row in set (0.00 sec)


7、 行计数

数据库经常要统计一些数据,如表中员工的数目,我们就要用到行计数函数COUNT()。COUNT()函数用于对非NULL结果的记录进行计数:

mysql> SELECT COUNT(*) FROM mytable; 

 ----------  

| COUNT(*) | 

 ----------  

| 3 | 

 ----------  

1 row in set (0.06 sec) 

员工中男女数量: 

mysql> SELECT sex, COUNT(*) FROM mytable GROUP BY sex; 

 ------ ----------  

| sex | COUNT(*) | 

 ------ ----------  

| f | 2 | 

| m | 1 | 

 ------ ----------  

2 row in set (0.00 sec)

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!