Javascript 如何在NodeJS中包装长sql语句
我需要在node.js应用程序中运行一个大型mysql select查询(超过100行)。我的sql语句中的字段使用backticks`所以我不确定是否可以使用ES6的多行字符串功能。有没有其他方法可以用来包装我的sql查询而不必连接每一行?我建议将长sql保存到Javascript 如何在NodeJS中包装长sql语句,javascript,mysql,node.js,ecmascript-6,Javascript,Mysql,Node.js,Ecmascript 6,我需要在node.js应用程序中运行一个大型mysql select查询(超过100行)。我的sql语句中的字段使用backticks`所以我不确定是否可以使用ES6的多行字符串功能。有没有其他方法可以用来包装我的sql查询而不必连接每一行?我建议将长sql保存到.sql文件中(并保持在版本控制下),然后在加载时将其读入变量 通过这种方式,您还可以进一步格式化或美化SQL 但是,再加上之前的另一条评论,长SQL对SQL解析器来说非常重要,所以要么使用准备好的语句(如果在DB引擎上可用)、存储过程
.sql文件中(并保持在版本控制下),然后在加载时将其读入变量
通过这种方式,您还可以进一步格式化或美化SQL
但是,再加上之前的另一条评论,长SQL对SQL解析器来说非常重要,所以要么使用准备好的语句(如果在DB引擎上可用)、存储过程,甚至是视图我建议将长SQL保存到.SQL
文件中(并保持在版本控制之下),然后在加载后将其读入变量
通过这种方式,您还可以进一步格式化或美化SQL
但是,再加上前面的另一条评论,长SQL对SQL解析器来说非常重要,所以要么使用准备好的语句(如果在DB引擎上可用)、存储过程,甚至是视图Array.prototype.join()或反斜杠:var s='line1\line2\line3';如果你有很多SQL语句,你可以考虑创建一个存储过程。dba将更易于维护、改进和测试。您的反标记应该在最新的节点版本中工作,因为它们是受支持的。Array.prototype.join()或反斜杠:var s='line1\line2\line3';如果你有很多SQL语句,你可以考虑创建一个存储过程。dba将更易于维护、改进和测试。您的反勾号应该在最新的节点版本中工作,因为它们是受支持的。谢谢!我使用this和fs从外部.sql文件读取查询。我本来会使用存储过程,但我在组织中没有在数据仓库中创建存储过程的权限。准备好的语句呢?有100行。。。检查语句是否存在(如果不存在,则创建它)可能会更快。如果您多次调用此SQL,它可以大大提高您的性能。谢谢!我使用this和fs从外部.sql文件读取查询。我本来会使用存储过程,但我在组织中没有在数据仓库中创建存储过程的权限。准备好的语句呢?有100行。。。检查语句是否存在(如果不存在,则创建它)可能会更快。如果您多次调用此SQL,它可以大大提高性能。