database image

初心者向け!SQLでデータベース操作のための基本的な書き方まとめ

 

SQLはデータベース言語の一つで、データベースの定義や操作を行うことができます。

この記事ではSQLの基本的な使い方をまとめました。

SQL、データベースとは

大量のデータを保存し、コンピューターからアクセスできるようにしたデータの集まりをデータベースと言い、DBと略します。

 

このデータベースを管理するシステムをデータベースマネジメントシステムといい、DBMSと略されます。

大量のデータを扱うためや多人数での共有、万が一の事故のためにもこのシステムが必要となります。

DBMSで採用されているのはおおむね次の5種類です。

  1. 階層型データベース
  2. リレーショナルデータベース
  3. オブジェクト指向データベース
  4. XMLデータベース
  5. キー・バリュー型データベース

この記事で紹介するのはリレーショナルデータベースを操作するための専門用語SQLになります。

エクセルの表のようにデータの管理をするため、理解しやすいです。

 

SQLはデータの操作や定義を行うためのデータベース言語で、「Structured Query Language」の略です。

SQLそのものはプログラミング言語ではなく、プログラミング言語と合わせて使われます。

リレーショナル型データベースに対応したデータベース言語として ISO 及び JIS において規格化されており、現在ではリレーショナル型データベースの事実上の標準として位置づけられています。

 

SQLは主に3種類の命令文で構成されています。

データベース言語SQLの文法の種別は、以下の3つに大別される。

その他に、これらの命令の適用範囲を補完するための機能として、SQL文を実行時に解釈する「動的SQL」や、埋め込みSQLのための命令などが用意されている

Wikipediaより引用

SQLでは大文字と小文字は区別されません。

また文の終わりにセミコロン ; を付けます。(画像では;が抜けてしまっているところがあります。すみません。)

テーブルの作成

データベースとテーブルの構成

まずテーブルを作る前にテーブルを格納するデータベースを作成する必要があります。

CREATE   DATA BASE   データベース名

 

そのあと、CREATE TABLEを使いテーブルを作成します。

テーブルを作成するのは

CR EATE  TABLE   テーブル名 (列の名前 データの型 制約, 列の名前 データの型 制約, ・・・)

のようにして作れます。

 

データの型には数値型や文字列型

SELECT文

SELECT文はデータベースからデータを取り出し、表示するために使われる構文です。

いろいろ条件付けをして、あてはまるものだけを取ってくることもできます

SQL SLECT文

SELECT文

基本的にはこのように書きます

 

例えばuserテーブルの名前の項目を取り出したいときは、

SELECT分の使い方 例

のようにします。

 

項目のところに「*」を使うとすべてのデータを表示することができます。

WHERE

WHEREを使うとSELECT文などで取ってくるデータの絞り込みができます。

書き方は先ほどのSELECT文の後に「WHERE 条件」を加えた形です。

WHERE文の使い方

WHEREは後から紹介する UPDATEやDELETEなどにも使われます。

INSERT

後からデータに新しいデータを追加する必要が出てくることもあります。

その時に使われるのがINSERTです。

INSERT分の使い方

このような文で行を追加することができます。

INSERT文の例

こうするとuserテーブルのidの列に05,nameの列にルフィを追加することができます。

UPDATE

INSERTは追加でしたが、UPDATEではデータの更新が行えます。

数値や文字列などを変更したり、修正したいときに使えます。

UPDATE文の使い方

このように書きます。

 

複数のデータが一気に書き換わってしまうので、更新したいデータだけを選ぶためにWHEREも合わせて使います。

SELECT文の時と同じように「WHERE 条件」最後に加えます。

UPDATE文の例

こうすると20歳の人のデータが更新されます。

DELETE

DELETEではデータの削除ができます。

DELETE文の基本的な使い方

このような形で使います。しかしこの場合はテーブルのデータがすべて消えてしまうので、WHEREを加えて条件を付けます。

ageが20のデータのみが削除されます。

ORDER BY と GROUP BY

ORDER BYはデータの並び替えで使われます。

昇順や降順で並び替えたいときに使われます

ORDER文

