記入日:2022-12-16 編集日:2022-12-16
SQL見るだけクエリを始めるにあたって、まずはサンプルデータが必要な為用意しました。せっかく用意したので、まずは初めの第一歩、このサンプルデータの中身を、SQLを使って全件取得してみます。データベース(MYSQL)内に保存したサンプルデータを、PHPのPDOで接続取得しております。
この記事を読むと(約5分)
データベース内のあるテーブルから、全てのレコード(保存された内容)をSQLで取得する為に、どのようなプログラムを書いているかが分かります。SQLの部分はたった1行のみです。
以下の様なテーブルを用意しました。(テーブル名:table_name)
id | name1 | name2 | population | img | area |
---|---|---|---|---|---|
1 | 横浜市 | 神奈川県 | 3771961 | dbsample | 関東 |
2 | 大阪市 | 大阪府 | 2756807 | dbsample | 関西 |
3 | 名古屋市 | 愛知県 | 2325778 | dbsample | 中部 |
4 | 札幌市 | 北海道 | 1973000 | dbsample | 北海道 |
5 | 福岡市 | 福岡県 | 1631409 | dbsample | 九州 |
同様に20レコード(件)
テーブルの情報を取得するSQLに関して、注目する部分は、以下の10行目のみです。
SELECT * FROM table_name この部分で、データベース内にあるtable_nameという名前のテーブルの全てのレコード(保存された内容)を取得しております。
try { include_once 'class.php'; // データベース接続 $database = new Database(); $db = $database->connect(); // SQLを準備し、パラメータをバインドする $query = 'SELECT * FROM table_name'; $stmt = $db->prepare($query); // 実行する $stmt->execute(); // 結果を取得する $result = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($result); // データベースから切断する $database->disconnect(); } catch(PDOException $e) { echo $e->getMessage(); }
これを実行すると、二次元連想配列という形式で、全ての情報を取得することができます。
Array ( [0] => Array ( [id] => 1 [name1] => 横浜市 [name2] => 神奈川県 [population] => 3771961 [img] => dbsample [area] => 関東 ) [1] => Array ( [id] => 2 [name1] => 大阪市 [name2] => 大阪府 [population] => 2756807 [img] => dbsample [area] => 関西 ) [2] => Array ( [id] => 3 [name1] => 名古屋市 [name2] => 愛知県 [population] => 2325778 [img] => dbsample [area] => 中部 ) [3] => Array ( [id] => 4 [name1] => 札幌市 [name2] => 北海道 [population] => 1973000 [img] => dbsample [area] => 北海道 ) [4] => Array ( [id] => 5 [name1] => 福岡市 [name2] => 福岡県 [population] => 1631409 [img] => dbsample [area] => 九州 ) [5] => Array ( [id] => 6 [name1] => 川崎市 [name2] => 神奈川県 [population] => 1540890 [img] => dbsample [area] => 関東 ) [6] => Array ( [id] => 7 [name1] => 神戸市 [name2] => 兵庫県 [population] => 1510171 [img] => dbsample [area] => 関西 ) [7] => Array ( [id] => 8 [name1] => 京都市 [name2] => 京都府 [population] => 1448964 [img] => dbsample [area] => 関西 ) [8] => Array ( [id] => 9 [name1] => さいたま市 [name2] => 埼玉県 [population] => 1339784 [img] => dbsample [area] => 関東 ) [9] => Array ( [id] => 10 [name1] => 広島市 [name2] => 広島県 [population] => 1191445 [img] => dbsample [area] => 中国 ) [10] => Array ( [id] => 11 [name1] => 仙台市 [name2] => 宮城県 [population] => 1099239 [img] => dbsample [area] => 東北 ) [11] => Array ( [id] => 12 [name1] => 千葉市 [name2] => 千葉県 [population] => 978801 [img] => dbsample [area] => 関東 ) [12] => Array ( [id] => 13 [name1] => 北九州市 [name2] => 福岡県 [population] => 924143 [img] => dbsample [area] => 九州 ) [13] => Array ( [id] => 14 [name1] => 堺市 [name2] => 大阪府 [population] => 816559 [img] => dbsample [area] => 関西 ) [14] => Array ( [id] => 15 [name1] => 浜松市 [name2] => 静岡県 [population] => 783573 [img] => dbsample [area] => 中部 ) [15] => Array ( [id] => 16 [name1] => 新潟市 [name2] => 新潟県 [population] => 778717 [img] => dbsample [area] => 中部 ) [16] => Array ( [id] => 17 [name1] => 熊本市 [name2] => 熊本県 [population] => 737850 [img] => dbsample [area] => 九州 ) [17] => Array ( [id] => 18 [name1] => 相模原市 [name2] => 神奈川県 [population] => 726559 [img] => dbsample [area] => 関東 ) [18] => Array ( [id] => 19 [name1] => 岡山市 [name2] => 岡山県 [population] => 719437 [img] => dbsample [area] => 中国 ) [19] => Array ( [id] => 20 [name1] => 静岡市 [name2] => 静岡県 [population] => 683358 [img] => dbsample [area] => 中部 ) )
見やすくする為に、HTMLとCSSで体裁を整えると、以下のようになります。
市名 | 都道府県名 | 人口 | エリア | |
---|---|---|---|---|
1 | ![]() |
神奈川県 |
3771961 |
関東 |
2 | ![]() |
大阪府 |
2756807 |
関西 |
3 | ![]() |
愛知県 |
2325778 |
中部 |
4 | ![]() |
北海道 |
1973000 |
北海道 |
5 | ![]() |
福岡県 |
1631409 |
九州 |
6 | ![]() |
神奈川県 |
1540890 |
関東 |
7 | ![]() |
兵庫県 |
1510171 |
関西 |
8 | ![]() |
京都府 |
1448964 |
関西 |
9 | ![]() |
埼玉県 |
1339784 |
関東 |
10 | ![]() |
広島県 |
1191445 |
中国 |
11 | ![]() |
宮城県 |
1099239 |
東北 |
12 | ![]() |
千葉県 |
978801 |
関東 |
13 | ![]() |
福岡県 |
924143 |
九州 |
14 | ![]() |
大阪府 |
816559 |
関西 |
15 | ![]() |
静岡県 |
783573 |
中部 |
16 | ![]() |
新潟県 |
778717 |
中部 |
17 | ![]() |
熊本県 |
737850 |
九州 |
18 | ![]() |
神奈川県 |
726559 |
関東 |
19 | ![]() |
岡山県 |
719437 |
中国 |
20 | ![]() |
静岡県 |
683358 |
中部 |
...少し長くて見にくいですね。次回はこの表をSQLを使って少し整理してみようと思います。
SQLの使いどころ
サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。
SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。
また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。
KK
機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。