Node.js - MySQL 選択_from
こんにちは、未来のプログラマーさんたち!今日は、Node.jsとMySQLの世界に興味深く飛び込む旅に出かけましょう。あなたの近所の親切なコンピュータサイエンスの先生として、私はNode.jsを使ってMySQLデータベースからデータを取得するプロセスをガイドするためにここにいます。プログラミングが初めての方でも心配しないでください。基本から始めて、少しずつ進んでいきます。まずは、コーヒー(またはお気に入りの飲み物)を用意して、一緒に潜りましょう!
Node.jsとMySQLとは?
コードに飛び込む前に、まずNode.jsとMySQLとは何か簡単に理解しましょう:
- Node.js: JavaScriptの強力なランタイムで、ウェブブラウザだけでなく、自分のコンピュータ上でもJavaScriptを実行できます。
- MySQL: アプリケーションのためのデータを保存および管理する人気のデータベースシステムです。
Node.jsを熟練したシェフ、MySQLを整理された冷蔵庫と考えましょう。シェフ(Node.js)は、美味しい料理(ウェブアプリケーション)を作るために、冷蔵庫(MySQL)から材料(データ)を取り出す必要があります。今日は、シェフがこれらの材料を効率的に取得する方法を学びましょう!
環境の設定
まず第一に、私たちのキッチン(開発環境)を設定する必要があります。以下の手順をおこなってください:
- 公式サイト(https://nodejs.org)からNode.jsをインストールします。
- 公式サイト(https://www.mysql.com)からMySQLをインストールします。
- プロジェクト用の新しいディレクトリを作成します。
- そのディレクトリでターミナルまたはコマンドプロンプトを開きます。
-
npm init -y
を実行してpackage.jsonファイルを作成します。 -
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('データベースに接続しました。');
});
これを分解すると:
- MySQLパッケージをインポートします。
- データベースの詳細を使って接続オブジェクトを作成します。
-
connect()
メソッドを使って接続を確立します。 - エラーがあればそれをログします。それ以外の場合は接続を確認します。
'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);
}
);
この複雑なクエリは:
- 'John'を含む名前のユーザーを検索します。
- 作成日(新しい順)で並べ替えます。
- 結果を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