mysql 数据库 IV(单表查询)

1.今日内容

  1. 单表查询语法

    select distinct 字段1,字段2...  from 表名
                              where 条件
                                  group by 字段
                              having 筛选
                                  order by 字段
                              limit 限制条数
  2. 关键字执行的优先级
    from       # 找到表
    where      # 拿着where指定的约束条件,去文件/表中取出一条条记录
    group by   # 将取出来的数据进行group by,如果没有group by,则整体做为一组
    select
    distinct   #执行select-去重
    having     #将分组的结果进行having过滤
    order by   #将结果按条件排序,order by
    limit      #限制结果的显示条数

2.具体内容

  1. 简单查询

    建表准备工作

    mysql
       #创建表
     mysql> create table employee(
          -> id int not null unique auto_increment,
         -> emp_name varchar(20) not null,
          -> sex enum('male','female') not null default 'female',
          -> age int(3) unsigned not null default 28,
          -> hire_date date not null,
          -> post varchar(50),
          -> post_comment varchar(100),
          -> salary double(15,2),
          -> office int,
          -> depart_id int
          -> );
     Query OK, 0 rows affected (0.04 sec)
    
      #查看表结构
    
     mysql> desc employee;
     +--------------+-----------------------+------+-----+---------+---  -------------+
     | Field        | Type                  | Null | Key | Default |         Extra          |
     +--------------+-----------------------+------+-----+---------+---  -------------+
     | id           | int(11)               | NO   | PRI | NULL    |         auto_increment |
     | emp_name     | varchar(20)           | NO   |     | NULL    |                  |
     | sex          | enum('male','female') | NO   |     | female  |                  |
     | age          | int(3) unsigned       | NO   |     | 28      |                  |
     | hire_date    | date                  | NO   |     | NULL    |                     |
     | post         | varchar(50)           | YES  |     | NULL    |                     |
     | post_comment | varchar(100)          | YES  |     | NULL    |                     |
     | salary       | double(15,2)          | YES  |     | NULL    |                     |
     | office       | int(11)               | YES  |     | NULL    |                  |
     | depart_id    | int(11)               | YES  |     | NULL    |                  |
     +--------------+-----------------------+------+-----+---------+---  -------------+
     10 rows in set (0.02 sec)
    
       #插入数据
    
     mysql> insert into           employee(emp_name,sex,age,hire_date,post,salary,office,depart_id)  values
         -> ('egon','male',18,'20170301','老男孩驻沙河办事处外交大   使',7300.33,401,1),
                 -> ('alex','male',78,'20150302','teacher',1000000.31,401,1),
                 -> ('wupeiqi','male',81,'20130305','teacher',8300,401,1),
                 -> ('yuanhao','male',73,'20140701','teacher',3500,401,1),
                 -> ('liwenzhou','male',28,'20121101','teacher',2100,401,1),
                 -> ('jingliyang','female',18,'20110211','teacher',9000,401,1),
                 -> ('jinxin','male',18,'19000301','teacher',30000,401,1),
                 -> ('成龙','male',48,'20101111','teacher',10000,401,1),
             -> ('歪歪','female',48,'20150311','sale',3000.13,402,2),
             -> ('丫丫','female',38,'20101101','sale',2000.35,402,2),
                 -> ('丁丁','female',18,'20110312','sale',1000.37,402,2),
                 -> ('星星','female',18,'20160513','sale',3000.29,402,2),
                 -> ('格格','female',28,'20170127','sale',4000.33,402,2),
                 -> ('张野','male',28,'20160311','operation',10000.13,403,3),
                 -> ('程咬金','male',18,'19970312','operation',20000,403,3),
                 -> ('程咬银','female',18,'20130311','operation',19000,403,3),
                 -> ('程咬铜','male',18,'20150411','operation',18000,403,3),
                 -> ('程咬铁','female',18,'20140512','operation',17000,403,3)
                 -> ;
         Query OK, 18 rows affected (0.01 sec)
         Records: 18  Duplicates: 0  Warnings: 0
    
     mysql> select * from employee;
     +----+------------+--------+-----+------------+-------------------  ----------------------+--------------+------------+--------+------  -----+
     | id | emp_name   | sex    | age | hire_date  | post                                        | post_comment | salary     | office | depart_id |
     +----+------------+--------+-----+------------+-------------------  ----------------------+--------------+------------+--------+------  -----+
     |  1 | egon       | male   |  18 | 2017-03-01 | 老男孩驻沙河办事处外  交大使              | NULL         |    7300.33 |    401 |             1 |
     |  2 | alex       | male   |  78 | 2015-03-02 | teacher                                     | NULL         | 1000000.31 |    401 |         1 |
     |  3 | wupeiqi    | male   |  81 | 2013-03-05 | teacher                                     | NULL         |    8300.00 |    401 |         1 |
     |  4 | yuanhao    | male   |  73 | 2014-07-01 | teacher                                     | NULL         |    3500.00 |    401 |         1 |
     |  5 | liwenzhou  | male   |  28 | 2012-11-01 | teacher                                     | NULL         |    2100.00 |    401 |         1 |
     |  6 | jingliyang | female |  18 | 2011-02-11 | teacher                                     | NULL         |    9000.00 |    401 |         1 |
     |  7 | jinxin     | male   |  18 | 1900-03-01 | teacher                                     | NULL         |   30000.00 |    401 |         1 |
     |  8 | 成龙       | male   |  48 | 2010-11-11 | teacher                                   | NULL         |   10000.00 |    401 |         1 |
     |  9 | 歪歪       | female |  48 | 2015-03-11 | sale                                      | NULL         |    3000.13 |    402 |         2 |
     | 10 | 丫丫       | female |  38 | 2010-11-01 | sale                                      | NULL         |    2000.35 |    402 |         2 |
     | 11 | 丁丁       | female |  18 | 2011-03-12 | sale                                      | NULL         |    1000.37 |    402 |         2 |
     | 12 | 星星       | female |  18 | 2016-05-13 | sale                                      | NULL         |    3000.29 |    402 |         2 |
     | 13 | 格格       | female |  28 | 2017-01-27 | sale                                      | NULL         |    4000.33 |    402 |         2 |
     | 14 | 张野       | male   |  28 | 2016-03-11 | operation                                 | NULL         |   10000.13 |    403 |         3 |
     | 15 | 程咬金     | male   |  18 | 1997-03-12 | operation                                   | NULL         |   20000.00 |    403 |         3 |
     | 16 | 程咬银     | female |  18 | 2013-03-11 | operation                                  | NULL         |   19000.00 |    403 |         3 |
     | 17 | 程咬铜     | male   |  18 | 2015-04-11 | operation                                   | NULL         |   18000.00 |    403 |         3 |
     | 18 | 程咬铁     | female |  18 | 2014-05-12 | operation                                   | NULL         |   17000.00 |    403 |         3 |
     +----+------------+--------+-----+------------+-------------------  ----------------------+--------------+------------+--------+------  -----+
     18 rows in set (0.00 sec)
    
    

