您现在的位置: 网页制作教学网 >> 数据库教程 >> mysql 教程 >> 文章正文

Mysql数据库操作新手入门,手把手的教会你

作者:动态网站…

来源:动态网站制作指南

热度:

2007-4-20 13:39:32

2.6.3 查询结果排序

    用ORDER BY语句对emp表中所有员工工资高低顺序查询结果(默认是从低到高——升序)
    mysql> select * from emp order by emp_sal;

    查询结果显示如下:
    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100005 | 啸天   |     27 |   4000 | 1979-07-10 | male   |
    | 100002 | 丽鹃   |     27 |   8000 | 1979-12-31 | fmale   |
    | 100001 | 红枫   |     29 |   9000 | 1977-01-01 | male   |
    +--------+----------+---------+---------+------------+---------+
    3 rows in set (0.00 sec)

    用DESC关键字来进行从高到低排序——降序
    mysql> select * from emp order by emp_sal desc;

    查询结果显示如下:
    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100001 | 红枫   |     29 |   9000 | 1977-01-01 | male   |
    | 100002 | 丽鹃   |     27 |   8000 | 1979-12-31 | fmale   |
    | 100005 | 啸天   |     27 |   4000 | 1979-07-10 | male   |
    +--------+----------+---------+---------+------------+---------+
    3 rows in set (0.00 sec)

2.6.4 查询结果数量的限制

    用LIMIT查看emp表中工资收入排名前两个员工的资料:
    mysql> select * from emp order by emp_sal desc limit 2;

    查询结果显示如下:
    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100001 | 红枫   |     29 |   9000 | 1977-01-01 | male   |
    | 100002 | 丽鹃   |     27 |   8000 | 1979-12-31 | fmale   |
    +--------+----------+---------+---------+------------+---------+
    2 rows in set (0.00 sec)

  查看工资排名第2到第3的员工资料:
  mysql> select * from emp order by emp_sal desc limit 1,2;

  查询结果显示如下:
  +--------+----------+---------+---------+------------+---------+
  | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
  +--------+----------+---------+---------+------------+---------+
  | 100002 | 丽鹃   |     27 |   8000 | 1979-12-31 | fmale   |
  | 100005 | 啸天   |     27 |   4000 | 1979-07-10 | male   |
  +--------+----------+---------+---------+------------+---------+
  2 rows in set (0.01 sec)

  使用rand()抽样调查,随机抽取2个员工,查看其资料
  mysql> select * from emp order by rand() limit 2;

  如如下结果:(随机的)

  +--------+----------+---------+---------+------------+---------+
  | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
  +--------+----------+---------+---------+------------+---------+
  | 100005 | 啸天   |     27 |   4000 | 1979-07-10 | male   |
  | 100001 | 红枫   |     29 |   9000 | 1977-01-01 | male   |
  +--------+----------+---------+---------+------------+---------+
  2 rows in set (0.01 sec)

2.6.5 查询结果的字段联合和重新命名

    mysql> select concat(emp_id," ",emp_name) from emp;

    查询结果:
    +------------------------------+
    | concat(emp_id," ",emp_name) |
    +------------------------------+
    | 100005 啸天           |
    | 100001 红枫           |
    | 100002 丽鹃           |
    +------------------------------+
    3 rows in set (0.00 sec)

    用AS关键字重新给输出结果命名标题
    mysql> select concat(emp_id," ",emp_name) as info from emp;

    查询结果如下显示:
    +----------------+
    | info       |
    +----------------+
    | 100005 啸天 |
    | 100001 红枫   |
    | 100002 丽鹃 |
    +----------------+
    3 rows in set (0.00 sec)

2.6.6 日期查询的相关运算

    可以通过YEAR()、MONTH()、DAYOFMONTH()函数来提取日期的组成元素

    查询7月份出生的员工资料:
    mysql> select * from emp where month(emp_bir)=7;

    查询结果显示如下:
    +--------+----------+---------+---------+------------+---------+
    | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
    +--------+----------+---------+---------+------------+---------+
    | 100005 | 啸天   |     27 |   4000 | 1979-07-10 | male   |
    +--------+----------+---------+---------+------------+---------+
    1 row in set (0.00 sec)

  可以利用英文月份来查询:
  mysql> select * from emp where monthname(emp_bir)="January";

  查询结果显示如下:
  +--------+----------+---------+---------+------------+---------+
  | emp_id | emp_name | emp_age | emp_sal | emp_bir   | emp_sex |
  +--------+----------+---------+---------+------------+---------+
  | 100001 | 红枫   |     29 |   9000 | 1977-01-01 | male   |
  +--------+----------+---------+---------+------------+---------+
  1 row in set (0.00 sec)

  利用TO_DAYS()函数可以查询出职工们从出生到现在所经理的时间,单位是天数
  mysql> select to_days(current_date) - to_days(emp_bir) as livingdays from emp;

  查询后结果如下:
  +------------+
  | livingdays |
  +------------+
  |     9425 |
  |     10345 |
  |     9251 |
  +------------+
  3 rows in set (0.00 sec)

  计算从现在开始经历100天后的日期
  mysql> select date_add(now(),interval 100 day);

  查询结果如下:
  +----------------------------------+
  | date_add(now(),interval 100 day) |
  +----------------------------------+
  | 2005-08-07 13:56:58         |
  +----------------------------------+
  1 row in set (0.00 sec)

  计算从现在开始经历100天后的日期
  mysql> select date_sub(now(),interval 100 day);

  查询结果如下:
  +----------------------------------+
  | date_sub(now(),interval 100 day) |
  +----------------------------------+
  | 2005-01-19 14:00:20         |
  +----------------------------------+
  1 row in set (0.00 sec)

上一页  [1] [2] [3] [4] [5] [6] 下一页

我来说两句:

1分 2分 3分 4分 5分
姓名: *


* 请各位网友遵纪守法并注意语言文明。
网站简介 | 联系方式 | 意见建议 | 版权说明
Copyright © 2007 All rights reserved
滇ICP备06006992号