《MySQL》第十三篇 SELECT * 和 SELECT 字段名的区别

news2024/11/15 11:11:59

在这里插入图片描述
在实际开发中,进行数据查询的SQL无非有两种写法,使用SELECT * from tableName或者SELECT 字段名(多个) from tableName,二者各有利弊

SELECT * 写法

优点:

  1. 写法简单,不需要手动输入具体的字段,一定程度上减少代码量,需要查询的字段用一个*号就能替代
  2. 不需要关注表的字段名称,一定程度上避免繁琐的字段名输入和错误输入的情况发生
  3. 在不考虑查询条件的影响下,无需考虑表结构字段的增减;无需对SQL语句进行修改,一定程度上可以提高代码的复用率

缺点:

  1. SELECT * 表示查询表中所有字段,在执行SQL时,MySQL的词法分析器会通过Bison将 * 号解析为数据库表的全部字段,相比select 字段来说,多一步解析操作,效率上比select 字段 要低一些
  2. 由于查询了表所有字段,MySQL会全表扫描,查询的结果中会存在大量不需要的字段信息,增加网络传输的开销,降低查询的效率
  3. 会导致覆盖索引失效,使用select * ,不可能给所有字段创建一个覆盖索引,即使使用到已有的覆盖索引,也需要进行回表查找;

SELECT 字段

优点:

  1. 可以根据需要,有目的性的选择查询字段,可避免冗余字段的产生,提高查询效率,降低网络传输的开销
  2. 能更好的进行SQL优化;当执行select 字段 语句时,由于数据库数据较多,查询效率低,可能根据查询的字段,建立联合索引,提升查询效率;而select * 不好创建联合索引

缺点:

  1. 受到表结构变化带来的影响;在增删表字段时,SQL可能也需要同步修改;否则新增的字段查询不出,删除的字段,执行SQL会报错
  2. 需要手动的将表字段全部罗列处理,如果表字段很多时,耗费时间

不同的写法,可以满足不同的场景。在实际应用中,需要根据具体情况选择合适的写法。如果需要查询所有字段,可以使用 SELECT *。如果需要精确控制查询的字段,可以使用 SELECT 字段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/818656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【【萌新的stm32学习-2】】

萌新的stm32学习-2 STM32 启动模式 可以通过BOOT0和BOOT1 引脚设置启动模式 BOOT1 BOOT0 X 0 启动模式 主闪存存储器 0 1 系统存储器 1 1 选择 内置SRAM(少) 我们使用串口给 STM32 下载程序,但是串口下载并不能仿真调试代码,只…

程序员做项目必用的工具【更新中...】

每个程序员多多少少都会有自己简化项目的小工具,我采访了我们公司所有的工程师总结了程序员必备工具篇。 一.unisms 官网:https://unisms.apistd.com/ 不会有人这年头写注册登录还是自己写验证码模块吧? 你该得拥有一个短信验证码平台了&…

【雕爷学编程】MicroPython动手做(24)——掌控板之拓展掌控宝2

