编辑这个页面须要登录或更高权限!

Node.js MySQL SELECT FROM查询

学习Node.js MySQL SELECT FROM query访问一个MySQL表的数据。

Node.js MySQL SELECT FROM查询

MySQL SELECT Query用于选择表的某些记录(如果需要,还具有一些属性)。

在此Node.js教程中,我们将使用以下Node.js示例学习访问表的数据

  • MySQL SELECT FROM查询的示例

  • 仅选择一些列的示例

  • 使用MySQL SELECT FROM查询的结果对象的示例

  • 使用MySQL SELECT FROM查询的Fields对象的示例

在本节的示例中,我们将使用以下MySQL表[DATABASE:studentDB,表:studends]

studentsDB.students表

mysql> select * from students; 
+----------+--------+-------+
| name | rollno | marks |
+----------+--------+-------+
| John | 1 | 74 |
| Arjun | 2 | 74 |
| Prasanth | 3 | 77 |
| Adarsh | 4 | 78 |
| Raja | 5 | 94 |
| Sai | 6 | 84 |
| Ross | 7 | 54 |
| Monica | 8 | 86 |
| Lee | 9 | 98 |
| Bruce | 10 | 92 |
| Sukumar | 11 | 99 |
+----------+--------+-------+
11 rows in set (0.01 sec)

MySQL SELECT FROM查询的示例

// Node.js MySQL SELECT FROM查询示例
// 包括mysql模块
var mysql = require('mysql'); 
 
// 创建具有所需详细信息的连接变量
var con = mysql.createConnection({ 
  host: "localhost", // 运行mysql的服务器的IP地址
  user: "arjun", // mysql数据库的用户名
  password: "password", // 对应的密码
  database: "studentsDB" // 使用指定的数据库
 }); 
 
// 建立与数据库的连接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果连接成功
  con.query("SELECT * FROM students", function (err, result, fields) { 
    // 如果在执行上述查询时出现任何错误,则抛出错误
    if (err) throw err; 
    // 如果没有错误,您将得到结果
    console.log(result); 
  }); 
 });
// Node.js MySQL SELECT FROM查询示例
// 包括mysql模块
var mysql = require('mysql'); 
 
// 创建具有所需详细信息的连接变量
var con = mysql.createConnection({ 
  host: "localhost", // 运行mysql的服务器的IP地址
  user: "arjun", // mysql数据库的用户名
  password: "password", // 对应的密码
  database: "studentsDB" // 使用指定的数据库
 }); 
 
// 建立与数据库的连接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果连接成功
  con.query("SELECT name,marks FROM students", function (err, result, fields) { 
    // 如果在执行上述查询时出现任何错误,则抛出错误
    if (err) throw err; 
    // 如果没有错误,您将得到结果
    console.log(result); 
  }); 
 });

selectUseResultObject.js-访问结果对象的行和列数据

// Node.js MySQL SELECT FROM查询示例
// 包括mysql模块
var mysql = require('mysql'); 
 
// 创建具有所需详细信息的连接变量
var con = mysql.createConnection({ 
  host: "localhost", // 运行mysql的服务器的IP地址
  user: "arjun", // mysql数据库的用户名
  password: "password", // 对应的密码
  database: "studentsDB" // 使用指定的数据库
 }); 
 
// 建立与数据库的连接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果连接成功
  con.query("SELECT * FROM students", function (err, result, fields) { 
    // 如果在执行上述查询时出现任何错误,则抛出错误
    if (err) throw err; 
    // 如果没有错误,您将得到结果
    // 对结果中的所有行进行迭代
    Object.keys(result).forEach(function(key) { 
      var row = result[key]; 
      console.log(row.name) 
    }); 
  }); 
 });

selectUseFieldsObject.js-字段用法示例

 
// Node.js MySQL SELECT FROM查询示例
// 包括mysql模块
var mysql = require('mysql'); 
 
// 创建具有所需详细信息的连接变量
var con = mysql.createConnection({ 
  host: "localhost", // 运行mysql的服务器的IP地址
  user: "arjun", // mysql数据库的用户名
  password: "password", // 对应的密码
  database: "studentsDB" // 使用指定的数据库
 }); 
 
// 建立与数据库的连接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果连接成功
  con.query("SELECT * FROM students", function (err, result, fields) { 
    // 如果在执行上述查询时出现任何错误,则抛出错误
    if (err) throw err; 
    // 如果没有错误,则说明字段对象
    // 遍历字段对象中的所有行
    Object.keys(fields).forEach(function(key) { 
      var field = fields[key]; 
      console.log(field) 
    }); 
  }); 
 });

$ node selectUseFieldsObject.js 
FieldPacket { 
  catalog: 'def', 
  db: 'studentsDB', 
  table: 'students', 
  orgTable: 'students', 
  name: 'name', 
  orgName: 'name', 
  charsetNr: 33, 
  length: 150, 
  type: 253, 
  flags: 0, 
  decimals: 0, 
  default: undefined, 
  zeroFill: false, 
  protocol41: true } 
FieldPacket { 
  catalog: 'def', 
  db: 'studentsDB', 
  table: 'students', 
  orgTable: 'students', 
  name: 'rollno', 
  orgName: 'rollno', 
  charsetNr: 63, 
  length: 11, 
  type: 3, 
  flags: 0, 
  decimals: 0, 
  default: undefined, 
  zeroFill: false, 
  protocol41: true } 
FieldPacket { 
  catalog: 'def', 
  db: 'studentsDB', 
  table: 'students', 
  orgTable: 'students', 
  name: 'marks', 
  orgName: 'marks', 
  charsetNr: 63, 
  length: 11, 
  type: 3, 
  flags: 0, 
  decimals: 0, 
  default: undefined, 
  zeroFill: false, 
  protocol41: true }

您可以使用点运算符来使用字段对象的元素。例如field.catalog,field.name,field.type等。

结论:

在本Node.js教程– Node.js MySQL – Node.js MySQL SELECT FROM查询中,我们学习了如何从MySQL数据库中获取表的记录,以及如何使用结果对象和字段对象。