MySQLの使い方

MySQLの使い方

MySQL は、多くの Web サイトやアプリケーションで使われているリレーショナルデータベースです。インストールが簡単で、ツールが充実しており、標準の SQL に独自の拡張を加えて使えます。この記事では、インストール、データベースとユーザーの作成、テーブルの作成、`mysqldump` によるバックアップを説明します。

テストに関する注意:この記事を書いたコンピューターには MySQL サーバーがないため、コマンドはここでは実行していません。使っている SQL は、SQL の記事で SQLite を使って検証した標準的な SQL と同じです。MySQL を導入したマシンで自分で実行してください。

必要なもの

クライアントの接続

概略図:mysql クライアントやアプリケーションが MySQL サーバーに接続し、データベースとテーブルを保存する
概略図:mysql クライアントやアプリケーションが MySQL サーバーに接続し、データベースとテーブルを保存する

手順1:接続する

mysql -u root -p

手順2:データベースとユーザーを作成する

CREATE DATABASE school CHARACTER SET utf8mb4;
CREATE USER 'teacher'@'localhost' IDENTIFIED BY 'change-me';
GRANT SELECT, INSERT, UPDATE, DELETE ON school.* TO 'teacher'@'localhost';
FLUSH PRIVILEGES;

`CHARACTER SET utf8mb4` によって、タイ語や絵文字を正しく保存できます。サンプルのパスワードは強いものに変更してください。

手順3:テーブルを作成してデータを追加する

USE school;
CREATE TABLE students (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  score INT
);
INSERT INTO students (name, score) VALUES ('สมชาย', 85), ('สมหญิง', 72);
SELECT name, score FROM students WHERE score >= 80;

`AUTO_INCREMENT` は番号を自動で作り、`VARCHAR(100)` は文字列の最大長を指定します。

手順4:バックアップと復元

mysqldump -u root -p school > school_backup.sql
mysql -u root -p school < school_backup.sql

よくあるミス

次のステップ

クエリを速くするインデックス、クエリの実行計画を見る `EXPLAIN`、自動バックアップの設定を学びましょう。

まとめ

MySQL は、データベースとユーザー権限を分けて管理するサーバーとして動きます。最初から `utf8mb4` を設定すること、ユーザーを分けること、定期的にバックアップすることが、実際の利用の基礎になります。