草庐IT

feature_selection

全部标签

mysql - 为公众提供一种在数据库上运行 SELECT 查询的方法有多危险?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion假设我执行以下操作:我创建了一个MySQL数据库,并用一些数据填充它。我创建了一个MySQL用户,该用户只能访问该数据库,并且只有SELECT权限。我创建了一个网页,用户(任何用户,无需密码)可以通过该网页输入任意SQL,并且在提交表单时,脚本会尝试以我创建的MySQL用户身份运行SQL;生成的任何结果集都会显示给用户;生成的任何错误消息都会显示给用户。假设数据库不包含存储过程等,只包含表

SQL SELECT 与 m :n relationship

我在用户和标签之间有m:n关系。一个用户可以有m个标签,一个标签可以属于n个用户。表格看起来像这样:USER:IDUSER_NAMEUSER_HAS_TAG:USER_IDTAG_IDTAG:IDTAG_NAME假设我需要选择所有具有标签“apple”、“orange”和“banana”的用户。使用SQL(MySQLDB)实现此目的的最有效方法是什么? 最佳答案 SELECTu.*FROM(SELECTuser_idFROMtagtJOINuser_has_taguhtONuht.tag_id=t.idWHEREtag_nameIN

mysql - 如何创建制表符分隔的 Select 语句?

我需要将列与select语句结合起来,以便创建一个制表符分隔的文件。为了。例如SelectColumnA||","||ColumnB以上语句将创建逗号分隔文件。我应该写什么来创建制表符分隔文件?请告诉我。 最佳答案 MySQL:selectconcat(ColumnA,"\t",ColumnB)SQL服务器:selectColumnA+char(9)+ColumnB甲骨文:selectColumnA||chr(9)||ColumnB 关于mysql-如何创建制表符分隔的Select语句?

mysql - SQL SELECT * FROM datetime = CURDATE() 返回空结果集

谁能告诉我哪里错了?通过使用该查询,它应该返回一些数据具有datetime='2012-10-12'的行,对吗?这是我的reference我的日期时间列='YYYY-MM-DDHH:MM:SS',数据类型=日期时间。我正在使用XAMPPv1.8.0,MySQLv5.5.25a。 最佳答案 尝试使用DATE()CAST将datetime转换为dateSELECT*FROMtableNameWHEREDATE(`datetime`)=DATE(CURDATE())YYYY-MM-DDHH:MM:SS不等于YYYY-MM-DD2012-0

mysql - 在 SELECT 上用逗号替换点

我想在数据库中的SELECTing字段上替换查询字符串中的任何“点”字符。我需要修改很多查询,我希望有一个函数可以对SELECT上的所有列起作用。我的意思是这样的SELECTDOT_TO_COMMA(*)FROM...现在我有:从产品中选择价格,lastprice输出:22.10、5.24预期:22,10,5,25 最佳答案 SELECTREPLACE(price,'.',',')ASpriceFROMproducts;了解更多信息here您必须用函数包装需要替换的每一列。无法使用replace(*)。

php - 在 SELECT 查询中使用 *

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whichisfaster/best?SELECT*orSELECTcolumn1,colum2,column3,etc.我目前正在将用MySQL3和PHP4编写的应用程序移植到MySQL5和PHP5。在分析中,我发现了几个使用“select*fromtablename”的SQL查询,即使在PHP中只处理了一个列(字段)。该表有将近60列,并且有一个主键。在大多数情况下,唯一使用的列是id,它是主键。如果我使用明确提及列名而不是*的查询,是否会提高性能?(在这个应用程序中只有一个方法我们需要所有的列,所有其他

MySQL SELECT 一切都变成一个大字符串(列和行)

我有一个很大的MySQLSELECT查询,我只需要将它转换成一个字符串,这样我就可以从中进行更新,而不必使用两个单独的查询。为了简单起见,假设我们有一个返回此结果的SELECT查询:我如何将所有这些转换成这样的东西:1,Bob,20;2,Adam,30;3,Steve,40;我可以用它来更新其他一些表吗?知道列数和行数都可以更改并且不是静态的。(非常重要!尤其是列!)。我怎样才能做到这一点?我认为CONCAT()在这种情况下无济于事。如有任何帮助,我们将不胜感激。谢谢你。 最佳答案 你能试试这个吗?SELECTgroup_conca

mysql - 与执行 "SELECT *"相比,从 SQL 语句中选择特定值是否提高了效率

这个问题刚刚出现在我的脑海中,我无法回答。假设您正在为网站开发新闻页面。在您的表格中,您将拥有以下字段:ID,Title,Subject,Content,Time,Author,Keywords在用户将看到的实际页面上,您可能只想显示以下内容:Title,Content,Keywords现在,当你去写SQL语句的时候,是不是这样写比较好:SELECTTitle,Content,KeywordsFROMnewstable;或者像这样:SELECT*FROMnewstable;我一直认为使用前一个示例会更有效率,使用起来也更快捷。但是,我现在认为使用selectall语句可能会更快更容易。

mysql - 在 MySQL 中对多个数据运行相同 SELECT 的最简单方法

我有非常简单的选择,比方说:SELECTCOUNT(added)FROMusersWHEREadded我能否以某种简单的方式运行此选择,不仅针对给定日期,而且针对比方说7天,每行显示截至该特定日期的计数?编辑:这是我的SQL构建表:CREATETABLEusers(idINT(6)UNSIGNEDAUTO_INCREMENTPRIMARYKEY,addedDATE);INSERTINTOusers(added)VALUES("2015-07-30");INSERTINTOusers(added)VALUES("2015-07-29");INSERTINTOusers(added)VAL

mysql - 为什么在对索引字段进行选择时使用 IN(...) 会降低 SELECT 查询的性能?

AvoidusingIN(...)whenselectingonindexedfields,ItwillkilltheperformanceofSELECTquery.我在这里找到了这个:https://wikis.oracle.com/pages/viewpage.action?pageId=27263381你能解释一下吗?为什么这会降低性能?我应该用什么代替IN。可能是“或”语句? 最佳答案 说实话,这种说法与我在有关MySQL的书籍和文章中读到的许多提示相矛盾。这是一个例子:http://www.mysqlperformanc