node专栏

node连接MySQL

读心悦 · 6月18日 · 2020年 · 本文1840字 · 阅读5分钟271

在createConnection方法中,使用一个参数,参数值为一个对象或一个URL字符串,用于指定该连接所用的各种选项。当参数值指定为一个对象时,可以使用的属性如下所示。

const mysql = require("mysql");
const connecttion = mysql.createConnection({
    host: "localhost",
    port: 3306,
    database: "nodetes",
    user: "root",
    password: "123456"
});

connecttion.connect(function (err) {
    if (err) {
        console.log("数据库链接失败!");
    } else {
        console.log("数据库链接成功!");
        connecttion.end(function (err) {
            if (err) {
                console.log("关闭数据库失败!")
            } else {
                console.log("关闭数据库成功!")
            }
        })
    }
})

host:属性值为一个字符串,用于指定数据库服务器地址(可以为IP地址或主机名),默认属性值为“localhost”。

port:属性值为一个整数值,用于指定数据库服务器使用的端口号,默认属性值为3306。

socketPath:属性值为一个字符串,用于指定一个数据库服务器使用的unix端口路径。当使用了host属性与port属性时,socketPath属性值被忽略。

user:属性值为一个字符串,用于指定连接MySQL数据库时使用的用户名。

password:属性值为一个字符串,用于指定连接MySQL数据库时使用的密码。

database:属性值为一个字符串,用于指定需要连接的MySQL数据库名。

charset:属性值为一个字符串,用于指定该连接使用的字符集。默认属性值为“UTF8_GENERAL_CI”,属性值需要全部使用大写字母。

timezone:属性值为一个字符串,用于指定存储本地日期时使用的时区,默认属性值为“local”。

stringifyObjects:属性值为一个布尔值,用于指定在存储对象时将对象转换为字符串,默认属性值为false。

insecureAuth:属性值为一个布尔值,用于指定是否允许连接使用老的(不安全的)认证方法,默认属性值为false。

typeCast:属性值为一个布尔值,用于指定是否将字段值转换为本地JavaScript类型。默认属性值为true。

queryFormat:属性值为一个函数,用于格式化查询字符串。

supportBigNumbers:属性值为一个布尔值,用于指定是否支持使用大数值(BIGINT类型与DECIMAL类型)。默认属性值为false。

bigNumbersStrings:属性值为一个布尔值,用于指定在处理大数值(BIGINT类型与DECIMAL类型)时是否将大数值强制转换为一个JavaScript中的String(代表字符串)对象。默认属性值为false。如果将supportBigNumbers属性值指定为true,但是将bigNumbersStrings属性值指定为false,那么,只有在大数值不能被转换为JavaScript中的Number(代表数值)对象时(当这些数值不在-253~+253的范围内时),才将该数值强制转换为String类型,默认属性值为false。当supportBigNumbers属性值指定为false时该属性值被忽略。

debug:属性值为一个布尔值,用于指定是否将协议细节进行标准输出,默认属性值为false。

multipleStatements:属性值为一个布尔值,用于指定是否允许在一次查询中执行多条MySQL表达式,默认属性值为false。请小心使用该属性,因为将属性值设定为true时存在受到SQL注入攻击的可能性。

Connection对象的end方法关闭和MySQL数据库之间的连接;

connection.end(function(err){
    //回调的代码
})

destroy方法也可以关闭与MySQL数据库之间的连接,但是这个方法同时会销毁与数据库服务器之间的链接的端口对象。

connection.destroy();   //不使用任何参数

query 方法执行数据的增加、删除、查询以及修改等等处理

需要使用Connection对象的escape方法对所有用户输入数据进行escape编码处理

0 条回应

×