犬の手も借りたいあなたに最適な記事を届けます

【SQL入門】簡単に使いこなせる構文4選

ここは超初心者のためのSQLです。

では詳しく解説していきましょう。

SQLとは?

SQLはプログラミング言語の一つです。

データベースとは

検索や貯蓄が簡単にできるように、整理されたデータの集まりです。

本棚のように、ジャンル別に整頓して置いておくような場所のことです。

SQLでできること。

先述のデータベースを操作することができます。

大きく4つのことができます。

そしてよく使います。

  • ①データの検索・抽出
  • ②データの作成
  • ③データの更新
  • ④データの消去

詳しくは後ほど説明します。

スポンサーリンク

SQLとMySQL

よくMySQLの略称がSQLと間違われますが、別物です。

SQLが言語であるのに対し、MySQLは、データベースを操作するツールです。

先ほどSQLはデータベースを扱う言語で、データベースは本棚とお話ししました。

それに対し、MySQLは、その本を取ってくれるモノです。

我々人間には、指令を出す脳があり、動かす手や足がありますが、PCの世界では、それぞれバラバラです。

SQLが指令を出す脳で、MySQLが手足です。

つまり、SQLという言語でMySQL内のデータを操作します。

SQL必要構文4選

先ほど軽く述べたように、

SQLを使いこなすために最低限覚えたいことは4つあります。

  • ①データの検索・抽出
  • ②データの作成
  • ③データの更新
  • ④データの消去

むしろこの4つのマスターで十分とも言えます。

一つずつ見ていきましょう

スポンサーリンク

SELECT文

セレクト文は、データベースからデータを取り出すのに必要な構文です。

すべてのデータを取り出すのではなく、条件やキーワードなどを設定することで、求めているデータ単体を取り出すことができます。

まだ、データのイメージがついていない方はExcelを想像してください。

表があり、列と行に項目や数字が割り振られていますね。

このような表がたくさんあるのがデータベースです。

氏名年齢血液型身長体重
山田太郎20歳A型170㎝60kg
佐藤花子25歳O型155cm45kg
team1

この表たちから必要な値を取り出すためには、3つのキーワードが主に必要になります。

①SELECT:どのデータを検索するか。

②FROM:どの表から検索するか。

③WHERE:どのような条件で検索するか。

プログラミングでは、自分で何かを実行するのではなく、

パソコンに命令を出して、なにかをしてもらいます

なので、自分が分かるようにではなく、相手に伝わるように、というのが大事です。

簡単に例を挙げてみます。

例:「タンスの中から赤い洋服を出して欲しい場合」

①SELECT:子供用と書かれたタンスの

②FROM:Tシャツと書かれた引き出しの中から

③WHERE:赤色の服を取り出す

このような感じです。

今回は人間に指示を出すような命令文でしたが、

実際にPCに命令を出し、データを取り出してみましょう。

まず、このような表があるとします。

nameageblood typeheightweight
山田太郎20歳A型170㎝60kg
佐藤花子25歳O型155cm45kg
team1

一番上の「name」「age」などは、ヘッダーで、その中身がいかに続いています。

①select

SELECT文では、名前・年齢・血液型・・・とある列の中からどの列を取り出すか決めることができます。

select name, age

上記のように記述すれば、name と ageの列を取り出すことができます。

しかし、このままでは、たくさんある表の中から、どの表の列を取り出せばいいのかわからないので、次のステップが必要になります。

※SELECT * と表記した場合、「すべての列」を取り出すという意味になります。

②from

②のFROMでは、どの表から取り出すのか設定できます。

表というのは一つだけとは限りません。

いくつもの表の中にいろんなデータが入っています。

team1,team2とあった場合、どの表から・・・

team1からなのかteam2からなのか指定することができます。

select name, age from team1;

上記のように記述します。

これだけでも、文は成立しますが、このままでは、すべての行の[name]と[age]を取り出すことになるので、細かな条件設定を最後にします。

感覚的に表の中に列があるので、

①表の名前

②列の名前

と指定したい気持ちですが、

①列の名前

②表の名前の順に指定します。

理由はわかりません。列から指定することによって、複数の表に対応できる模様

③where

最後のWHEREでは条件を記述することができますので、下記で説明するコードはあくまで一例になります。

select name, age from team1 where age>'20';

上記のように記述すると、ageが20以上の人のデータを検索できます。

select age from team1 where name='山田太郎';

このようにして、山田太郎のageだけを取り出すこともできます。

以上がselect文の書き方と使い方でした。

CREATE・INSERT文

ここではCREATE文とINSERT INTO文の書き方を紹介します。

create文は新たに表を作成する構文で、

すでにある表にデータを追加するのが、insert文です。

用途が似ているので、一緒に覚えましょう。

CREATE文

CREATE文では、データの新規作成をすることができます。

TABLE以外にも作成することができますが、ここではよく使うであろう、TABLEの作成方法について解説していきます。

CREATE TABLE テーブル名(列名 データ型()・・・);

と書いていきます。

少しわかりにくいですが、「列名 データ型()」が必要な数だけ続いていきます。

SQLにおいてデータ型名は以下が主に使われますが、

詳しく説明しすぎても今は覚える必要もないので、覚えておくべきことだけ書いておきます。

数値型int
decimal
money
float
文字列型char
nchar
varchar
nvarchar
日付型datetime
データ型

数値型では数字が格納できます。

文字列型では、文字列を格納できます。

char,nchar,varchar,nvarcharにおいては、字数を設定することができます。

それぞれのデータ型の後に(数字)を入れることでその数字が文字数制限になります。

例:char(7)

これら4つにも微妙な違いがあります。

char文字数制限・半角推奨
nchar文字数制限・全角半角不問
varchar最大文字数制限・半角推奨
nvarchar最大文字数制限・全角半角不問
データ型

日付型では日付が格納できます。

nameageblood-typeheightweight
山田太郎20A17060
佐藤花子25O15545
team1

では、上記の表を作成したい場合は、以下のように書きます。(敢えて単位は外します。)

create table team1 (name nvarchar(10), age int, blood-type int, height int, weight int);

INSERT文

この構文では、データの追加をすることができます。

INSERT INTO 表名 (列名1,列名2,・・・) VALUES('値1','値2',・・・);

上記のように記述します。

テーブル(表)には、項目名(列)がありますので、列名を選択していき、その順番にVALUES()内で指定したデータが追加されていきます。

nameageblood-typeheightweight
山田太郎20A17060
佐藤花子25O15545
team1

この表に追加していきたい場合、

insert into team1 (name, age, blood-type,height,weight) values (田中一, 30, AB, 180, 70,);

上記のように書くと以下のようなテーブルに更新されます。

nameageblood-typeheightweight
山田太郎20A17060
佐藤花子25O15545
田中一30AB18070
team1

以下は作成中

UPDATE文では、UPDATE 表名 SET 列名 = 値,WHERE 条件上記のような構成になっています。

DELETE文 DELETE 表名 WHERE 条件 これだけです。

テーブルの削除というより行を削除します。

なので、whereに「年齢18歳以下」のコードを付与すれば、そのテーブルの中の18歳以下のデータを削除することができます。