iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL实现单表查询的简单方法
  • 236
分享到

MySQL实现单表查询的简单方法

2024-04-02 19:04:59 236人浏览 薄情痞子
摘要

本文主要给大家简单讲讲Mysql实现单表查询的简单方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql实现单表查询的简单方法这篇文章可以给大家带来一

本文主要给大家简单讲讲Mysql实现单表查询的简单方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql实现单表查询的简单方法这篇文章可以给大家带来一些实际帮助。                                                             

首先我们来创建表、插入数据:

# 创建表
mysql> create table company.employee5(
    id int primary key AUTO_INCREMENT not null,
    name varchar(30) not null,
    sex enum('male','female') default 'male' not null,
    hire_date date not null,
    post varchar(50) not null,
    job_description varchar(100),
    salary double(15,2) not null,
    office int,
    dep_id int
    );

# 插入数据
mysql> insert into company.employee5(name,sex,hire_date,post,job_description,salary,office,dep_id) values 
    ('jack','male','20180202','instructor','teach',5000,501,100),
    ('tom','male','20180203','instructor','teach',5500,501,100),
    ('robin','male','20180202','instructor','teach',8000,501,100),
    ('alice','female','20180202','instructor','teach',7200,501,100),
    ('tianyun','male','20180202','hr','hrcc',600,502,101),
    ('harry','male','20180202','hr',NULL,6000,502,101),
    ('emma','female','20180206','sale','salecc',20000,503,102),
    ('christine','female','20180205','sale','salecc',2200,503,102),
    ('zhuzhu','male','20180205','sale',NULL,2200,503,102),
    ('Gougou','male','20180205','sale','',2200,503,102);

# 查看表结构
mysql> desc employee5;
 
+-----------------+-----------------------+------+-----+---------+----------------+
| Field           | Type                  | Null | Key | Default | Extra          |
+-----------------+-----------------------+------+-----+---------+----------------+
| id              | int(11)               | NO   | PRI | NULL    | auto_increment |
| name            | varchar(30)           | NO   |     | NULL    |                |
| sex             | enum('male','female') | NO   |     | male    |                |
| hire_date       | date                  | NO   |     | NULL    |                |
| post            | varchar(50)           | NO   |     | NULL    |                |
| job_description | varchar(100)          | YES  |     | NULL    |                |
| salary          | double(15,2)          | NO   |     | NULL    |                |
| office          | int(11)               | YES  |     | NULL    |                |
| dep_id          | int(11)               | YES  |     | NULL    |                |
+-----------------+-----------------------+------+-----+---------+----------------+
查询语法
SELECT 字段1,字段2... FROM 表名
                  WHERE 条件
                  GROUP BY field
                  HAVING 筛选
                  ORDER BY field
                  LIMIT 限制条数;
查看表中所有数据
mysql> select * from employee5;
+----+-----------+--------+------------+------------+-----------------+----------+--------+--------+
| id | name      | sex    | hire_date  | post       | job_description | salary   | office | dep_id |
+----+-----------+--------+------------+------------+-----------------+----------+--------+--------+
|  1 | jack      | male   | 2018-02-02 | instructor | teach           |  5000.00 |    501 |    100 |
|  2 | tom       | male   | 2018-02-03 | instructor | teach           |  5500.00 |    501 |    100 |
|  3 | robin     | male   | 2018-02-02 | instructor | teach           |  8000.00 |    501 |    100 |
|  4 | alice     | female | 2018-02-02 | instructor | teach           |  7200.00 |    501 |    100 |
|  5 | tianyun   | male   | 2018-02-02 | hr         | hrcc            |   600.00 |    502 |    101 |
|  6 | harry     | male   | 2018-02-02 | hr         | NULL            |  6000.00 |    502 |    101 |
|  7 | emma      | female | 2018-02-06 | sale       | salecc          | 20000.00 |    503 |    102 |
|  8 | christine | female | 2018-02-05 | sale       | salecc          |  2200.00 |    503 |    102 |
|  9 | zhuzhu    | male   | 2018-02-05 | sale       | NULL            |  2200.00 |    503 |    102 |
| 10 | gougou    | male   | 2018-02-05 | sale       |                 |  2200.00 |    503 |    102 |
+----+-----------+--------+------------+------------+-----------------+----------+--------+--------+
10 rows in set (0.00 sec)

