エンジニアライフスタイルブログを運営しているミウラ(@miumiu06171)です。
普段はフリーランスでシステムエンジニアをしております。
今回は、初心者向けにデータベース、およびテーブルを操作するSQLコマンドを紹介していきます。
本記事内のSQLコマンドは、MAMPとMySQL Workbenchを使ったMySQL環境で動作確認しているため、同様に確認したい方はこちらの記事で環境構築を行ってください。
SQLデータベース操作コマンド一覧
ここでは、データベースを操作するコマンドについて解説していきます。
データベース一覧の表示(show databases)
データベースの一覧を表示するには、以下の「show databases」コマンドを使用します。
【コマンド書式】
1 |
show databases; |
【コマンド例】
1 |
show databases; |
【コマンド実行結果】
MySQL Workbench上でデータベース一覧が表示されていることがわかります。
データベースの追加(create database)
データベースを追加するには、以下の「create database」コマンドを使用します。
【コマンド書式】
1 |
create database <データベース名>; |
【コマンド例】
schooldbという名前のデータベースを作成する例です。
1 |
create database schooldb; |
【コマンド実行結果】
MySQL Workbench上でschooldbというデータベースが追加されていることがわかります。
データベースの削除(drop database)
データベースを削除するには、以下の「drop database」コマンドを使用します。
【コマンド書式】
1 |
drop database <データベース名>; |
【コマンド例】
schooldbという名前のデータベースを削除する例です。
1 |
drop database schooldb; |
【コマンド実行結果】
MySQL Workbench上でschooldbというデータベースが削除されていることがわかります。
SQLテーブル操作コマンド一覧
ここでは、データベース内にあるテーブルを操作するコマンドについて解説していきます。
テーブル一覧を表示(show tables)
データベースにあるテーブル一覧を表示するには、以下の「show tables」コマンドを使用します。
【コマンド書式】
1 |
show tables; |
【コマンド例】
1 |
show tables; |
【コマンド実行結果】
MySQL Workbench上でschooldbというデータベース内のテーブル一覧を確認した結果、1つもテーブルがないことがわかります。
テーブルの追加(create table)
データベースにテーブルを追加するには、以下の「create table」コマンドを使用します。
【コマンド書式】
1 |
create table <テーブル名> (<列名> <列の型> [オプション], …, … ); |
オプションの詳細については、こちらのMySQL公式ドキュメントを参照ください。
【コマンド例】
カラムにid(出席番号), name(名前), gender(性別), committeeid(担当委員番号)を持つ、studentslistというテーブルを作成する例です。
1 2 3 4 5 |
create table studentslist ( id int not null auto_increment primary key, name varchar(255) not null, gender varchar(255) not null, committeeid int not null); |
【コマンド実行結果】
schooldbデータベースにstudentslistというテーブルを作成できたことがわかります。
テーブルの削除(drop table)
データベースのテーブルを削除するには、以下の「drop table」コマンドを使用します。
【コマンド書式】
1 |
drop table <テーブル名>; |
【コマンド例】
studentslistという名前のテーブルを削除する例です。
1 |
drop table studentslist; |
【コマンド実行結果】
MySQL Workbench上でstudentslistというテーブルが削除されていることがわかります。
SQLテーブル内操作コマンド一覧
ここでは、データベースのテーブル内を操作するコマンドについて解説していきます。
テーブル内の列を確認(show columns from)
データベースのテーブル内の列を確認するには、以下の「show columns from」コマンドを使用します。
【コマンド書式】
1 |
show columns from <テーブル名>; |
【コマンド例】
studentslistテーブル内の列を確認する例です。
1 |
show columns from studentslist; |
【コマンド実行結果】
MySQL Workbench上でstudentslistテーブルの列情報が出力されていることがわかります。
テーブル内に列を追加(alter table add)
データベースのテーブル内に列を追加するには、以下の「alter table add」コマンドを使用します。
【コマンド書式】
1 |
alter table <テーブル名> add <新しい列名> <新しい列の型> after <列の挿入場所>; |
【コマンド例】
studentslistテーブルのcommitteeid列の後ろに「email」(text型)の列を追加する例です。
1 |
alter table studentslist add email text after committeeid; |
【コマンド実行結果】
MySQL Workbench上でstudentslistテーブルに「email」列が追加されていることがわかります。
テーブル内の列を削除(alter table drop)
データベースのテーブル内の列を削除するには、以下の「alter table drop」コマンドを使用します。
【コマンド書式】
1 |
alter table <テーブル名> drop <列名>; |
【コマンド例】
studentslistテーブル内の「email」列を削除する例です。
1 |
alter table studentslist drop email; |
【コマンド実行結果】
MySQL Workbench上でstudentslistテーブルから「email」列が削除されていることがわかります。
テーブル内の列名を変更する(alter table change)
データベースのテーブル内の列名を変更するには、以下の「alter table change」コマンドを使用します。
【コマンド書式】
1 |
alter table <テーブル名> change <古い列名> <新しい列名> <新しい列の型>; |
【コマンド例】
studentslistテーブルの「email」列を「emailaddress」(text型)という列名に変更する例です。
1 |
alter table studentslist change email emailaddress text; |
【コマンド実行結果】
MySQL Workbench上でstudentslistテーブルに「email」列が追加された後、「email」列から「emailaddress」列に変更されていることがわかります。
テーブルに行を追加(insert into)
データベースのテーブルに新規の行(レコード、ロウ)を追加するには、以下の「insert into」コマンドを使用します。
【コマンド書式】
1 2 3 4 |
insert into <テーブル名> (<列1>, <列2>, ...) values (<列1の値>, <列2の値>, ...); |
【コマンド例】
studentslistテーブルのname列に「サイトウ」、gender列に「男性」の行を追加する例です。
1 2 3 4 |
insert into studentslist (name, gender) values ('サイトウ', '男性'); |
【コマンド実行結果】
MySQL Workbench上でstudentslistテーブルのname列に「サイトウ」、gender列に「男性」の行が追加されていることがわかります。
テーブルの行を削除(delete from)
データベースのテーブルの行(レコード、ロウ)を削除するには、以下の「delete from」コマンドを使用します。
【コマンド書式】
1 |
delete from <テーブル名> [where <削除条件>]; |
【コマンド例】
studentslistテーブルのname列が「サイトウ」の行を削除する例です。
1 |
delete from studentslist where name = 'サイトウ'; |
【コマンド実行結果】
MySQL Workbench上でstudentslistテーブルのname列が「サイトウ」の行が削除されていることがわかります。
ここで注意しておきたいことは、1行目の「set sql_safe_updates = 0;」コードでセーフモードを解除することで、テーブルの更新を許可する必要があることです。
テーブルの行を更新(update)
データベースのテーブルの行(レコード、ロウ)を更新するには、以下の「update」コマンドを使用します。
【コマンド書式】
1 2 3 |
update <テーブル名> set <列1> = <列1の値>, [<列1> = <列1の値> ...] [where <条件式>]; |
【コマンド例】
studentslistテーブルのname列が「サイトウ」の行において、committeeid列を4に更新する例です。
1 2 3 |
update studentslist set committeeid = 4 where name = 'サイトウ'; |
【コマンド実行結果】
MySQL Workbench上でstudentslistテーブルのname列が「サイトウ」の行において、committeeid列が4に更新されていることがわかります。
まとめ
いかがでしたでしょうか。
データベース、およびテーブルを操作するSQLコマンドを紹介してきました。
特にデータベースやテーブルを削除すると、もとに戻すことはできないので、本記事で正しい使い方を理解した上で操作ミスがないようにしましょう。
そして、次はデータベースの中の膨大なデータから必要なデータを取り出せるようにSQLの文法を学ぶとスキルアップにつながるので、以下の記事もあわせてご覧ください。
【TIPS】これでバッチリ試して覚えるSQL文法リファレンス
なお、一度学んだ方でもSQL文法リファレンスとして利用できるようにまとめていますので活用頂ければと思います。