当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL入门学习(四)

MYSQL
MySQL忘记密码恢复密码的实现方法
mysql 时间转换函数的使用方法
使用mysql的disctinct group by查询不重复记录
mysql备份恢复mysqldump.exe几个常用用例
超详细mysql left join,right join,inner join用法分析
mysql 5.0.67最新版替代MySQL 5.0.51b版本官方下载
比较详细的MySQL字段类型说明
mysql 记录不存在时插入 记录存在则更新的实现方法
MYSQL基础之连接MYSQL、修改密码、添加用户
mysql数据库优化必会的几个参数中文解释
mysql中文排序注意事项与实现方法
MySQL 5.0触发器参考教程
MySQL5创建存储过程的示例
MYSQL5 masterslave数据同步配置方法
mysql数据库导出xml的实现方法
MySql增加用户、授权、修改密码等语句
Mysql默认设置的危险性分析
用MySQL创建数据库和数据库表代码
Mysql如何避免全表扫描的方法
mysql的校对规则引起的问题分析

MYSQL 中的 MySQL入门学习(四)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 66 ::
收藏到网摘: n/a

  MySQL入门学习(四)
--学习篇

  上篇我们学会了如何创建一个数据库和数据库表,并知道如何向数据库表中添加记录。
  那么我们如何从数据库表中检索数据呢?

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  |