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

时间:2008-11-01 17:08:00 

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) 

注意我们使用了GROUP BY对SEX进行了分组。

标签:检索,数据库,mysql
0
投稿

猜你喜欢

  • ORACLE客户端连接服务器的注意事项

    2007-08-17 09:57:00
  • asp如何分页显示数据库查询结果?

    2009-11-22 19:23:00
  • ASP分页和日期格式化为RFC822格式的办法

    2008-11-21 15:46:00
  • 如何将计数器的值赋给一个变量?

    2009-12-03 20:02:00
  • ORACLE11g随RHEL5系统自动启动与关闭的设置方法

    2009-08-31 12:43:00
  • CSS浏览器兼容问题整理(IE6.0、IE7.0 与FireFox)

    2008-10-27 13:45:00
  • Frontpage中网页字体的美化研究

    2008-03-10 12:13:00
  • 如何修改MySQL密码(方法大总结)

    2009-11-18 11:07:00
  • Mootools 1.2教程(11)——Fx.Morph、Fx选项和Fx事件

    2008-12-04 16:03:00
  • SQL Server2000的安全策略

    2007-08-06 17:14:00
  • 设计稿标注首屏线的确定始末

    2011-03-30 12:36:00
  • asp base64加解密函数代码

    2011-03-31 11:02:00
  • asp如何用Jmail组件的发送电子邮件?

    2010-06-12 12:51:00
  • 纯ASP结合VML生成完美图-饼图

    2010-05-11 16:49:00
  • oracle SQL命令大全

    2009-07-02 11:55:00
  • 一个滑动门菜单例子源码

    2007-12-31 10:16:00
  • PS中执行N遍选定动作的脚本

    2008-02-22 21:33:00
  • ASP怎样获得代码中第一张图片地址

    2008-10-29 09:40:00
  • Javascript Selectors 入门篇

    2010-04-12 12:55:00
  • sql server常用命令行操作(启动、停止、暂停)

    2012-01-05 19:02:48
  • asp之家 网络编程 m.aspxhome.com