首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用javascript包装长SQL语句的方便方法

用javascript包装长SQL语句的方便方法
EN

Stack Overflow用户
提问于 2015-11-11 08:53:25
回答 5查看 4.6K关注 0票数 0

在python中,可以使用“”来包装长MySQL语句。

代码语言:javascript
复制
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

但是,如果我在javascript中尝试相同的操作,就会出现语法错误。

代码语言:javascript
复制
connection.query("""CREATE TABLE EMPLOYEE (
FIRST_NAME  CHAR(20) NOT NULL,
    LAST_NAME  CHAR(20),
    AGE INT,
    SEX CHAR(1),
    INCOME FLOAT )"""


    , function (err, rows, fields) {
    if (err) throw err;
    res.send(rows);
});

对于python的"""字符串封装,是否有某种形式的javascript等效?如果不是,在javascript中封装长MySQL字符串语句的最佳实践是什么?

我正在使用node.js重新定位客户端。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-11-11 09:09:04

在JavaScript中处理长字符串:

代码语言:javascript
复制
var sql = "CREATE TABLE EMPLOYEE (" +
             " FIRST_NAME  CHAR(20) NOT NULL," +
             " LAST_NAME  CHAR(20)," +
             " AGE INT," +
             " SEX CHAR(1)," +
             " INCOME FLOAT )";

Python的三重引号很棒!不幸的是,在JavaScript中,您只有两个选项:

  • 基于+的级联,如上所示
  • 基于\的延拓,由@尼娜·斯科尔斯提出

就我个人而言,我不喜欢使用\作为行延续(在任何语言中)。使用+也不会在字符串中引入不必要的空格。

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2016-08-31 07:57:57

如果您使用的是支持node.js的ES6,那么这不应该是一个问题。ES6 javascript现在使用下面的语法支持多行字符串。

代码语言:javascript
复制
sql = `CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )`
票数 9
EN

Stack Overflow用户

发布于 2015-11-11 08:58:23

可以在行尾使用反斜杠\将字符串扩展到多行。

代码语言:javascript
复制
var sql = "CREATE TABLE EMPLOYEE ( \
           FIRST_NAME  CHAR(20) NOT NULL, \
           LAST_NAME  CHAR(20), \
           AGE INT, \
           SEX CHAR(1), \
           INCOME FLOAT )";
document.write(sql);

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33647043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档