简单查询

简单查询
mysql> SELECT * FROM employee5;

mysql> SELECT name, salary, dep_id FROM employee5;
去重DISTINCT
mysql> SELECT post FROM employee5;

mysql> SELECT DISTINCT post  FROM employee5;

注:不能部分使用DISTINCT,通常仅用于某一字段。
通过四则运算查询
mysql> SELECT name, salary, salary*14 FROM employee5;

mysql> SELECT name, salary, salary*14 AS Annual_salary FROM employee5;

mysql> SELECT name, salary, salary*14 Annual_salary FROM employee5;
定义显示格式
CONCAT() 函数用于连接字符串

mysql> SELECT CONCAT(name, ' annual salary: ', salary*14)  AS Annual_salary FROM employee5;

条件查询

a、语法
    select * from 表名 where 条件
b、比较运算符
    大于    小于    大于等于    小于等于    不等于    >        <        >=            <=            
    !=或<>
c、逻辑运算符
    并且    或者    非    and        or        notd、模糊查询
    like    %           表示任意多个任意字符
    _           表示一个任意字符

e、范围查询    in                  表示在一个非连续的范围内
    between...and...    表示在一个连续的范围内

f、空判断
    判断空:is null
    判断非空:is not null 

g、优先级
    小括号,not 比较运算符, 逻辑运算符
    and比or优先级高,如果同时出现并希望先选or,需要结合()来使用

单条件查询

mysql> SELECT name,post FROM employee5 WHERE post='hr';

多条件查询

mysql> SELECT name,salary FROM employee5 WHERE post='hr' AND salary>5000;

关键字 BETWEEN AND查询

mysql> SELECT name,salary FROM employee5 WHERE salary BETWEEN 5000 AND 15000;

mysql> SELECT name,salary FROM employee5 WHERE salary NOT BETWEEN 5000 AND 15000;

关键字 IS NULL 查询

mysql> SELECT name,job_description FROM employee5 WHERE job_description IS NULL;

mysql> SELECT name,job_description FROM employee5 WHERE job_description IS NOT NULL;

mysql> SELECT name,job_description FROM employee5 WHERE job_description='';

关键字IN集合查询

mysql> SELECT name, salary FROM employee5 WHERE salary=4000 OR salary=5000 OR salary=6000 OR salary=9000 ;

mysql> SELECT name, salary FROM employee5 WHERE salary IN (4000,5000,6000,9000) ;

mysql> SELECT name, salary FROM employee5 WHERE salary NOT IN (4000,5000,6000,9000) ;

关键字LIKE模糊查询

通配符’%’
mysql> SELECT * FROM employee5 WHERE name LIKE 'al%';

通配符’_’
mysql> SELECT * FROM employee5 WHERE name LIKE 'al___';

查询排序

按单列排序

mysql> SELECT * FROM employee5 ORDER BY salary;

mysql> SELECT name, salary FROM employee5 ORDER BY salary ASC;

mysql> SELECT name, salary FROM employee5 ORDER BY salary DESC;

按多列排序

mysql> SELECT * FROM employee5 ORDER BY hire_date DESC,salary ASC;

# 先按入职时间,再按薪水排序
mysql> SELECT * FROM employee5 ORDER BY hire_date DESC, salary DESC;

# 先按职位,再按薪水排序
mysql> SELECT * FROM employee5 ORDER BY post, salary DESC;

分页查询 limit

mysql> SELECT * FROM employee5 ORDER BY salary DESC LIMIT 5;      //默认初始位置为0

