Node.js - MySQL テーブル作成:ビギナーズガイド
こんにちは、未来のプログラマーさんたち!今日は、Node.jsとMySQLの世界に楽しい旅に出ます。あなたの近所の親切なコンピュータサイエンスの先生として、私はNode.jsを使ってMySQLでテーブルを作成するプロセスをガイドします。プログラミングが初めてであっても心配しないでください。基本から始めて、少しずつ進めていきます。コーヒー(またはあなたが好きなお茶)を一杯取り、一緒に潜りましょう!
基本を理解する
コードに飛び込む前に、ちょっと時間をかけて私たちが取り組んでいることを理解しましょう。Node.jsは強力なJavaScriptランタイムで、サーバーサイドでJavaScriptを実行できるようにします。一方、MySQLは人気のあるリレーショナルデータベース管理システムです。この二つの技術を組み合わせることで、データベースと対話する動的なウェブアプリケーションを作成できます。
さて、あなたが書棚を整頓していると想像してください。それぞれの棚がデータベースのテーブルであり、それぞれの本がデータの行を表します。テーブルを作成するのは、新しい棚を設置し、どのような本(データ)を収納できるかという特定のルールを設定するようなものです。
MySQLでのCREATE TABLE
まず、MySQL直接でテーブルを作成する方法を見てみましょう。これにより、Node.jsでの作成に進む前に確固たる基礎を築きます。
基本構文
MySQLでテーブルを作成する基本構文は以下の通りです:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);
これを分解しましょう:
-
CREATE TABLE
は、MySQLに新しいテーブルを作成したいことを指示するコマンドです。 -
table_name
は、テーブルに何という名前を付けるかを指定します。 - 括弧の内部では、カラムとそのデータ型をリストアップします。
シンプルな例
本の情報を保存するためのテーブルを作成してみましょう:
CREATE TABLE books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
);
この例では:
-
id
は自動的にインクリメントされ、主キーとして機能する整数です。 -
title
とauthor
はnullを許容しない可変長文字列です。 -
publication_year
は整数です。 -
isbn
はユニークな13文字の文字列です。
先ほど書棚の整理について言及しましたが、このテーブル構造は棚の各セクションをラベル付けするようなものです:本のID用、タイトル用、著者用などです。
Node.jsでのCREATE TABLE
MySQLでのテーブル作成を理解したところで、Node.jsを使って同じ結果を達成する方法を見てみましょう。ここで魔法が起こります!
環境設定
まず、Node.js環境を設定し、必要なパッケージをインストールします。ターミナルを開き、以下のコマンドを実行します:
npm init -y
npm install mysql2
これにより、新しいNode.jsプロジェクトが作成され、mysql2パッケージがインストールされます。このパッケージを使ってMySQLデータベースに接続します。
MySQLに接続する
テーブルを作成する前に、MySQLデータベースに接続する必要があります。以下のようにします:
const mysql = require('mysql2');
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('データベースに接続しました。');
});
'your_username'
、'your_password'
、'your_database_name'
を実際のMySQL認証情報に置き換えてください。
テーブルを作成する
それでは、Node.jsを使って本のテーブルを作成しましょう:
const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
)
`;
connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('テーブル作成エラー: ' + err.stack);
return;
}
console.log('テーブルが無事に作成されました。');
});
これを分解しましょう:
- SQLクエリを文字列として定義します。MySQLでの定義と同様です。
-
IF NOT EXISTS
を使って、テーブルが既に存在する場合のエラーを防止します。 -
connection.query()
メソッドを使ってSQLクエリを実行します。 - 結果やエラーを処理するためのコールバック関数を提供します。
すべてを組み合わせる
以下は、データベースに接続し、テーブルを作成するための完全なスクリプトです:
const mysql = require('mysql2');
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('データベースに接続しました。');
const createTableQuery = `
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
publication_year INT,
isbn VARCHAR(13) UNIQUE
)
`;
connection.query(createTableQuery, (err, results) => {
if (err) {
console.error('テーブル作成エラー: ' + err.stack);
return;
}
console.log('テーブルが無事に作成されました。');
connection.end(); // 終了時に接続を閉じます
});
});
このスクリプトを実行するには、create_table.js
として保存し、Node.jsで実行します:
node create_table.js
すべてが上手くいけば、「データベースに接続しました。」に続いて「テーブルが無事に作成されました。」と表示されるはずです。
結論
おめでとうございます!あなたは刚刚Node.jsを使って初めてのMySQLテーブルを作成しました。私たちが行ったことは、データベースの大きな図書館の中に新しい、整理された書棚を設置するようなものです。このスクリプトを毎回実行するたびに、棚(テーブル)が存在しない場合に新しい棚を作成します。
忘れないでください、これはただの始まりです。この知識を使って、より複雑なテーブルを作成し、それらの間に関係を追加し、強力なデータベース駆動型アプリケーションを構築することができます。
終わりに、あなたの親切なコンピュータサイエンスの先生からの小さなプロティップ:Node.jsスクリプトを実行する前に、接続情報を確認し、MySQLサーバーが動作していることを確認してください。これにより、多くの悩みを避けることができます!
続けて練習し、好奇心を持ち、ハッピーコーディングを!
Credits: Image by storyset