当前位置:网站首页 > 数据科学与大数据 > 正文

Node学习(七)01-mysql基本用法——Node中使用MySQL模块的5个步骤 & select查询语句-查询的结果是一个数组,数组中的每个对象就是一行数据 & SQL中有多个占位符

Node学习(七)01-mysql基本用法——Node中使用MySQL模块的5个步骤 & select查询语句-查询的结果是一个数组,数组中的每个对象就是一行数据 & SQL中有多个占位符

9.2 mysql基本用法

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

  1. 加载 MySQL 模块
  2. 创建 MySQL 连接对象
  3. 连接 MySQL 服务器
  4. 执行SQL语句
  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(); //调用connect方法。连接到MySQL服务器 // 4. 查询(增删改查) /* conn.query(SQL语句, [SQL中的占位符的值], (err, result, fields) => { err: 错误信息 result: 查询的结果 fields: 查询的字段信息,一般来说不用 }); */ conn.query('select * from heroes where id<4', (err, result, fields) => { 
    if (err) throw err; console.log(result); }); // 5. 关闭连接,释放资源 conn.end(); 

9.3 查询 — read

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

  • 基本的查询
// 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. 查询 // select语句: 查询的结果是一个数组,数组中的每个对象就是一行数据 let sql = 'select * from heroes limit 1'; conn.query(sql, (err, result) => { if (err) throw err; console.log(result); }); // 5. 关闭连接 conn.end(); 
  • 占位符模式

当SQL语句中使用了占位符,则query方法需要使用参数2

// 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. 查询 // select语句: 查询的结果是一个数组,数组中的每个对象就是一行数据 let sql = 'select * from heroes where id < ?'; conn.query(sql, 3, (err, result) => { 
    if (err) throw err; console.log(result); }); // 5. 关闭连接 conn.end(); 

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

// 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. 查询 // select语句: 查询的结果是一个数组,数组中的每个对象就是一行数据 /// SQL中有多个占位符 let sql = 'select * from heroes where id < ? and sex = ?'; conn.query(sql, [3, '女'], (err, result) => { 
    if (err) throw err; console.log(result); }); // 5. 关闭连接 conn.end(); 

可以一次性执行多条SQL:

  • 一次性执行多条SQL,多条SQL之间用 分号(;) 隔开
  • 需要在连接参数哪里进行配置,加入

在这里插入图片描述

  • 得到的结果是二维数组
// 整体的结果 [ // 下面是第一条SQL的查询结果 [ { 
   }, { 
   }, ], // 下面是第二条SQL查询的结果 [ { 
   }, { 
   }, ], // 下面是第三条SQL查询的结果 [ { 
   }, { 
   }, ] ] 

代码:

/// 执行多条SQL let sql = `select id,name from heroes where id<3; select * from boy; select * from girl`; conn.query(sql, (err, result) => { 
    if (err) throw err; console.log(result); }); 

查询结果:

[ [ { 
    id: 1, name: '薇恩' }, { 
    id: 2, name: '赵信' } ], [ { 
    name: '犀利哥', flower: '百合' }, { 
    name: '周杰伦', flower: '桃花' }, { 
    name: '小沈阳', flower: '梅花' }, { 
    name: '张三丰', flower: '荷花' }, { 
    name: '刘德华', flower: '狗尾巴花' } ], [ { 
    name: '凤姐', flower: '仙人掌' }, { 
    name: '林志玲', flower: '荷花' }, { 
    name: '大S', flower: '梅花' }, { 
    name: '西施', flower: '桃花' }, { 
    name: '芙蓉姐姐', flower: '百合' } ] ] 
实例

练习MySQL的代码\01-查询.js

// 1. 加载mysql模块 const mysql = require('mysql'); // 2. 创建连接对象(顺便设置连接参数) const conn = mysql.createConnection({ 
    // 属性:值 host: 'localhost', port: 3306, user: 'root', password: '', database: 'yingxiong', multipleStatements: true // 表示可以一次性执行多条SQL }); // 3. 连接到mysql服务器 conn.connect(); // 4. 查询 // select语句: 查询的结果是一个数组,数组中的每个对象就是一行数据 /// 基本查询 /* let sql = 'select * from heroes limit 1'; conn.query(sql, (err, result) => { if (err) throw err; console.log(result); }); */ /// SQL中有占位符 // 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 let sql = `select id,name from heroes where id<3; select * from boy; select * from girl`; conn.query(sql, (err, result) => { 
    if (err) throw err; console.log(result); }); // 5. 关闭连接 conn.end(); 

node中执行命令

node 相对路径

效果图-查询命令

在这里插入图片描述

到此这篇Node学习(七)01-mysql基本用法——Node中使用MySQL模块的5个步骤 & select查询语句-查询的结果是一个数组,数组中的每个对象就是一行数据 & SQL中有多个占位符的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Node学习(七)02-mysql基本用法——insert添加语句之基本添加、带占位符的形式 & SQL中query方法为问号传递一个对象添加sql数据2024-11-30 14:00:05
  • Node学习(七)03-mysql基本用法——update修改语句-数据修改需两个占位符& delete删除语句-结果是个对象& multipleStatements为true时可一次性执行多条SQL2024-11-30 14:00:05
  • Node学习(九)021-管理系统之添加英雄——完成本地图片预览之生成临时url-URL.createObjectURL(文件对象)& FormData收集表单各项数据之ajax请求写法-post请求2024-11-30 14:00:05
  • Node学习(九)031-管理系统之修改英雄——服务端get接口写法之req.query可以获取到url上所有的参数 & ajax请求数据之get请求写法2024-11-30 14:00:05
  • Node学习(九)032-管理系统之修改英雄——ajax请求数据之post请求写法-$.ajax() 方法 & 图片预览之URL.createObjectURL(文件对象) & 服务端post接口写法2024-11-30 14:00:05
  • Node学习(六)03-SQL语句——添加数据insert into、修改数据update、删除数据delete from、连接查询select from之内连接、左连接、右连接和定义别名2024-11-30 14:00:05
  • Node学习(五)022-处理静态资源——自定义中间件处理post提交的数据 & 将接收到的数据,赋值给req.body & 使用express和body-parser中间件处理post提交数据2024-11-30 14:00:05
  • js之对象分类、数据类型分类和存储位置、函数 function介绍、变量的作用域2024-11-30 14:00:05
  • js中,封装一个判断所有数据类型的方法getType,入参为任意变量,返回值为该参数类型的字符串形式2024-11-30 14:00:05
  • 表格当前行-对象数据传递给弹框 & 父组件传对象数据给子组件 & 接口写法-增删改查-post-get-delete2024-11-30 14:00:05
  • 全屏图片