meteor 结合mysql_node中的mysql模块

# 如果前面没有安装过其他模块,需要先初始化

npm i mysql

一。在Node中使用MySQL模块一共需要5个步骤:

// 1. 加载mysql模块

const mysql = require('mysql');

// 2. 创建连接对象(设置连接参数)

const conn = mysql.createConnection({

// 属性:值

host: 'localhost',

port: 3306,

user: 'root',

password: '',

database: 'yingxiong'

});

// 3. 连接到MySQL服务器

conn.connect();

// 4. 完成查询(增删改查)(执行sql语句)

/*

conn.query(SQL语句, [SQL中占位符的值], (err, result, fields) => {

err: 错误信息

result: 查询结果

fields: 当前查询过程中涉及到的字段信息,一般用不着

});

*/

// 5. 关闭连接,释放资源

conn.end();

二。查询

执行查询类型的SQL语句,查询结果(result)是一个数组,每个单元是对象,对象的属性是数据表的字段名

1 。普通的查询

conn.query('select * from heroes limit 2', (err, result) => {

if (err) throw err;

console.log(result);

});

2.占位符模式

一个占位符

let sql = 'select * from heroes where id < ?';

conn.query(sql, 3, (err, result) => {

if (err) throw err;

console.log(result);

});

SQL中有多个占位符,则传递数组

let sql = 'select * from heroes where id < ? and sex = ?';

conn.query(sql, [3, '女'], (err, result) => {

if (err) throw err;

console.log(result);

});

一次性执行多条SQL

多条SQL之间使用 分号 (;) 隔开

/// 一次性执行多条SQL

let sql = `select id,name from heroes limit 2;

select * from boy;`;

conn.query(sql, (err, result) => {

if (err) throw err;

console.log(result);

});

查询的结果是一个二维数组

[

// 下面是第一条SQL查询的结果

[

{ id: 1, name: '薇恩' },

{ id: 2, name: '赵信' }

],

// 下面是第二条SQL查询的结果

[

{ name: '犀利哥', flower: '百合' },

{ name: '周杰伦', flower: '桃花' },

]

三添加 --- create

执行添加类型的SQL语句,查询结果(result)是一个对象,该对象中有两个属性需要记住

affectedRows: 受影响行数

insertID: 查询数据的主键值

基本添加

let sql = 'insert into heroes set name="派克", nickname="血港鬼影"';

conn.query(sql, (err, result) => {

if (err) throw err;

// console.log(result);

if (result.affectedRows > 0) {

console.log('添加成功,最新添加的id为:' + result.insertId);

} else {

console.log('添加失败');

}

});

占位符形式

数据添加时,占位符需要一个对象。 对象的属性是数据表字段名,值是要写入数据表的数据

// 有占位符的形式

// 如果SQL语句中有 字段=值, 字段=值, .... 可以使用一个 ? 表示;要为这个问号传递一个对象

let sql = 'insert into heroes set ?';

let values = {

// 字段: 值

name: '艾克',

nickname: '时间刺客',

age: 34

};

conn.query(sql, values, (err, result) => {

if (err) throw err;

// console.log(result);

if (result.affectedRows > 0) {

console.log('添加成功,最新添加的id为:' + result.insertId);

} else {

console.log('添加失败');

}

});

四修改 --- update

执行修改类型的SQL语句,查询结果(result)是一个对象,该对象中有 affectedRows 属性

基本修改

update heroes set age=28, skill='在地上打滚' where id=19

占位符模式

数据修改通常需要两个占位符。 占位符1是要修改的数据,对象形式,属性是数据表字段;占位符2是修改条件,通常是主键值

let sql = 'update heroes set ? where id = ?';

let values = {

skill: '时光倒流',

sex: '男'

}

conn.query(sql, [values, 36], (err, result) => {

if (err) {

console.log('修改失败');

} else {

console.log('修改成功');

}

});

五删除 --- delete

执行删除类型的SQL语句,查询结果(result)是一个对象,该对象中有 affectedRows 属性=

基本删除

delete from heroes where id=19

占位符模式

let sql = 'delete from heroes where id = ?';

conn.query(sql, 36, (err, result) => {

if (err) {

console.log('删除失败');

} else {

console.log('删除成功');

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值