初めてのシステムと日記

システムも日記も初めてです。

研修(sqlクエリ実践)

MySQLでクエリを実践してみる。


クエリ:MySQLに対し、データの検索や更新などの命令を文字列で送ること


1.データベースの作成

データベース:データ管理をし、容易に検出、抽出などの作業を行えるもの

mysql> create database [db_name];
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| db_name            |
+--------------------+
4 rows in set (0.00 sec)

create database [db_name] でデータベースを作成。

show [db_name] でサーバーにある全データベースを表示。


2.データベースの削除

mysql> drop database [db_name];
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

drop database [db_name] でデータベースを削除。

データベースを削除することはデータベース内の全データが消えるということ。

ちゃんとデータの確認をしてから消すようにしなくては。


3.テーブルの作成

テーブル:データを入れるための箱

フィールド:データの項目

mysql> use [db_name];
Database changed
mysql> create table [table_name](
  -> userid int, lastname text, firstname text, email text, createtime timestamp
    -> );
mysql> show fields from [table_name];
+------------+-----------+------+-----+-------------------+-------+
| Field      | Type      | Null | Key | Default           | Extra |
+------------+-----------+------+-----+-------------------+-------+
| userid     | int(11)   | YES  |     | NULL              |       |
| lastname   | text      | YES  |     | NULL              |       |
| firstname  | text      | YES  |     | NULL              |       |
| email      | text      | YES  |     | NULL              |       |
| createtime | timestamp | NO   |     | CURRENT_TIMESTAMP |       |
+------------+-----------+------+-----+-------------------+-------+

use [db_name] で接続するデータベースを指定。

create table [table_name]([filed_name] [filed_type] ・・・) 

で指定したフィールド名と型を持つテーブルを作成。

show fields from [table_name] でテーブル内にあるフィールドを確認。


4.フィールドの変更・追加

mysql> alter table [table_name] change [変更前のフィールド名] [変更後のフィールド名];

alter table [table_name] [option] でフィールドの追加、変更、削除などが可能。


5.テーブルの削除

mysql> drop table if exists [table_name];

drop table if exists [table_name] でテーブル削除。


6.レコードの挿入

レコード:テーブルに入るデータ

mysql> insert into [table_name](
    -> userid, ・・・, pref)
    -> values(
    -> 1, ・・・, '東京都');

insert into [table_name]([field_name]) values ([value]

で指定したデータをテーブルに挿入。


7.レコードの選択

全てのレコードを選択。
特定のレコードを選択。
降順でレコードを抽出。

mysql> select * from [table_name];
mysql> select * from [table_name] order by [field_name] desc;
mysql> select * from [table_name] where [field_name]=[value];

select [field_name] from [table_name] で指定したフィールドの値を選択。

order by desc を追加すると指定したフィールドにあるデータを元に降順で表示。

descを付けないと昇順表示。

where [field_name]=[value] を追加すると指定したデータのあるレコードだけ選択。

で指定したデータをテーブルに挿入。


8.レコードの更新

mysql> update [table_name] set [変更するデータのあるフィールド名]=[変更後の値]

update でレコードを更新。

whereを付けて特定のレコードだけ更新するのが普通。



9.レコードの削除

mysql> delete from [table_name]

delete from [table_name] でレコードを削除。

whereを付けて特定のレコードだけ削除可能。