昇順にしたいときは列名の後に、ASCを、降順にしたいときは、DESCを書きます。

GROUP BYではデータを同じ種類ごとに分けることができます。

男女で分けたいとか、野菜とフルーツで分けたいときなどに使われます。

GROUP BYの使い方

このような形式で使います。

制約

制約はデータベースにルールを決めて、データの形式を制限することです。

ここには数字しか入れてはいけないとか、ここは空白にしてはいけないとかです。

制約はCREATEでテーブルを作成するときに指定できます。

テーブル作成後に制約を付けたい場合は

SQL 制約の使い方

のようにして制約を付けることができます。


大きく5種類の制約があります。

  1. Not NULL
  2. チェック制約 (CHECK)
  3. 一意性制約 (UNIQUE KEY)
  4. 主キー制約 (PRIMARY KEY)
  5. 参照整合性制約、外部キー制約 (FOREIGN KEY)

Not NULL制約

Not NULL制約はNULLを許可しないというものです。これがあると空白にはできず、何かを必ず入れなければなりません。

 

チェック制約

チェック制約は、「ある値以上」などの条件を設定し、その条件を満たすデータのみを許可するものです。

 

一意性制約 (UNIQUE KEY)

これは単一の値のみを許可するもので、他のところに同じデータが入ることを許可しません。

 

主キー制約 (PRIMARY KEY)

データベースには、主キーと呼ばれるレコードを一意に識別できる列をしていできますが、主キー制約はこのときに使う制約です。

 

参照整合性制約、外部キー制約 (FOREIGN KEY)

他のテーブルのデータを参照するように設定するものです。参照する側を「子テーブル」、参照される側を「親テーブル」と呼びます。

勉強するには

ここまで紹介したのはほんとに基本的なことです。

手を動かしながら使いこなせるようにいろいろ作ってみましょう!

 

SQLを勉強する方法をいくつか紹介します。

プログラミング学習の定番にもなっている progateドットインストール でもデータベース言語の学習ができます。

月1000円程度なので勉強を始めやすいと思います。

progate

ドットインストール

参考書を使って学習したい方には「スッキリわかるSQL入門」がおすすめです!

 

1人で学習を進めていくのが難しい方には TECHACADEMYがおすすめです。

プログラミングのイメージ

2020/10/18

最新|web制作やプログラミングが学べる無料&有料サイトまとめ

最近ではプログラミング学習の必要性が高まり、それに伴ってプログラミングが学べるサイトや教材も増えてきました。 そこで、web制作やプログラミング学習に役立つおすすめのサイトをまとめました! ぜひ参考にしてみてください! natsu大学時に独学でプログラミング学習をして、あるIT企業で内定をいただきました。学習で利用した教材・サイトを紹介します! 目次progate(プロゲート)ドットインストールudemytechpitアールエフェクトELOOP(イーループ)その他、学習に役立つサイト!Qiitaterat ...

ReadMore

RaiseTechのロゴ

2020/8/26

RaiseTechを実際に受講してみた感想・体験談!|レイズテック・WordPress副業コース

最速で「稼げる」プロを目指すエンジニアリングスクール RaiseTech(レイズテック)の受講したので、特徴や感想をまとめました。 natsu筆者です!今回僕は、「WordPress副業コース」を受講しました! 目次RaiseTech(レイズテック)ってどんなスクール??どんなコースがある?AWSフルコースAWS自動化コースJavaフルコースJavaフレームワークコースWordPress副業コース実際にWordPress副業コースを受講してみた!RaiseTechで受講をしようと思った理由は?いいとこ・悪 ...

ReadMore

Laravel ロゴ

2020/8/26

Laravelの特長や機能、勉強法など基本的なことをまとめてみた。

人気のフレームワーク「Laravel」について自分の勉強のためにも、どういうものなのか、どんな機能なのか、フォルダなど基本的な部分をまとめました。 詳しい操作方法は記述していませんが、こういうものなんだなっていうのがわかれば幸いです。 目次LaravelとはLaravelの特長ディレクトリ構造と役割についてMVCとはマイグレーションとはEloquent(エロクアント) ORMとModel(モデル)Routeルーテイングとはcontroller(コントローラー)とはBladeとはSeederとは勉強するには ...

