mysql如何快速编写单表查询语句

目录

背景

我们在编写查询语句的时候,都提倡需要用到哪些字段就查哪些字段,这样有两个好处:1、可以增加程序运行效率,2、可以避免无关字段被暴露。那我们一个字段一个字段写就比较烦,有没有方法快速生成呢?答案是有,下面就是生成的语句。

生成sql语句

sql 复制代码
#数据库
SET @databaseName:= 'shop_db';	
#表
SET @tableName := 'buyer';
#表别名
SET @alias := 't';

#生成查询语句
SELECT
	CONCAT('SELECT ',GROUP_CONCAT( CONCAT(@alias,'.'), COLUMN_NAME ORDER BY ORDINAL_POSITION ASC SEPARATOR ',' ),' FROM ',@tableName,' t') selectSql 
FROM
	information_schema.COLUMNS 
WHERE
	TABLE_SCHEMA = @databaseName 
	AND TABLE_NAME = @tableName;

生成的sql:

sql 复制代码
SELECT
	t.buyer_user_id,
	t.NAME,
	t.sex,
	t.birthday,
	t.wechat_open_id,
	t.wechat_union_id,
	t.wechat_name,
	t.wechat_number,
	t.ali_user_id,
	t.phone,
	t.PASSWORD,
	t.head_image,
	t.state,
	t.if_black,
	t.remark,
	t.token,
	t.member_level_id,
	t.growth,
	t.credit,
	t.create_time,
	t.update_time,
	t.id_kind,
	t.id_no,
	t.user_type,
	t.client_name,
	t.uid_on_branch,
	t.client_type,
	t.realname_time,
	t.hq_token,
	t.platform_account,
	t.login_ip,
	t.login_time,
	t.if_auth,
	t.source,
	t.third_customer_id,
	t.source_customer_id 
FROM
	buyer t

最后把不要的字段删除就可以了,只做减法。

相关推荐
瀚高PG实验室17 分钟前
SQL优化案例:使用分区表优化SQL查询性能
linux·服务器·数据库·sql·microsoft·postgresql
SelectDB20 分钟前
15 分钟搭建 PostgreSQL + Apache Iceberg + Apache Doris 的湖仓分析平台
数据库
SelectDB40 分钟前
科大讯飞可观测性底座:从 ES/Loki 到 Apache Doris 的可观测存储分析升级实践
数据库
SelectDB1 小时前
Cisco WebEx 数据平台统一改造:基于 Apache Doris / SelectDB 替换 Trino、Pinot、Iceberg 及 Kyuubi
数据库
数据技术说1 小时前
MySQL 和 PostgreSQL 的 CDC 方案到底有什么区别?
数据库·架构
SelectDB1 小时前
灵犀科技统一数据服务平台:基于 Apache Doris / SelectDB 实现存储降本 60%、计算提效 10 倍
数据库
让学习成为一种生活方式1 小时前
KMC 3.2.4 安装与使用--生信工具108
数据库
今天AI了吗1 小时前
从聊天到委派:AI Agent 如何推进长期任务
数据库·人工智能·python·sql·rust
—Miss. Z—2 小时前
第11章 故障管理
网络·数据库·oracle
WA内核拾荒者2 小时前
WhatsApp账号运营SOP的可视化编排与流水线监控
大数据·数据库·windows