首页 > 数据库 >软件测试|MySQL SELECT语句的详细使用

软件测试|MySQL SELECT语句的详细使用

时间:2023-09-06 15:35:15浏览次数:44  
标签:10 name MySQL 查询 字段 表中 SELECT 软件测试

软件测试|MySQL SELECT语句的详细使用_字段

简介

MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了许多功能强大的SQL查询语句,其中最常用且最重要的是SELECT语句。SELECT语句用于从数据库表中检索数据,并根据给定的条件返回所需的结果集。在本文中,我们将深入探讨MySQL SELECT语句的各个方面,并提供一些示例来说明其用法。

基本语法

SELECT 的语法格式如下:

SELECT
{* | <字段列名>}
[
FROM <表 1>, <表 2>…
[WHERE <表达式>
[GROUP BY <group by definition>
[HAVING <expression> [{<operator> <expression>}…]]
[ORDER BY <order by definition>]
[LIMIT[<offset>,] <row count>]
]

各条子句的含义如下:

  • {*|<字段列名>}包含星号通配符的字段列表,表示所要查询字段的名称。
  • <表 1>,<表 2>…,表 1 和表 2 表示查询数据的来源,可以是单个或多个。
  • WHERE <表达式>是可选项,如果选择该项,将限定查询数据必须满足该查询条件。
  • GROUP BY< 字段 >,该子句告诉 MySQL 如何显示查询出来的数据,并按照指定的字段分组。
  • [ORDER BY< 字段 >],该子句告诉 MySQL 按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)和降序(DESC),默认情况下是升序。
  • [LIMIT[<offset>,]<row count>],该子句告诉 MySQL 每次显示查询出来的数据条数。

下面先介绍一些简单的 SELECT 语句,关于 WHERE、GROUP BY、ORDER BY 和 LIMIT 等限制条件,后面我们会一一讲解。

查询表中所有字段

查询所有字段是指查询表中所有字段的数据。MySQL 提供了以下 2 种方式查询表中的所有字段。

  • 使用“*”通配符查询所有字段
  • 列出表的所有字段
  1. 使用“*”查询表的所有字段

SELECT 可以使用“*”查找表中所有字段的数据,语法格式如下:

SELECT * FROM 表名;

使用“*”查询时,只能按照数据表中字段的顺序进行排列,不能改变字段的排列顺序。

示例如下:

mysql> use test_db;
Database changed
mysql> SELECT * FROM employees;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height |  join_date |
+----+--------+---------+------+------+--------+------------+
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.26 sec)

注:一般情况下,除非需要使用表中所有的字段数据,否则最好不要使用通配符“*”。虽然使用通配符可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。使用“*”的优势是,当不知道所需列的名称时,可以通过“*”获取它们。

  1. 列出表的所有字段

SELECT 关键字后面的字段名为需要查找的字段,因此可以将表中所有字段的名称跟在 SELECT 关键字后面。如果忘记了字段名称,可以使用 DESC 命令查看表的结构。

有时,由于表的字段比较多,不一定能记得所有字段的名称,因此该方法很不方便,不建议使用。

查询 tb_students_info 表中的所有数据,SQL 语句还可以书写如下:

SELECT id,name,dept_id,age,sex,height,join_date FROM employees;

虽然列出表的所有字段的方式比较灵活,但是查询所有字段时通常使用“*”通配符。使用“*”这种方式比较简单,尤其是表中的字段很多的时候,这种方式的优势更加明显。当然,如果需要改变字段显示的顺序,可以选择列出表的所有字段。

查询表中指定的字段

查询表中的某一个字段的语法格式为:

SELECT < 列名 > FROM < 表名 >;
  1. 查询单个字段

查询 employees表中 name 列所有员工的姓名,SQL 语句和运行结果如下所示。

mysql> SELECT name FROM employees;
+--------+
| name   |
+--------+
| Dany   |
| Green  |
| Henry  |
| Jane   |
| Jim    |
| John   |
| Lily   |
| Susan  |
| Thomas |
| Tom    |
+--------+
10 rows in set (0.00 sec)

输出结果显示了 employees 表中 name 字段下的所有数据。

  1. 查询多个字段内容

使用 SELECT 声明可以获取多个字段下的数据,只需要在关键字 SELECT 后面指定要查找的字段名称,不同字段名称之间用逗号“,”分隔开,最后一个字段后面不需要加逗号,语法格式如下:

SELECT <字段名1>,<字段名2>,…,<字段名n> FROM <表名>;

示例:

employees 表中获取 idnameheight 三列,SQL 语句和运行结果如下所示。

mysql> SELECT id,name,height
    -> FROM employees;