原文地址:https://www.cnblogs.com/xiaohei-chen/p/12175498.html

时间: 2024-10-10 01:43:03

mysql 数据库 IV(单表查询)的相关文章

MySQL 数据库之单表查询

一.查询语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二.关键字执行优先级 from where group by having select distinct order by limit 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 4

mysql简单的单表查询详解

mysql简单的单表查询详解 MySQL的查询操作: 单表查询:简单查询 多表查询:连续查询 联合查询: 选择和投影: 投影:挑选要显示的字段 选择:挑选符合条件的行 投影:SELECT 字段1, 字段2, ... FROM tb_name;  SELECT * FROM tb_name; 选择:SELECT 字段1, ... FROM tb_name WHERE 子句; 布尔条件表达式 mysql> CREATE TABLE students (SID INT UNSIGNED AUTO_IN

oracle数据库之单表查询

作为一合格的测试人员对数据库的单表查询.多表查询.分组查询.子查询等等这些基本查询方法还是要会的.不然到企业中,容易被一些人鄙视,或者说如果数据库学不好,表查不明白,那么对自己能力来说也是一种侮辱,因为你可以证明自己,你是可以的,尤其是你在面试的时候面对面试官的给你出的一道sql语句题目,你能马上用你的套路把这道题做出了,那么恭喜你过了第一个小关卡.ok,我们今天学习一下数据库中的第一个查询,也是最简单,容易入门的查看----单表查询. 我们在上一篇中创建了一个classinfo和student

MySQL数据库之单双表查询

单表查询 先创建表 #创建表 create table employee( id int not null unique auto_increment, name varchar(20) not null, sex enum('male','female') not null default 'male', #大部分是男的 age int(3) unsigned not null default 28, hire_date date not null, post varchar(50), pos

mysql四-1:单表查询

阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询 一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键字的执行优先级(重点) 重点中的重点:关键字的执行优先级 f

Mysql(四)-1:单表查询

一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键字的执行优先级(重点) 重点中的重点:关键字的执行优先级 from where group by having select distinct order by limit 1.找到表:from 2.拿着where指定的约束条件,去文件/表中取出一条条记录 3.将取出的一条条记录进行分组group

MySQL学习9 - 单表查询

一.单表查询的语法 二.关键字的执行优先级(重点) 三.单表查询示例 1.where约束 2.group by分组查询 3.聚合函数 4.HAVING过滤 5.order by查询排序 6.limit 限制查询的记录数 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二.关键字的执行优先级(重点) 重点中的重点:关键字的执行优先级 from where

基于MySql数据库的单表与多表联合查询

这里以学生 班级 身份证 以及课程为例 1,启动MySql数据库  开启服务 2.1.0新建一张班级表 备注:CHARSET = UTF8 (指定编码格式为utf8 防止中文乱码) /*班级表*/ CREATE TABLE CLASS_INFO( C_ID INT PRIMARY KEY, CLASS_NAME VARCHAR(20) not NULL )CHARSET = UTF8; 运行效果: 新建成功 2.1.1依次建好学生表(学生表有一个指向班级表的主键  以便做关联查询) /*学生表*

Python中使用SQLAlchemy连接Mysql数据库(单表操作)

一,SQLAlchemy的安装 使用 $ easy_install sqlalchemy 或 $ pip install sqlalchemy 如果出现什么错,就进去root用户下进行安装试试,或者网上查查 >>> import sqlalchemy >>> 这样说明成功了,切记是小写哦 二,使用 理论我也不懂,自己查查资料,现在用一个小的案例说一下使用步骤 1,在进行数据操作之前要先连上数据库. >>> from sqlalchemy import

[数据库] Oracle单表查询总数及百分比和数据横向纵向连接

这是最近项目关于SQL语句的,本文简单记录并总结以下几个知识点: 1.如何统计一张表中某个字段的总数,如不同"专业"的学生数及所占百分比: 2.如何联系另一张表进行查询某个字段的总数及百分比: 3.简单介绍decode防止分母为0和trunc保留小数位数等函数: 4.通常复杂的SQL语句会涉及到查询结果横向连接和纵向连接,这里进行介绍. 最近买了本<Oracle查询优化改写技巧与案例·有教无类 落落>,推荐大家也阅读下.后面我也会补充一些相关数据的知识,希望对大家有所帮助吧