ReadMore

database image

2020/8/22

初心者向け!SQLでデータベース操作のための基本的な書き方まとめ

  SQLはデータベース言語の一つで、データベースの定義や操作を行うことができます。 この記事ではSQLの基本的な使い方をまとめました。 目次SQL、データベースとはテーブルの作成SELECT文WHEREINSERTUPDATEDELETEORDER BY と GROUP BY制約勉強するには SQL、データベースとは 大量のデータを保存し、コンピューターからアクセスできるようにしたデータの集まりをデータベースと言い、DBと略します。   このデータベースを管理するシステムをデータベー ...

ReadMore

プログラミングイメージ

2020/8/10

JavaScriptで配列をシャッフルするフィッシャー・イェーツ

JavaScriptで配列をシャッフルさせるフィッシャー・イェーツのシャッフルについてです。 フィッシャー・イェーツのシャッフル フィッシャー・イェーツのシャッフルは、有限集合からランダムな順列を生成する方法です。 ロナルド・フィッシャーおよびフランク・イェーツの名前から名づけられました。 wikipedia フィッシャー–イェーツのシャッフル   簡単に言うと、配列から数字をランダムに一つ取り出し、取り出した順に並び替えて行く方法です。 ランダムに取り出していき並びなおすので、並び方をシャッフ ...

ReadMore

パソコン作業のイメージ

2020/8/4

IT系の就職にレバテックルーキーってどう?大学生が利用した感想!

新卒学生向けのサービス、レバッテクルーキーをご存知でしょうか? 新卒ITエンジニア専門の就職エージェントのサービスです!   IT系の就職を完全に無料で相談し、サポートしてもらうことができます!   natsu初めまして、筆者です! IT系での就職を目指している中、レバテックルーキーを利用させていただきました! IT系の就職を考えている方、悩んでいる方、ぜひこの記事を読んでみてください! 目次レバテックルーキーってどう?ほんとにIT系に就職できるの?サービスの内容は?サービス利用の流れ ...

ReadMore

teacher's pet

2020/8/1

teacher's pet|英語表現を覚える

teacher's petってどんな意味?? 「teacher's pet」 先生のお気に入り   直訳すると「教師のペット」という意味なので、先生にいいように使われる生徒のようなイメージかもしれませんが、そういった意味ではなく先生に気に入られた生徒を指します。 学校でよく使われる言葉で、成績が優秀だったり、問題を起こさなかったり、先生の言うことを素直に聞く生徒です。   ペットのように可愛がられるというニュアンスもありますが、先生に媚を売ってペットのように接しているという軽蔑的なニュ ...

ReadMore

2020/7/29

broaden one's horizons|英語表現を覚える

broaden one's horizonsってどんな意味?? 「broaden one's horizons」 視野を広げる   「broaden」は広げるの意味。 「horizon」は地平線とか水平線という意味ですが、複数形だと視野とか範囲の意味があるみたいです。 one'sのところには誰のかという単語が来るので、myを入れれば自分の視野を広げる意味になります。   例文:Learning culture broadens your horizons. (文化を知ると視野が広がる) ...

ReadMore

2020/7/27

back to square one|英語表現を覚える!

back to square oneってどんな意味?? 「back to square one」 振出しに戻る、最初から という意味があります。英語での意味も「to start again」と書いてあるのを見ました。   スゴロクなどでスタート地点の四角いマスからきています。 水の泡になるという風にも使えると思います。(水の泡になる → はじめからやり直し)   例文: I have to be back to square one and take same class again ...

ReadMore

no image

2020/7/27

catch off guard|英語表現を覚える!

catch (someone) off guard はどんな意味?? catch (someone) off guard には「不意を突く」という意味があります。   off guardが油断しているという意味で guard(ガード)がoff(オフ)のところを捕まえる と覚えたら覚えやすいかもしれません。   例文: I was caught off guard  when my boss suddenly asked me.  (私の上司が突然尋ねてきて、不意を突かれた) &nbsp ...

ReadMore

© 2020 FW ~FREEWALK~ Powered by AFFINGER5