+----+--------+--------+
| id | name   | height |
+----+--------+--------+
|  1 | Dany   |    160 |
|  2 | Green  |    158 |
|  3 | Henry  |    185 |
|  4 | Jane   |    162 |
|  5 | Jim    |    175 |
|  6 | John   |    172 |
|  7 | Lily   |    165 |
|  8 | Susan  |    170 |
|  9 | Thomas |    178 |
| 10 | Tom    |    165 |
+----+--------+--------+
10 rows in set (0.00 sec)

输出结果显示了 employees 表中 idnameheight 三个字段下的所有数据。

总结

SQL是一个非常强大且灵活的查询语言,可以根据不同的需求进行多样化的数据检索和操作。在实际应用中,根据具体的业务场景和数据结构,你可以根据这些基本用法进行更复杂的查询操作。要熟练掌握SQL,需要不断练习并深入了解数据库的表设计和索引优化等知识。


标签:10,name,MySQL,查询,字段,表中,SELECT,软件测试
From: https://blog.51cto.com/u_15640304/7387624

相关文章

  • 软件测试|MySQL DISTINCT关键字过滤重复数据
    简介在MySQL中,有时候我们需要从表中检索唯一的、不重复的数据。这时,我们可以使用DISTINCT关键字来过滤掉重复的数据行。在本文中,我们将深入探讨MySQL中DISTINCT的用法以及如何在查询中使用它来得到不重复的结果集。基本语法DISTINCT关键字用于在SELECT语句中指示查询结果中去除重复......
  • 软件测试|Chrome 115之后的版本,如何更新driver?
    问题描述前两天在运行一个web自动化测试脚本时,报了如下的错误,ThisversionofChromeDriveronlysupportsChromeversion113Currentbrowserversionis115.0.5790.110withbinary,如下图所示:该报错提示我,当前的driver只支持113版本的Chrome浏览器,但是我的Chrome已经自动更新......
  • 编写涉及多个数据库的 MySQL 存储过程注意事项
    在编写涉及多个数据库的MySQL存储过程时,有一些注意事项需要考虑。以下是一些重要的注意事项:数据库权限:确保您在存储过程中使用的数据库用户具有足够的权限来访问和操作涉及的所有数据库。这包括对表、视图、存储过程等对象的读取和写入权限。数据库连接:在存储过程中,您可能......
  • DBeaver转储数据库数据报错解决(即免安数据库提取mysqldump.exe)
    原因:DBeaver转储数据功能使用的是mysqldump.exe这个工具,本机安装的是mysql5.7,而需要导出的数据库是MariaDB10.5.16,应该对应mysql8,导致出错解决方法:当然是换新版本的mysqldump,但是这有个问题,只是为了导出,新装一个数据库实属没有必要,有文章说从MySQL下载他官方的连接工......
  • 什么是省级软件产业主管部门认可的软件检测机构,什么是CMA检测资质,第三方软件测试报告
    ​ CMA、CNAS 省级软件产业主管部门认可的软件检测机构是指经过省级以上人民政府计量行政部门认证合格,具有相应的检测能力和资质的软件检测机构。其中,CMA是“中国计量认证”的英语简称,是根据中华人民共和国计量法的规定,由省级以上人民政府计量行政部门对检测机构的检测能......
  • mysql常见问题
    1 ERROR2059(HY000):Authenticationplugin'caching_sha2_password'cannotbeloaded: linux上连接docker上面的mysql,安装客户端:sudoyuminstallmysql设置环境变量:exportPATH=$PATH:/path/to/mysql/bin使用root用户登录ALTERUSER'your_username'IDENTIFIED......
  • [转]Mysql中普通索引key 、主键索引(primary key) 、唯一索引(unique key)与index区别
    原文地址:Mysql中普通索引key、主键索引(primarykey)、唯一索引(uniquekey)与index区别-元小疯-博客园一、索引的定义和由来:    索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行。 ......
  • linux 安装mysql
    官网下载地址https://downloads.mysql.com/archives/community/ 我的是centos7下载的是这个 2.上传到服务器,解压#在当前目录下(mysql)下创建一个mysql-8.0.33文件夹mkdirmysql-8.0.33#解压安装包到该目录下tar-xvfmysql-8.0.33-1.el7.x86_64.rpm-bundle.tar-C......
  • 启动mysql数据库
    首先确定电脑是否安装mysql在命令行终端输入以下命令来检查MySQL是否已安装:mysql--version如果已安装,将会返回MySQL的版本信息,否则需要先安装MySQL。 手动启动mysql在此电脑--管理--服务和应用程序-- 服务--MySQL 右键启动; 只有先启动mySql才能用 Navicat......
  • vue3+typescript +uniapp中select标签
    <select:value="state.year"@change="handleSelectChange($event.target)"> <option:value="i"v-for="iinstate.yearrange">{{i}}</option> </select> ts的代码:``相当于v-model<se......