Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在NodeJS中包装长sql语句_Javascript_Mysql_Node.js_Ecmascript 6 - Fatal编程技术网

Javascript 如何在NodeJS中包装长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引擎上可用)、存储过程

我需要在node.js应用程序中运行一个大型mysql select查询(超过100行)。我的sql语句中的字段使用backticks`所以我不确定是否可以使用ES6的多行字符串功能。有没有其他方法可以用来包装我的sql查询而不必连接每一行?

我建议将长sql保存到
.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,它可以大大提高性能。