Python

Python初学者向け:SQLite3の基本を解説(データの抽出と並び替え)

スポンサーリンク

 

この記事はこんな方におススメです
  • Pythonを始めたばかりで基本から学びたい方
  • Pythonの基本的な部分を速習してまずは全体像を把握しておきたい方

はじめに

SQLiteのデータベースからデータを抽出して並び替えて表示する方法を基本から解説します。SELECT文でデータを抽出する基本は既に扱いました。今回はさらに抽出したデータを並び替えて表示します。まずはデータセットの準備からおこなっていきましょう。

データの抽出と並び替え

データセットの準備

まずはデータセットを準備しましょう。これまでデータベースの作成、テーブルの作成、レコードの作成と扱ってきましたが、今回はオープンデータとして公開されているものを利用することにしましょう。

▶ データベースの作成、テーブルの作成、レコードの作成は以下の記事をご覧ください。

SQLiteの公式サイトでサンプルデータが公開されています。今回はこれを使ってみましょう。

参考)SQLite Sample Database And Its Diagram (in PDF format)

リンク先の「Download SQLite sample database」の箇所でzipファイルをダウンロードしましょう。

サンプルデータの取得

上記の赤枠の部分をクリックすると「chinook.zip」というファイルをダウンロードすることができます。これを解凍して「chinook.db」ファイルを作業ディレクトリにおいてください。これだけで準備完了です。簡単ですね。このデータセットは以下のような構成になっています。

ダイアグラム

書式

データの準備が整ったので、書式の確認をおこないましょう。データの抽出はSELECT文を使います。このSELECT文に並び替えに関するオプションをつけます。

SELECT カラム名1,カラム名2,… FROM テーブル名 ORDER BY カラム名;

このようにデータの抽出の基本で扱ったSELECT文の基本書式のあとに、「ORDER BY」をつけて並び替えを指定します。WHERE文がある場合は、ORDER BYはWHERE文のあとに書きます。ORDER BYはデフォルトでは昇順ですが、DESCを付けることで降順とすることも可能です。

データの抽出と並び替え

では実際にやってみましょう。ダイアグラムを見ると「albums」というテーブルがあるのがわかります。このテーブルで試してみることにしましょう。まず、どのようなデータがあるのか見てみましょう。

albumsテーブルの中身の確認

SELECT文では「LIMIT」で表示するデータの件数を指定することができます。今回は先頭の10個のデータのみを表示することにしました。「AlbumId」「Title」「ArtistId」というカラムがあるのがわかります。デフォルトでは「AlbumId」順に並んでいますね。

では、「Title」で並び替えてみましょう。

Titleで並び替え:昇順

ちゃんと並び替えられてますね。降順も試してみましょう。

Titleで並び替え:降順

今度はTitleが「Z」のものを先頭に並び替えができてますね。

スポンサーリンク

まとめ

今回はSELECT文で並び替えを指定する方法を扱いました。SQLは書式がわかりやすいですね。並び替えはORDER BYで指定します。降順にするときにはDESCです。次回は検索を扱うことにしましょう。

コメント

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