mysql> SELECT * FROM employee5 ORDER BY salary DESC LIMIT 0,5;

mysql> SELECT * FROM employee5 ORDER BY salary DESC LIMIT 3,5;      //从第4条开始,共显示5条

聚合函数查询

    a、count(*)       表示计算总行数,括号中可以写*和列名
    b、max(列)        表示求此列的最大值
    c、min(列)        表示求此列的最小值
    d、sun(列)        表示求此列的和
    e、avg(列)        表示求此列的平均值
    
mysql> SELECT COUNT(*) FROM employee5;
mysql> SELECT COUNT(*) FROM employee5 WHERE dep_id=101;
mysql> SELECT MAX(salary) FROM employee5;
mysql> SELECT MIN(salary) FROM employee5;
mysql> SELECT AVG(salary) FROM employee5;
mysql> SELECT SUM(salary) FROM employee5;
mysql> SELECT SUM(salary) FROM employee5 WHERE dep_id=101;

分组查询

# 单独使用GROUP BY关键字分组
mysql> SELECT post FROM employee5 GROUP BY post;
注意:我们按照post字段分组,那么select查询的字段只能是post,想要获取组内的其他相关信息,需要借助函数

GROUP BY关键字和group_concat()函数一起使用

# 按照id分组,并查看组内成员
mysql> SELECT dep_id,GROUP_CONCAT(name) FROM employee5 GROUP BY dep_id;

mysql> SELECT dep_id,GROUP_CONCAT(name) as emp_members FROM employee5 GROUP BY dep_id;

GROUP BY和集合函数一起使用

# 按照dep_id 分组, 并计算组内成员工资总和
mysql> SELECT dep_id,SUM(salary) FROM employee5 GROUP BY dep_id;

# 按照dep_id分组,并计算组内成员工资平均值
mysql> SELECT dep_id,AVG(salary) FROM employee5 GROUP BY dep_id;

正则表达式查询

mysql> SELECT * FROM employee5 WHERE name REGEXP '^j';

mysql> SELECT * FROM employee5 WHERE salary REGEXP '[5]+.*';

mysql> SELECT * FROM employee5 WHERE salary REGEXP '[5]{2}.*';

MySQL实现单表查询的简单方法就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的数据库。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL实现单表查询的简单方法

