質問するログイン新規登録

Q&A

解決済

1回答

507閲覧

Node.jsについて教えてください!

minisutoppppp

総合スコア0

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2026/03/06 03:36

0

0

実現したいこと

イメージ説明

Node.jsでMySQLデータベースに接続し、ユーザーテーブルからすべてのユーザーを取得するコードを記述してください。

この課題が分かりません。

発生している問題・分からないこと

バックエンド開発について何から学べばよいのかわかりません。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

const mysql = require('mysql2');

const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'my_database'
});

connection.query(
'SELECT * FROM users',
(err, results) => {
if (err) {
console.error('エラーが発生しました:', err);
return;
}
console.log(results);
}
);

connection.end();

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

logthking

2026/03/10 09:37

まず、mysql.createConnection ではなく await mysql.createConnection を使います。これはどういう意味かというと、データベースに接続する前に非同期処理の完了を待つ必要があるためです。 データベースからデータを取得する前に、接続が確立されるのを待たなければならないので、await を使います。同じ理由で、connection.query も await が必要です。データベースからの応答に時間がかかる場合があるため、接続を閉じる前にクエリの処理が完了するのを待つ必要があります。 公式ドキュメントはこちらで確認できます: https://sidorares.github.io/node-mysql2/docs#first-query また、最近は require より import を使う 方が推奨されています。ES Modules の方が最新で安全だからです。
guest

回答1

0

ベストアンサー

FreeBSD 14.3、Node.js 25.3.0、npm 11.7.0、MySQL 8.4.7で確認しました。

提示されたソースで問題無く動作しました。

  • SELECT * FROM usersがSQL
  • ソース全体がJavaScript

処理順としては

  1. MySQL接続のためのパッケージ読み込み
  2. MySQL接続
  3. SELECT文の発行
  4. 結果出力
  5. MySQL切断

となります。不明な点はコメントしてください。

投稿2026/03/06 13:56

hiroki-o

総合スコア1773

minisutoppppp

2026/03/09 06:02

回答ありがとうございます。 試したところ問題が解決しました! ベストアンサーに選ばせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問