Node.js - MySQL 選択_from

こんにちは、未来のプログラマーさんたち!今日は、Node.jsとMySQLの世界に興味深く飛び込む旅に出かけましょう。あなたの近所の親切なコンピュータサイエンスの先生として、私はNode.jsを使ってMySQLデータベースからデータを取得するプロセスをガイドするためにここにいます。プログラミングが初めての方でも心配しないでください。基本から始めて、少しずつ進んでいきます。まずは、コーヒー(またはお気に入りの飲み物)を用意して、一緒に潜りましょう!

Node.js - MySQL Select From

Node.jsとMySQLとは?

コードに飛び込む前に、まずNode.jsとMySQLとは何か簡単に理解しましょう:

  1. Node.js: JavaScriptの強力なランタイムで、ウェブブラウザだけでなく、自分のコンピュータ上でもJavaScriptを実行できます。
  2. MySQL: アプリケーションのためのデータを保存および管理する人気のデータベースシステムです。

Node.jsを熟練したシェフ、MySQLを整理された冷蔵庫と考えましょう。シェフ(Node.js)は、美味しい料理(ウェブアプリケーション)を作るために、冷蔵庫(MySQL)から材料(データ)を取り出す必要があります。今日は、シェフがこれらの材料を効率的に取得する方法を学びましょう!

環境の設定

まず第一に、私たちのキッチン(開発環境)を設定する必要があります。以下の手順をおこなってください:

  1. 公式サイト(https://nodejs.org)からNode.jsをインストールします
  2. 公式サイト(https://www.mysql.com)からMySQLをインストールします
  3. プロジェクト用の新しいディレクトリを作成します。
  4. そのディレクトリでターミナルまたはコマンドプロンプトを開きます。
  5. npm init -yを実行してpackage.jsonファイルを作成します。
  6. npm install mysqlを実行してMySQLパッケージをインストールします。

素晴らしい!これで、コードの魔法を始める準備が整いました!

MySQLに接続する

まずは、MySQLデータベースに接続してみましょう。以下はその例です:

const mysql = require('mysql');

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'your_username',
  password: 'your_password',
  database: 'your_database_name'
});

connection.connect((err) => {
  if (err) {
    console.error('データベース接続エラー: ' + err.stack);
    return;
  }
  console.log('データベースに接続しました。');
});

これを分解すると:

  1. MySQLパッケージをインポートします。
  2. データベースの詳細を使って接続オブジェクトを作成します。
  3. connect()メソッドを使って接続を確立します。
  4. エラーがあればそれをログします。それ以外の場合は接続を確認します。

'your_username''your_password''your_database_name'を実際のMySQL認証情報に置き換えてください。

基本的なSELECTクエリ

接続が確立したので、データを取得してみましょう。以下は簡単なSELECTクエリです:

connection.query('SELECT * FROM users', (error, results, fields) => {
  if (error) throw error;
  console.log('ユーザーは: ', results);
});

このクエリは、'users'テーブルのすべての列(*)を選択します。結果はコールバック関数で返されます。エラーがあればそれをスローします。それ以外の場合は結果をログします。

WHERE句を使ったSELECT

特定のデータを取得したい場合はWHERE句を使います:

const userId = 1;
connection.query('SELECT * FROM users WHERE id = ?', [userId], (error, results) => {
  if (error) throw error;
  console.log('見つかったユーザー: ', results[0]);
});

ここでは、特定のIDを持つユーザーを選択しています。'?'はプレースホルダーで、[userId]はそれに置き換える値です。これによりSQLインジェクション攻撃を防ぎます - ユーザー入力には常にプレースホルダーを使ってください!

ORDER BYを使ったSELECT

結果を並べ替えたい場合はORDER BYを使います:

connection.query('SELECT * FROM users ORDER BY name ASC', (error, results) => {
  if (error) throw error;
  console.log('名前順に並べ替えたユーザー: ', results);
});

このクエリは、ユーザーを名前の昇順で並べ替えます。ASCをDESCに変更すると降順になります。

LIMITを使ったSELECT

結果の数を制限したい場合はLIMITを使います:

connection.query('SELECT * FROM users LIMIT 5', (error, results) => {
  if (error) throw error;
  console.log('最初の5人のユーザー: ', results);
});

このクエリは、テーブルから最初の5人のユーザーのみを返します。

複数の句を組み合わせる

学んだことを組み合わせてみましょう:

const searchName = 'John';
const limit = 10;

connection.query(
  'SELECT * FROM users WHERE name LIKE ? ORDER BY created_at DESC LIMIT ?',
  ['%' + searchName + '%', limit],
  (error, results) => {
    if (error) throw error;
    console.log('検索結果: ', results);
  }
);

この複雑なクエリは:

  1. 'John'を含む名前のユーザーを検索します。
  2. 作成日(新しい順)で並べ替えます。
  3. 結果を10件に制限します。

接続を閉じる

終了したら必ず接続を閉じます:

connection.end((err) => {
  if (err) {
    console.error('接続を閉じる際のエラー: ' + err.stack);
    return;
  }
  console.log('接続を無事に閉じました。');
});

これにより、開いた接続を残さずに終了します。

メソッドのまとめ

ここでカバーしたメソッドを簡単にまとめます:

メソッド 説明
createConnection() MySQLデータベースへの接続を生成します
connect() データベース接続を確立します
query() SQLクエリを実行します
end() データベース接続を閉じます

結論

おめでとうございます!Node.jsとMySQLを使ってSELECTクエリを実行する方法を学びました。実践により完璧になります。さまざまなクエリを作成し、さまざまな句を試してみてください。間もなくデータベースの魔術師になれるでしょう!

最後に、プログラミングのユーモアを少しだけ:プログラマーたちはなぜダークモードを好むのでしょうか?ライトは虫を引き寄せるからです!?

コードを続け、好奇心を持ち続け、楽しみながら進んでください。次回まで、ハッピークエリング!

Credits: Image by storyset