YouTubeチャンネルはこちら!

【SQLとは!?】IT業界初心者の僕でも理解できた!データベース言語SQLについて解説します!

この記事は約11分で読めます。

前回はmysqlのインストールと環境構築まで書きましたが前回の続きになります。

悩む男性
悩む男性

データベースってよく聞くけどよくわからないなぁ

IT業界に興味があるけど難しいことが多くて頭に入ってこない

というように悩んでる方に向けてこのmoriblogは発信をしております。

データベースに関しての記事は以前にアップしましたのでこちらも併せてみていただけたら幸いです。

今回は人気のデータベースであるmysqlを使ってSQLを書き実際にデータベースの操作を行っていきます。

この記事では以下の内容が初心者の方でも学ぶことができますので是非参考にしていただけたら幸いです。

この記事で学べること
  • MYSQLの起動方法
  • データベースの確認方法
  • データベースの作成/削除
  • テーブルの確認
  • テーブルの作成/削除
  • データの作成/検索/削除

MYSQL起動

mysqlインストールと設定の回を見ていただいた方はMYSQLの起動方法までご存知だと思います。

起動はコマンドプロンプトからでもツールからでも結構です。

早速ログインしましょう。

mysql -u "ユーザー名" -p"パスワード"

で入れましたでしょうか。

データベースの確認

show databases;

でMYSQLに入っているデータベースを見ることができます。

私のデータベースにはいろいろ入っていますが、インストールしたばかりですと

information_schema

performance_schema

testdb

くらいしかないと思います。

データベースの作成

では早速データベースを作りましょう。

create database データベース名;

で新しくデータベースを作ることができます。

作成後の確認

では

show databases;

で再度データベースを見てみましょう。

pgfratという名前のデータベースができていますね。

データベースの削除

せっかくですが、データベースを削除していきたいと思います。
drop database データベース名;

で、データベースの削除になります。

OKと出れば削除が完了となります。

削除をしたかっただけなので再度データベースを作ります。

削除後データベース再度作成

使用するデータベースを指定する

データベースを作りましたら今度は

use データベース名;

とコマンドを打ってください。

上記コマンドでこれから使用するデータベースを設定することができます。

テーブル作成前にテーブルを確認

テーブルを確認するコマンドは

show tables;

になります。

まだデータが入っていないのでエラーになっております。

データベースはテーブルとカラムという概念があります。

データベースは、このテーブルとカラムにデータを格納し、格納したデータを取り出したり加工したり削除するということをSQLと呼ばれるデータベース言語で操作を行うことができます。

テーブルを作成する

では早速テーブルを作ります。

usersテーブルを作りますので上記のコマンドでテーブルとカラムを作成します。
CREATE TABLE IF NOT EXISTS users (
     id SERIAL PRIMARY KEY,
     username VARCHAR(30) NOT NULL,
      password VARCHAR(255), tel VARCHAR(20), mail VARCHAR(50), 
      created_at timestamp not null default current_timestamp,
       updated_at timestamp not null default current_timestamp
  );
データベースに入るデータはプライマリーキーと呼ばれる必ずオンリーワンになるデータを決める必要があります。

上記のコマンドは2行目のidカラムをプライマリーキーとして設定をしています。

このuserテーブルのカラムはidの他に何があるか皆さんはお分かりですよね?

  • username
  • password
  • tel
  • mail
  • 作成日
  • 更新日

がカラムとして設定されています。

それではテーブルを見てみましょう。

テーブル作成後のテーブル確認

show tables;

でusersテーブルが作成されています。

作成したテーブルの中身を見る

show columns from users;
上記のコマンドでテーブルの中身を見ることができます。

Fieldがカラムになります。

Typeは格納を受け付けるデータ型になります。

この型に合ったデータが入ってこないとエラーになってしまいます。

Nullは空のデータを許可しているかどうかになります。

NOの場合はデータが空の場合にはエラーで弾かれてしまいます。

idはKeyにプライマリーキーが設定されており、Extraではauto_incrementの記載があります。

idは一意のオンリーワンのデータなので重複ができません。

その為 auto_increment でデータが入る度に自動でidの値を被らないように設定してくれます。

insert文によるデータ投入

テーブルを作成したのでカラムにデータ投入してみましょう。

INSERT INTO users(username, password, tel, mail) 
 VALUES('pgfrat', 'pgfra', '080-9999-9999', 'pgfrat@pgfrat.jp');
insert into でデータをこれから投入するよ!

という宣言になります。

SQLではinsert文と言います。

usersテーブルの中の()のカラムにvalues()の中のデータを入れる

という書き方になります。

このinsert文を2回コマンドを叩いてデータを投入してみます。

select文

それではテーブルの中身を確認したいと思います。

select * from users

というコマンドを叩きましょう。

