記入日: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化のディレクションなどを行っています。