掌控拓展板(parrot)是掌控板衍生的一款体积小巧、易于携带的拓展板。支持电机驱动、语音播放、语音合成等功能的IO引脚扩展板,可扩展12路IO接口和2路I2C接口。 技术参数 该板具有以下特性: 两路DC马达驱动,单路电流150mA 支持音频功放和喇叭输出(掌控板P8,P9引脚…

不可错过的家装服务预约小程序商城开发指南

在当今社会,家装行业发展迅速,越来越多的人开始寻求专业的家装预约和咨询服务。对于不懂技术的新手来说,创建一个自己的家装预约咨询平台可能听起来很困难,但实际上通过一些第三方制作平台和工具,这个过程可以变得简单…

网络安全学习笔记——burp和SqlMap的tips

一、Burp 爆破 1、Burp爆账号密码 burp爆破的前提条件——该网站账号密码没有进行加密而是明文,且验证码可以重复使用,如下图数据包中直接显示账号与密码且验证码不需要重复提交(此处需要自己使用burp进行测试) 1、进入burp&am…

生态伙伴 | 华秋硬创联合长虹创投,共同打造更优生态系统

01大赛介绍 中国硬件创新创客大赛始于2015年,由深圳华秋电子有限公司主办,至今已经成功举办八届,赛事范围覆盖华南、华东、华北三大地区,超10个省市区域。 大赛影响了超过45万工程师群体,吸引了35000多名硬创先锋报名参…

Android 之 TelephonyManager (电话管理器)

本节引言: 本章节是Android基础入门教程的最后一章,主要讲解是一些零零散散的一些知识点,以及一些遗漏 知识点的补充,这些零散的知识点包括,各种系统服务的使用,比如本节的电话管理器,短信管理器…

ALLEGRO之Place

本文主要讲述了ALLEGRO的Place菜单。 (1)Manually:手动放置,常用元器件放置方法; (2)Quickplace:快速放置; (3)Autoplace:自动放置&a…

ARM裸机-9

1、ARM汇编指令集 1.1、两个概念:指令与伪指令 (汇编) 指令是CPU机器指令的助记符,经过编译后会得到一串10组成的机器码,可以由CPU读取执行。 (汇编)伪指令本质上不是指令 (只是和指令一起写在代码中),它是编译器环境提供的&…

最新版CleanMyMac X4.14.1苹果电脑系统数据清理工具

最新版CleanMyMac X 让您的Mac焕然一新,时刻保持安全CleanMyMac X是一款专业的Mac清理软件,可智能清理mac磁盘垃圾和多余语言安装包,快速释放电脑内存,轻松管理和升级Mac上的应用。同时CleanMyMac X可以强力卸载恶意软件&#xff…

【Git系列】了解什么是版本控制

🐳了解什么是版本控制 🧊1. 什么是版本控制🧊2. 为什么要有版本控制🧊3. 常见的版本控制工具🧊4. 版本控制分类🪟4.1 本地版本控制🪟4.2 集中版本控制🪟4.3 分布式版本控制 学习git之…

socket 基础

Socket是什么呢? ① Socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过“套接字”向网络发出请求或者应答网络请求。 ② Socket是连接运行在网络上的两个程序间的双向通信的端点。 ③ 网络通讯其实指…

1.1.2 SpringCloud 版本问题

目录 版本标识 版本类型 查看对应版本 版本兼容的权威——官网: 具体的版本匹配支持信息可以查看 总结 在将Spring Cloud集成到Spring Boot项目中时,确保选择正确的Spring Cloud版本和兼容性是非常重要的。由于Spring Cloud存在多个版本,因此…

Vulnhub: shenron: 3靶机

kali:192.168.111.111 靶机:192.168.111.171 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.171 修改hosts后访问目标80端口,发现是wordpress wpscan收集目标用户,爆破出密码:ilov…

台灯头灯手电筒UL153亚马逊美国站测试要求

在将台灯、头灯或手电筒上架到亚马逊美国站之前,UL153测试是必不可少的一项认证。UL153是美国安全实验室(Underwriters Laboratories)颁布的一项标准,旨在确保产品的安全性和可靠性。那么,我们应该如何办理UL153测试报…

亚马逊调整数据存档政策:超两年的订单将从9月起存档!

2023年9月起,亚马逊美国站和欧洲站宣布对订单数据存档政策进行调整。该调整意味着自2023年9月起,所有历时两年以上的订单将按月存档。此举是为了确保客户的个人隐私和数据安全,存档订单将不再包含买家的个人身份信息,如姓名、电话…

git操作:修改本地的地址

Windows下git如何修改本地默认下载仓库地址 - 简书 (jianshu.com) 详细解释: 打开终端拉取git时,会默认在git安装的地方,也就是终端前面的地址。 需要将代码 拉取到D盘的话,现在D盘创建好需要安放代码的文件夹,然后…

Linux系统管理:虚拟机Rocky Linux安装

目录 一、理论 1.Rocky Linux 2.NetworkManager配置 3.ipaddress 配置文件 4.nmtui 配置 ipaddress 二、实验 1.虚拟机Rocky Linux安装准备阶段 2.安装Rocky Linux 3.进入系统 三、问题 1.网络配置文件权限不够 一、理论 1.Rocky Linux (1&#xff0…

《2023数字化采购发展报告》发布,北京筑龙采购供应链数字化实践成功入选

近日,由亿邦智库联合中国物流采购与联合会公共采购分会共同编制的《2023数字化采购发展报告》(下文称《报告》)在第四届国有企业数智化采购与智慧供应链高峰论坛上重磅发布。作为一家服务30行业超大型及大中型国有企业的采购供应链数字化产品…

基于linux下的高并发服务器开发(第四章)- 多进程实现并发服务器(回射服务器)

1. socket // 套接字通信分两部分: - 服务器端:被动接受连接,一般不会主动发起连接 - 客户端:主动向服务器发起连接 2.字节序转换函数 当格式化的数据在两台使用不同字节序的主机之间直接传递时,接收端必然错误…