横の1列のことをレコードと呼んだりしますが、レコードが2つ出来ていることが確認できると思います。

データに関しては先ほど2回投入したのでidと日付だけ違うデータになっています。

idはプライマリーキーの為 auto_increment により数字が1繰り上がっています。

プライマリーキーは一意のデータの為重複が許されないためです。

日付に関しましてもdefault current_timestampを指定していますので自動でデータが入力された日時が入ります。

select * from users

はSQLのselect文になります。

こちらは欲しいデータを表示するのに役に立ちます。

select * で全てのカラムを表示するという書き方になります。

特定のカラムを表示したいのであればカラム名を指定してください。

複数ある場合はカンマ区切りで指定することが可能です。

update文

それでは入れたデータを変更してみましょう。

update users set username = "pg";

set username = のあとは自由に変えたい名前を入力してください。

””ダブルクォーテーションでくくらないとエラーになりますので気をつけてください。

select文でデータを見てみましょう。

データが変更されましたね。

update文はデータの変更が行えます。

しかし上記のコマンドでは2つのレコードとも名前が変わってしまいました。

条件付きupdate文

先ほどのコマンドでは意図しないでデータが書き換わってしまう可能性があることはお判りでしょうか?

特定の条件で絞らないと、想定外のデータまで影響が及んでしまうことがあります。

そこで今度は条件を指定してデータを変更してみましょう。

update users set username = "pgfrat" where id = 2;
上記のコマンドによりidが2であるレコードのusernameカラムが変更されました。

whereは条件を指定できます。

実際の現場ですと条件をつけずにコマンドを打つことは御法度になりますので気をつけてください。

delete文

それでは条件を指定してレコードを削除します。

idが1であるレコードを削除します。

コマンドは

delete from users where id = 1;

となります。

idが1のレコードが削除されたことが確認できましたね。

SQLのdelete文は大事なデータも消しかねませんので慎重にコマンドを打ちましょう。

delete文も条件指定をよく考えて実行するSQLとなります。

この記事のまとめ

データベースを操作する

  • select
  • insert
  • update
  • delete

のSQL(データベース)言語についてみてきました。

コマンドラインから操作する場合の基本は上記のコマンドになりますが、実際はプログラムと組み合わさってデータベースを操作することになります。アプリケーションやシステムを作るにはこの基本がわかった上でプログラムを使ってデータベースを操作する必要があります。

実戦を考えるのであればプログラムで操作されるSQL文は複雑なものになりますので、基礎から更に応用を学ぶ必要があるでしょう。

プロゲートなどのWEBサービスでもデータベース操作言語であるSQLについては学ぶことができますが、自分でデータベースを構築し勉強できるサービスはありませんので自身のローカル環境(PC)にてデータベースを用意することがデータベース学習のスタートになるでしょう。

環境が整ったその後はSQLを使って、クエリについて更に学習することが可能になります。

新型コロナウイルスによる影響で転職活動にも変化が生じています。

緊急事態宣言による営業自粛の影響で、収入が減ってしまい、テレワークが可能な業態として認識されているIT業界への転職活動が活発になっているようです。

IT業界未経験者が、ITの知識がゼロでは転職活動は厳しいです。これから世の中は離職も増えることが予想され転職市場は応募者に厳しくなります。

これからしばらく企業が選ぶ側になることが想定されますので、IT業界に転職を考えるのであれば、最低限のIT知識は学ぶことが必須になります。以下の記事で未経験からエンジニアになる方法を解説しておりますので確認してみてください。

コメント

プロフィール

シュン@pgfrat

高校卒業後に製菓学校に進学し製菓関連の国家資格を取得する。
専門学校卒業後に個人の洋菓子店やレストランなどで洋菓子や料理に携わるが、ブラックな勤務体制により絶望と脱獄、転職を繰り返してニートやフリーターを数年経験。

サラリーマンとして再起を図るものの、リーマンショックにより正社員にも関わらずリストラされてまたもやニート生活に堕ちる。
その後は奇跡的に大手家電量販店に転職し、接客販売業に従事。
数年間満足した生活を送ったが、夢を見たくて再度ホテルとレストランで修行を開始。

数年で身体を壊して為飲食業自体をリタイアしまたもやニートになりながらも何かしらの正社員にならないとマズイなと思う。
その後転職活動を営業、事務、などのデスクワーク中心の業種に絞り転職活動を行う。

今から営業は無理だと思いIT業界を目指して勉強を開始し転職を成功させて現在に至る。

現在はエンジニアとしてシステムエンジニアとして上流工程から下流工程まで浅く広く。

趣味は料理、it関連、音楽、映画、ゲーム、レジャー、ガジェット、ダーツなど

定期的にmoriblogを更新しておりますので読んでいただけたら幸いです。

シュン@pgfratをフォローする

カテゴリー

タイトルとURLをコピーしました