Back to Node Mysql2

SELECT

website/docs/examples/queries/simple-queries/select.mdx

3.22.33.7 KB
Original Source

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import { FAQ } from '@site/src/components/FAQ'; import { ExternalCodeEmbed } from '@site/src/components/ExternalCodeEmbed';

SELECT

The examples below also work for the execute method.

query(sql)

query(sql: string)

<Tabs> <TabItem value='promise.js' default>
js
try {
  const sql = 'SELECT * FROM `users` WHERE `name` = "Page" AND `age` > 45';

  // highlight-next-line
  const [rows, fields] = await connection.query(sql);

  console.log(rows);
  console.log(fields);
} catch (err) {
  console.log(err);
}
</TabItem> <TabItem value='callback.js'>
js
const sql = 'SELECT * FROM `users` WHERE `name` = "Page" AND `age` > 45';

connection.query(sql, (err, rows, fields) => {
  if (err instanceof Error) {
    console.log(err);
    return;
  }

  console.log(rows);
  console.log(fields);
});
</TabItem> </Tabs>
  • rows contains rows returned by server
  • fields contains extra meta data about rows, if available

:::info The connection used for the query (.query()) can be obtained through the createConnection, createPool or createPoolCluster methods. :::

<hr />

query(options)

query(options: QueryOptions)

<Tabs> <TabItem value='promise.js' default>
js
try {
  const sql = 'SELECT * FROM `users` WHERE `name` = "Page" AND `age` > 45';

  // highlight-start
  const [rows, fields] = await connection.query({
    sql,
    // ... other options
  });
  // highlight-end

  console.log(rows);
  console.log(fields);
} catch (err) {
  console.log(err);
}
</TabItem> <TabItem value='callback.js'>
js
const sql = 'SELECT * FROM `users` WHERE `name` = "Page" AND `age` > 45';

connection.query(
  {
    sql,
    // ... other options
  },
  (err, rows, fields) => {
    if (err instanceof Error) {
      console.log(err);
      return;
    }

    console.log(rows);
    console.log(fields);
  }
);
</TabItem> </Tabs>
  • rows contains rows returned by server
  • fields contains extra meta data about rows, if available

:::info The connection used for the query (.query()) can be obtained through the createConnection, createPool or createPoolCluster methods. :::

<hr />

query(options) — Row as Array

query(options: QueryOptions)

<Tabs> <TabItem value='promise.js' default>
js
try {
  const sql = 'SELECT * FROM `users` WHERE `name` = "Page" AND `age` > 45';

  // highlight-start
  const [rows, fields] = await connection.query({
    sql,
    rowsAsArray: true,
    // ... other options
  });
  // highlight-end

  console.log(rows);
  console.log(fields);
} catch (err) {
  console.log(err);
}
</TabItem> <TabItem value='callback.js'>
js
const sql = 'SELECT * FROM `users` WHERE `name` = "Page" AND `age` > 45';

connection.query(
  {
    sql,
    rowsAsArray: true,
    // ... other options
  },
  (err, rows, fields) => {
    if (err instanceof Error) {
      console.log(err);
      return;
    }

    console.log(rows);
    console.log(fields);
  }
);
</TabItem> </Tabs>
  • rows contains rows returned by server as array
  • fields contains extra meta data about rows, if available

:::info The connection used for the query (.query()) can be obtained through the createConnection, createPool or createPoolCluster methods. :::

<hr />

Glossary

QueryOptions

<FAQ title={'QueryOptions Specification'}> <ExternalCodeEmbed language='ts' url='https://raw.githubusercontent.com/sidorares/node-mysql2/master/typings/mysql/lib/protocol/sequences/Query.d.ts' extractMethod='QueryOptions' methodType='interface' /> </FAQ>