- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - MySQL Insert Into
MySQL数据库中的表存储一行或多行或记录。每条记录都由表结构定义的列或属性组成。在本章中,您将学习如何使用 INSERT INTO 语句在 MySQL 表中添加新行、使用 MySQL 客户端以及通过 Node.js 程序。
假设已经在MySQL服务器上创建了mydb数据库,并且其中有EMPLOYEE表,其结构如下 -
mysql> desc employee;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
| age | int | YES | | NULL | |
| salary | float | YES | | NULL | |
+--------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
INSERT INTO语句的语法如下:
INSERT INTO table_name (field1, field2, ......) VALUES (value1,value2, ......);
table_name后面的括号是字段列表。这些字段中要填充的值将放在 VALUES 子句后面的第二个括号中,顺序与字段相同。如果值列表的字段数量和顺序与表结构中的字段数量和顺序相同,则可以省略字段列表。如果表结构有任何auto_increment字段,它们将自动填充。
打开 MySQL 客户端并发出以下 INSERT INTO 语句以在 EMPLOYEE 表中插入新记录。使用 SELECT 查询检查是否已添加新记录。
mysql> INSERT INTO employee VALUES(1, "Ravi", 25, 25000);
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM employee;
+----+------+------+--------+
| id | name | age | salary |
+----+------+------+--------+
| 1| Ravi | 25 | 25000 |
+----+------+------+--------+
1 row in set (0.00 sec)
插入Node.js
现在,我们必须借助Node.js应用程序以编程方式在MySQL表中插入一条新记录。要在表中插入数据,必须首先加载其数据库。SQL命令USE数据库在MySQL客户端中执行此操作。您可以通过在createConnection()方法中添加数据库参数来使用数据库 -
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});
插入新记录Node.js代码涉及以下步骤 -
- 包含 mysql 模块
- 调用 createConnection() 函数获取连接对象。
- 使用连接对象的 query() 方法,并将 INSERT INTO 查询字符串作为第一个参数传递给它。
例
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});
var qry =`INSERT INTO employee (name, age, salary) VALUES("Ravi", 25, 25000);`;
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry, function (err, result) {
if (err) throw err;
console.log("New Record inserted successfully");
});
con.end();
});
输出
New Record inserted successfully
在MySQL客户端中运行SELECT查询,检查是否已添加新记录。
带有预准备语句的 INSERT
MySQL支持准备好的语句语法,其中变量数据被动态添加到查询字符串中。带有预准备语句的 INSERT 查询的语法为 −
qry = "INSERT INTO table_name VALUES (?,?,?)", [var1, var2, var3];
在下面的代码中,新记录的数据存储在数组中。它用作 con.query() 方法的参数。数组中的值替换了?准备好的查询中的占位符。
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});
var data = ["Ravi", 25, 25000];
var qry =`INSERT INTO employee (name, age, salary) VALUES(?,?,?);`;
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
con.query(qry,data, function (err, result) {
if (err) throw err;
console.log("New Record inserted successfully");
});
con.end();
});
当执行上述程序时,将存储一条新记录,其值与数据数组中给定的值相同。您可以使用二维数组作为值源插入多条记录。
例
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "mypassword",
database: "mydb"
});
var data = [
["Ravi", 25, 25000],
["Anil", 26, 30000],
["Meena", 26, 27000]
];
var qry =`INSERT INTO employee (name, age, salary) VALUES(?,?,?);`;
con.connect(function (err) {
if (err) throw err;
console.log("Connected!");
for (var i=0;i<data.length; i++){
con.query(qry,data[i], function (err, result) {
if (err) throw err;
console.log("New Record inserted successfully");
})
};
con.end();
});
通过运行 SELECT 查询 n MySQL 命令行客户端来检查 employee 表中的数据,如下所示:
mysql> SELECT * FROM employee;
+----+-------+------+--------+
| id | name | age | salary |
+----+-------+------+--------+
| 1 | Ravi | 25 | 25000 |
| 2 | Anil | 26 | 30000 |
| 3 | Meena| 26 | 27000 |
+----+-------+------+--------+
3 rows in set (0.00 sec)