首页 > 数据库 >前端必知必会-Node.js连接MySQL 查询数据

前端必知必会-Node.js连接MySQL 查询数据

时间:2025-01-14 14:58:14浏览次数:3  
标签:Node name err 必知 MySQL db js address id

文章目录


Node.js连接MySQL 查询数据

从表中查询数据

要从 MySQL 中的表中查询数据,请使用“SELECT”语句。

示例获取您自己的 Node.js 服务器
从“customers”表中查询所有记录,并显示结果对象:

var mysql = require('mysql');

var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});

con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM customers", function (err, result, fields) {
if (err) throw err;
console.log(result);
});
});

SELECT * 将返回所有列

将上面的代码保存在名为“demo_db_select.js”的文件中并运行该文件:

运行“demo_db_select.js”

C:\Users\Your Name>node demo_db_select.js
这将为您提供以下结果:

[
{ id: 1, name: 'John', address: 'Highway 71'},
{ id: 2, name: 'Peter', address: 'Lowstreet 4'},
{ id: 3, name: 'Amy', address: 'Apple st 652'},
{ id: 4, name: 'Hannah', address: 'Mountain 21'},
{ id: 5, name: 'Michael', address: 'Valley 345'},
{ id: 6, name: 'Sandy', address: 'Ocean blvd 2'},
{ id: 7, name: 'Betty', address: 'Green Grass 1'},
{ id: 8, name: 'Richard', address: 'Sky st 331'},
{ id: 9, name: 'Susan', address: 'One way 98'},
{ id: 10, name: 'Vicky', address: 'Yellow Garden 2'},
{ id: 11, name: 'Ben', address: 'Park Lane 38'},
{ id: 12, name: 'William', address: 'Central st 954'},
{ id: 13, name: 'Chuck', address: 'Main Road 989'},
{ id: 14, name: 'Viola', address: 'Sideway 1633'}
]

选择列

要仅查询表中的某些列,请使用“SELECT”语句,后跟列名。

示例
从“customers”表中选择名称和地址,并显示返回对象:

var mysql = require('mysql');

var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});

con.connect(function(err) {
if (err) throw err;
con.query("SELECT name, address FROM customers", function (err, result, fields) {
if (err) throw err;
console.log(result);
});
});

将上面的代码保存在名为“demo_db_select2.js”的文件中并运行该文件:

运行“demo_db_select2.js”

C:\Users\Your Name>node demo_db_select2.js
这将为您提供以下结果:

[
{ name: 'John', address: 'Highway 71'},
{ name: 'Peter', address: 'Lowstreet 4'},
{ name: 'Amy', address: 'Apple st 652'},
{ name: 'Hannah', address: 'Mountain 21'},
{ name: 'Michael', address: 'Valley 345'},
{ name: 'Sandy', address: 'Ocean blvd 2'},
{ name: 'Betty', address: 'Green Grass 1'},
{ name: 'Richard', address: 'Sky st 331'},
{ name: 'Susan', address: 'One way 98'},
{ name: 'Vicky', address: 'Yellow Garden 2'},
{ name: 'Ben', address: 'Park Lane 38'},
{ name: 'William', address: 'Central st 954'},
{ name: 'Chuck', address: 'Main Road 989'},
{ name: 'Viola', address: 'Sideway 1633'}
]

结果对象

从上面示例的结果中可以看出,结果对象是一个包含每一行作为对象的数组。

要返回例如第三条记录的地址,只需引用第三个数组对象的 address 属性:

示例
返回第三条记录的地址:

console.log(result[2].address);

将产生以下结果:

Apple st 652

Fields 对象

回调函数的第三个参数是一个数组,其中包含有关结果中每个字段的信息。

示例
从“customers”表中查询所有记录,并显示 fields 对象:

var mysql = require('mysql');

var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});

con.connect(function(err) {
if (err) throw err;
con.query("SELECT name, address FROM customers", function (err, result, fields) {
if (err) throw err;
console.log(fields);
});
});

将上面的代码保存在名为“demo_db_select_fields.js”的文件中并运行该文件:

运行“demo_db_select_fields.js”

C:\Users\Your Name>node demo_db_select_fields.js
这将为您提供以下结果:

[
{
catalog: 'def',
db: 'mydb',
table: 'customers',
orgTable: 'customers',
name: 'name',
orgName: 'name',
charsetNr: 33,
length: 765,
type: 253,
flags: 0,
decimals: 0,
default: undefined,
zeroFill: false,
protocol41: true
},
{
catalog: 'def',
db: 'mydb',
table: 'customers',
orgTable: 'customers',
name: 'address',
orgName: 'address',
charsetNr: 33,
length: 765,
type: 253,
flags: 0,
decimals: 0,
default: undefined,
zeroFill: false,
protocol41: true
}
]

