MySQLで最初の設定からテーブルを作成するまでの手順


スポンサーリンク

WindowsにMySQLをインストールして、テーブルを作るまで。

まずはmysqlクライアントへ接続する。

mysql -u root


mysqlクライアントの実態は、mysql\bin以下にある[mysql.exe]。
環境変数のpathをここに通しておくといい。

次にrootのパスワードを設定する。
今は簡易なものだけど、本当は複雑にするべき。

mysql> SET PASSWORD for root@localhost=PASSWORD('1234');
Query OK, 0 rows affected (0.00 sec)


MySQLにはぱすわオードを持たないユーザが用意されているため、そのユーザを削除する。

MySQLでユーザを調べるには以下の様なselect文を発行する。

mysql> select host, user ,password from mysql.user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *A4B6157319038724E3560894F7F932C8886EBFCF |
| 127.0.0.1 | root |                                           |
| ::1       | root |                                           |
| localhost |      |                                           |
| localhost | pma  |                                           |
+-----------+------+-------------------------------------------+
5 rows in set (0.00 sec)


パスワードが空のユーザを削除するSQLは以下のとおり。

mysql> delete from mysql.user where password = '';
Query OK, 4 rows affected (0.00 sec)


データベースサーバーは、1つのサーバで複数のデータベースを持つことができる。

デフォルトで用意されているデータベースを確認してみる。

mysql>
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cdcol              |
| mysql              |
| performance_schema |
| phpmyadmin         |
| test               |
| webauth            |
+--------------------+
7 rows in set (0.01 sec)

データベースを作成する。

mysql> create database example;
Query OK, 1 row affected (0.00 sec)

いつまでも管理者ユーザを使うのはセキュリティ的に好ましくないので、上で作ったexampleデータベースを操作するためのsampleユーザを作成する。パスワードは[1234]

mysql> grant all privileges on example.* to sample@localhost identified by '1234';
Query OK, 0 rows affected (0.00 sec)

上で作ったユーザでログインし直す。

>mysql -u sample -p1234

テーブルを作成する

mysql> create table member(id char(5) primary key, name varchar(20), age char(3));

なお、create tableで使用可能な列オプションには以下のようなものがある。

AUTO_INCREMENT:自動的にインクリメントされた番号をセットする
DEFAULT 'デフォルト値':列のデフォルト値を定義する
INDEX:インデックスを定義する
NOT NULL:NULL値を禁止する
PRIMARY KEY:主キー列を定義する
UNIQUE:一意性制約を定義する


データを挿入してみる

insert into member(id, name, age) values('00001','tanaka','29');
insert into member(id, name, age) values('00002','yamada','22');
insert into member(id, name, age) values('00003', 'yoshida','27');

データを挿入することができた。

mysql> select * from member;
+-------+---------+------+
| id    | name    | age  |
+-------+---------+------+
| 00001 | tanaka  | 29   |
| 00002 | yamada  | 22   |
| 00003 | yoshida | 27   |
+-------+---------+------+
3 rows in set (0.00 sec)

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )