SQLの基本

SQLとは?

SQL (Structured Query Language) は、リレーショナルデータベースのデータを操作・定義するための国際標準言語です。データベースに対してデータの検索、追加、更新、削除といった命令(クエリ)を出す際に使用します。

データサイエンティストにとって、膨大なデータが格納されたデータベースから必要な情報を効率的に抽出するための必須スキルです。

SQLの3つの種類

SQLの命令は、その役割に応じて主に3つの種類に分類されます。

1. DDL (Data Definition Language) - データ定義言語
データベースやテーブルの構造そのものを作成・変更・削除するための言語です。
代表的なコマンド: CREATE, DROP, ALTER, TRUNCATE
2. DML (Data Manipulation Language) - データ操作言語
テーブルに格納されているデータを検索・追加・更新・削除するための言語です。最もよく使われます。
代表的なコマンド: SELECT, INSERT, UPDATE, DELETE
3. DCL (Data Control Language) - データ制御言語
データベースへのアクセス権限を設定・管理するための言語です。
代表的なコマンド: GRANT, REVOKE

基本的な書き方とルール

  • セミコロン(;)で文の終わりを示す: 1つのSQL命令(クエリ)の最後にはセミコロンを付けます。
  • コメント: ハイフン2つ (--) を行頭に付けると、その行はコメントとして扱われ、実行時に無視されます。
  • 大文字と小文字の区別: SQLの予約語(SELECT, FROMなど)は、大文字と小文字を区別しません。しかし、可読性を高めるために「予約語は大文字、テーブル名やカラム名は小文字」のようにスタイルを統一することが一般的です。
  • 命名規則: データベース名、テーブル名、カラム名は、小文字の英数字とアンダースコア(_)で構成される「スネークケース」(例: sales_data) がよく用いられます。

実践!Google ColaboratoryでPostgreSQL環境を構築する

実際にSQLを動かしてみるために、Google Colaboratory上にPostgreSQLの環境を簡単に構築する方法を紹介します。

  1. Google Colaboratoryで新しいノートブックを開く
    まずはGoogle Colaboratoryにアクセスし、ノートブックを新規作成します。
  2. PostgreSQLのインストールとサービス起動
    以下のコマンドをセルに貼り付けて実行します。これにより、PostgreSQLのインストールとサービスの起動が行われます。
    # パッケージリストを更新
    !sudo apt-get -y -qq update
    
    # PostgreSQLをインストール
    !sudo apt-get -y -qq install postgresql
    
    # PostgreSQLのサービスを起動
    !sudo service postgresql start
  3. インストールの確認
    記事執筆時点ではPostgreSQL 14がインストールされますが、環境によってバージョンは変わる可能性があります。以下のコマンドで確認できます。
    !sudo -u postgres psql --version

これでSQLを実行する準備が整いました。基本的な実行構文は以下の形式になります。実際の使い方は次ページの「SQL DDL」から説明していきます。

!sudo -u postgres psql -U ユーザー名 -d データベース名 -c '実行したいSQL文'

本サイトで使用するGoogle Colaboratoryのサンプルコードは、こちらからノートブックファイル(.ipynb)をダウンロードできます。