从上面示例的结果可以看出,fields 对象是一个数组,其中包含有关每个字段的信息作为对象。

要返回第二个字段的名称,只需引用第二个数组项的 name 属性:

示例
返回第二个字段的名称:

console.log(fields[1].name);

这将产生以下结果:

address


总结

本文介绍了Node.js连接MySQL 查询数据,如有问题欢迎私信和评论

标签:Node,name,err,必知,MySQL,db,js,address,id
From: https://blog.csdn.net/qq_24018193/article/details/145072673

相关文章

  • MySQLworkbench导入csv文件步骤方法一
    方法一:优点--无需写代码;缺点--对于数据量较大的,导入很费时间,1000行大概需要三小时才能导完......
  • yarn安装node-sass解决方案
    node-sass和node版本不兼容的问题:node和node-sass的各个版本的对应关系,可以参考以下表格:NodeJS node-sassnode20 9.0+node19 8.0+node18 8.0+node17 7.0+,<8.0node16 6.0+node15 5.0+,<7.0node14 4.14+,<9.0node13 4.13+,<5.0node12 4.12.0+,<8.0node......
  • MySQL事务
    事务的ACID特性Atomic(原子性)所有语句作为一个单元全部成功执行或全部取消,不能出现中间状态。Consistent(一致性)如果数据库在事务开始时处于一致状态,则在执行该事务期间将保留一致状态。Isolated(隔离性)事务之间不相互影响。Durable(持久性)事务成功完成后,所做的所有更改都......
  • pbootcms数据库sqlite转mysql操作流程
    操作并不复杂,如果没有基础,操作之前一定要备份,避免数据损坏第一步:用SQLiteStudio打开db数据库,并导出sql文件第二步:使用专用工具,将导出的sql文件进行处理。第三步:将文件通过数据库管理工具导入第四步:修改数据库配置文件,根据自己IDE数据库信息调整就行。第五步:登录网站......
  • mysql使用count()执行select报错:ERROR 1140 (42000) In aggregated query without GRO
    1原因mysql的sql_mode默认开启了only_full_group_by模式2解决办法2.1命令解决(临时生效)查看sql_modeshowvariableslike'%sql_mode';showsessionvariableslike'%sql_mode';showglobalvariableslike'%sql_mode';修改sql_modesetglobalsql_......
  • 详细分析Mysql中的SQL_MODE基本知识
     一、基础知识sql_mode是MySQL中用于设置sql语法和行为的系统变量;控制MySQL的sql解析和执行的方式,使其与sql标准或其他数据库系统的行为一致,通过设置sql_mode,可以改变MySQL处理待定sql操作的方式。MySQL5.7默认sql_mode包括(7个):1)ONLY_FULL_GROUP_BY;......
  • MySQL之DDL语言
    目录一、数据库的基本操作1、创建数据库语法:示例:2、修改数据库语法:示例:3、删除数据库语法:示例:4、查询数据库语法:5、使用数据库语法:二、数据表的基本操作1、创建数据表语法:示例:2、重命名数据表语法:示例:3、删除数据表语法:示例:4、查询数据表语法:三、表......
  • 【HarmonyOS NAPI 深度探索4】安装开发环境(Node.js、C++ 编译器、node-gyp)
    【HarmonyOSNAPI深度探索4】安装开发环境(Node.js、C++编译器、node-gyp)要使用N-API开发原生模块,第一步就是配置好开发环境。虽然HarmonyOSNext中提供了DevEco-Studio一站式IDE,可以直接帮助我们完成开发环境的搭建,但是为了更深入的了解NAPI,我们用最原始的编译工具一步......
  • MySQL(高级特性篇) 03 章——用户与权限管理
    一、用户管理MySQL用户可以分为普通用户和root用户。root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限。普通用户只拥有被授予的各种权限MySQL提供了许多语句用来管理用户账号,这些语句可以用来管理包括登录和退出MySQL服务器、创建用户、......
  • java项目之教师工作量管理系统(ssm+mybatis+mysql)
    风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的码农一枚。今天要和大家聊的是一款基于ssm的教师工作量管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息。项目简介:教师工作量管理系统的主要使用者管理员可以管理教师,可以对教师信息修改删除以及查询操作;可以查......