・mysqlへの接続
# mysql -u root -h localhost
・バージョンの確認
mysql> SELECT VERSION();
+---------------+
| VERSION() |
+---------------+
| 5.0.13-rc-log |
+---------------+
1 row in set (0.00 sec)
・ユーザの確認
mysql> SELECT USER();
+----------------+
| USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
・データベースの確認
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| mysql |
| test |
+--------------------+
5 rows in set (0.50 sec)
・ユーザの追加
mysql> GRANT ALL PRIVILEGES ON *.* TO yu@localhost
-> IDENTIFIED BY 'pass' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)
mysql> use mysql;
Database changed
mysql> select user,host from user;
+-----------------+-----------+
| user | host |
+-----------------+-----------+
| | % |
| root | % |
| your_mysql_name | % |
| yu | % |
| | AS4 |
| root | AS4 |
| root | localhost |
| yu | localhost |
+-----------------+-----------+
8 rows in set (0.00 sec)
・shopというDB作成
mysql> GRANT ALL ON shop.* TO root;
mysql> CREATE DATABASE shop;
Query OK, 1 row affected (0.04 sec)
・確認
mysql> USE shop;
Database changed
・接続確認
# mysql -h localhost -u root -p shop
Enter password:
・テーブルの作成
mysql> SHOW TABLES;
Empty set (0.01 sec)
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
-> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
Query OK, 0 rows affected (0.11 sec)
※作成できるデータ型はドキュメントの
6章内のフィールド型のあたりを参考
・作成したテーブルの確認
mysql> SHOW TABLES;
+----------------+
| Tables_in_unix |
+----------------+
| pet |
+----------------+
1 row in set (0.00 sec)
mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.08 sec)
・ファイルからデータの挿入
mysql> LOAD DATA LOCAL INFILE "data.txt" INTO TABLE pet;
Query OK, 1 row affected (0.01 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
mysql> select * from pet;
+---------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+---------+--------+---------+------+------------+-------+
| chiwawa | Yamada | dog | m | 2006-02-21 | NULL |
+---------+--------+---------+------+------------+-------+
1 row in set (0.01 sec)
---data.txtファイル---
chiwawa Yamada dog m 2006-02-21 \N
※TAB区切りで作成しておく。
・レコードの挿入(INSERT文)
mysql> INSERT INTO pet
-> VALUES ('dacks','Satou','dog','f','2005-01-30',NULL);
Query OK, 1 row affected (0.00 sec)
・レコードの変更(UPDATE文)
mysql> UPDATE pet SET death = "2006-12-04" WHERE name = "dacks";
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from pet WHERE name = "dacks";
+-------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+-------+-------+---------+------+------------+------------+
| dacks | Satou | dog | f | 2005-01-30 | 2006-12-04 |
+-------+-------+---------+------+------------+------------+
1 row in set (0.01 sec)
・レコードの削除
mysql> DELETE FROM pet WHERE name = "dacks";
Query OK, 1 row affected (0.00 sec)
mysql> select * from pet WHERE name = "dacks";
Empty set (0.00 sec)
・テーブルの削除
mysql> DROP TABLE pet;
Query OK, 0 rows affected (0.00 sec)
・データベースの削除
mysql> DROP DATABASE shop;
Query OK, 0 rows affected (0.00 sec)
その他細かいSQLの関数の使い方などについては
日本MySQLユーザ会
http://www.mysql.gr.jp/
のドキュメンテーション
3章 Tutorial Introductionを参考
6章 Data Manipulation: SELECT, INSERT, UPDATE, DELETE を参照
その他sqlの関数については
6章中 SELECT と WHERE 節で使用する関数を参照