提问人:sandeep kamath 提问时间:4/8/2021 更新时间:4/8/2021 访问量:607
sql select 查询中是否禁止使用逗号?
Is comma forbidden in sql select query?
问:
在我们的产品中,我们为客户提供了 cli 选项来获取必要的详细信息。
我们有一个脚本,它调用执行提供的查询并将数据返回给客户的 java 类。脚本名称为 execute ./execute query “从exposedSchema.employee_view中选择名称、地址”
我想知道从安全角度来看,是否禁止在选择查询中使用逗号(,)?
我们的计划应该是 允许: ./执行查询 “select * from exposedSchema.employee_view” 不允许 ./execute query “从exposedSchema.employee_view中选择名称、地址”
答:
其实我建议你使用
select name, address from exposedSchema.employee_view
而不是
select * from exposedSchema.employee_view
原因有很多。以下是使用链接的一些关键原因:
在 SQL Server 和任何常见的 SQL 语言中,星号 ( * ) 指示数据库引擎返回表中的所有列。用 在您的查询中“选择*”是一个坏主意,以及我们不这样做的原因 推荐这个是:
安全性 – 如果未经授权的用户访问您的查询,并且它 返回 *(表示所有列),它可以保留每一列可用 误用。
性能 – 返回 数据仅包含您需要的列,而不是所有可用列的数据。什么时候 使用“SELECT *”,每次运行 语句,因此几乎总是返回速度更快 只有您需要的列,而不是所有列。
混淆 – 作为 事情会随着时间而变化,你真的无法确定编写的查询 今天使用“SELECT *”将返回易于消化的结果 将来必须使用数据的程序或报表。列 可能会随着时间推移在表中添加或删除,并且如果指定 SELECT 查询中的列,您确切地知道哪些列将是 返回。
https://seniordba.wordpress.com/2018/06/11/list-table-columns-names-instead-of-using-select/
评论
select
select *