本文链接: https://www.lsjlt.com/news/36293.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL如何实现单表查询
    这篇文章给大家分享的是有关MySQL如何实现单表查询的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。单表查询指从一张表数据中查询所需的数据。(1)查询所有字段(2)查询指定字段(3...
    99+
    2024-04-02
  • 【MySQL】如何实现单表查询?
    在我们对数据进行操作时,查询无疑是至关重要的,查询操作灵活多变,我们可以根据开发的需求,设计高效的查询操作,把数据库中存储的数据展示给用户。 文章目录 前言1. 基础查询1.1 基础查询语法1.2 基础查询练习 2. 条件查...
    99+
    2023-08-16
    mysql 数学建模 数据库 sql
  • Vue实现模糊查询的简单方法实例
    前言 所谓模糊查询就是不需要用户完整的输入或者说全部输入信息即可提供查询服务,也就是用户可以在边输入的同时边看到提示的信息(其实是查询出来匹配到的信息),百度的搜索功能就是很好的模糊...
    99+
    2024-04-02
  • MySQL单表查询的方法有哪些
    这篇文章主要讲解了“MySQL单表查询的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL单表查询的方法有哪些”吧!前言查询是数据操作至关重要的一部分,比如说在所有商品中查找...
    99+
    2023-07-04
  • mysql-单表查询
    语法:一、单表查询的语法    SELECT 字段1,字段2... FROM 表名        &n...
    99+
    2023-01-30
    mysql
  • Mariadb的单表查询方法
    这篇文章主要介绍了Mariadb的单表查询方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mariadb的单表查询方法文章都会有所收获,下面我们一起来看看吧。MariaDB Server 是最流行的开源关系型...
    99+
    2023-06-27
  • MySQL之单表查询、多表查询
    一、单表查询: 单个表的查询方法及语法顺序需要通过实际例子来熟悉 先将表数据创建下: mysql> create database singe_t1; # 建个数据库singe_t1 Query OK, 1 row aff...
    99+
    2023-01-31
    MySQL
  • MYSQL 查询命令--单表查询
    基本查询语句 SELECT语句是最常用的查询语句,它的使用方式有些复杂,但功能是相当强大的。 SELECT语句的基本语法如下: select selection_list ...
    99+
    2024-04-02
  • JpaRepository 实现简单条件查询
    目录JpaRepository 简单条件查询创建持久化类定义数据访问层接口定义业务层类定义控制器类测试应用JpaRepository 查询规范1.JpaRepository支持接口规...
    99+
    2024-04-02
  • oracle多表简单查询实例代码
    目录多表查询基本语法oracle多表查询总结多表查询基本语法 笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代...
    99+
    2024-04-02
  • SQL语句如何实现超简单的多表查询
    目录一、简单的多表联查(inner join,left join,right join)1、 两表联查2、三表联查二、触发器一、简单的多表联查(inner join,left joi...
    99+
    2024-04-02
  • DOS窗口命令和单表简单查询
    目录相关术语:一.DOS窗口命令二.单表简单查询相关术语: DB :数据库:在硬盘上以文件的方式存在DBMS:数据库管理系统:例如mysql,oracle,sqlserver&hel...
    99+
    2022-11-13
    DOS窗口命令 DOS单表查询
  • MySQL中怎么实现单表查询操作
    这篇文章将为大家详细讲解有关MySQL中怎么实现单表查询操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建fruits表:CREATE TAB...
    99+
    2024-04-02
  • MySQL单表查询进阶
    在我们对数据进行操作时,查询无疑是至关重要的,查询操作灵活多变,我们可以根据开发的需求,设计高效的查询操作,把数据库中存储的数据展示给用户。 文章目录 前言 1. 基础查询 ...
    99+
    2023-09-05
    mysql 数据库 sql
  • mybatis-plus多表分页查询最佳实现(简单)
    1.简介 在Mybatis Plus 中,虽然IService 接口帮我们定义了很多常用的方法,但这些都是 T 对象有用,如果涉及到 多表的查询,还是需要自定义Vo 对象和自己编写sql 语句,Mybatis Plus提供了一个Page 对...
    99+
    2023-08-23
    mybatis java mysql
  • php怎么实现简单的查询功能
    要实现简单的查询功能,可以使用PHP和MySQL数据库进行操作。以下是一个简单的例子:1. 首先,连接到MySQL数据库:```ph...
    99+
    2023-09-07
    php
  • MySQL基础篇 | 简单的查询、条件查询、排序查询
    ✅作者简介:大家好我是@每天都要敲代码,希望一起努力,一起进步! 📃个人主页:@每天都要敲代码的个人主页 🔥系列专栏:MySQL专栏 目录 一:简单的查询 1. 查询一个字段 2. 查询多个字段  3...
    99+
    2023-09-01
    mysql 数据库 sql
  • SqlServer中怎么实现表单查询
    这篇文章给大家介绍SqlServer中怎么实现表单查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。SELECT语句的元素2.1 常规查询子句和逻辑处理顺序对数据表进行检索查询...
    99+
    2024-04-02
  • Mysql8.0递归查询的简单用法
    这篇文章主要介绍“Mysql8.0递归查询的简单用法”,在日常操作中,相信很多人在Mysql8.0递归查询的简单用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql8.0递归查询的简单用法”的疑惑有所...
    99+
    2023-06-20
  • ORACLE多条件统计查询的简单方法
    前几天要做一个统计查询的功能,因为涉及多张表,多种条件的统计分析。一开始便想到了UNION和IF语句,然后写了1000多行代码,就为了查30条数据觉得不应该。 然后就开始百度,多种条件下的统计。然...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作