研修(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を付けて特定のレコードだけ削除可能。