MySQLの基本構文①Show文:データベースとデータテーブルの中身を見る方法。 | 技プログ
Youtubeでも活動中

チャンネル登録してくれたら喜びます。

このボタンで簡単にチャンネル登録!
PR
ご注意

本ブログには、アフィリエイトを用いた広告が掲載された記事が含まれる場合があります。

ご注意

本ブログには、アフィリエイトを用いた広告が掲載された記事が含まれる場合があります。

MySQLの基本構文①Show文:データベースとデータテーブルの中身を見る方法。

mysql-show-eyecatch

今回は久しぶりにMySQLに関する記事です。

MySQLの基本構文について、
連載型で解説していこうと思います。

まず初回は、MySQLを起動して初めて使うコマンドと言っても
過言ではない、

『showコマンド』について解説します。

参考書などの書籍なんかでは
省かれてしまっているパターンもありますが、
とても便利なコマンドですから、ぜひ使いこなしてください。

この記事を読むことでわかること

自己紹介

サラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

2022年5月に転職。現在は超大手企業の新規事業分野で装置の研究・開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

注意

本ブログはアフィリエイトを用いた広告を掲載しています。

PR

そもそもMySQLのテーブルとかデータベースって何??

基本的な内容ですが、
ちょっと忘れてしまった場合用に、
以前解説した記事があります。

もし忘れてしまったらこちらの記事を参考にしてみてください。

MySQLのshowコマンドとは?

MySQLのshowコマンドとは、
データベース及びテータテーブルの中に、
どんな要素が含まれているかを表示させるコマンドです。

showコマンドでできることについては、
以下の章で詳しく解説していきます。

showコマンドの実際の使い方は?

showコマンドの実際の使い方をご紹介します。

構文としてはこの2つが押さえられていればOKです。

show databases;

show tables;

それぞれについて詳しく解説していきましょう。

show databases; の使い方。

まず注意点からお話しますが、
show database;ではなく、複数形で、show databases;
としないとコマンドが間違っていますのでエラーとなります。

エラー内容としてはこんな感じ。

show database;と間違えて入力すると発生するエラー内容。

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘database’ at line 1

show database;で発生するエラー内容より。

要するにdatabaseというのは誤りなのでエラーですと教えてくれているわけです。

では注意点の説明も終わったところで、
実際に初期状態のMySQLインストール直後の状態の
データベースにアクセスしてshowコマンドを使ってみましょう。

まずはログインしてから、

show databases;

と打ち込んでエンターキーを押します。
すると、こんな感じでデフォルトでプリインストールされたデータベースが表示されます。

show databases;で出力されるデータ。

合計6個のデータベースがプリインストールされているということがわかります。
そのうえで、例えばworldにどんなテーブルが入っているか??
確認してみたくなりますよね?

それができるのがshow tables;です。
次の章で解説します。

show tables; の使い方。

show databases; の使い方がわかったところで、
今度はshow tables; の使い方です。

show tables; は、show databases; と同様、
show tables; と複数形になることに注意が必要です。

また、show databases; と異なり、
どのデータベースのデータテーブルが確認したいのか?
という処理がワンクッション入ります。

具体的には、2通りのやり方があります。

①データベースを指定してuseコマンドで選択する方法。

まず一つ目の方法ですが、
例えば、先ほどのデータベースの例でいくと、
6個のデータベースが存在していて、
それぞれのデータベースにデータテーブルが存在しています。

ですから、単純に
show tables;と打ち込んでも、
どのデータベースのデータテーブルが確認したいのか
パソコン側も????となるわけですね。

ですから、
いったん、調べたいデータベースを選択しましょう。

その方法が、

use データベース名

これだけです。
例えば先ほどshow databases; で出した中から、
worldを選択するとしましょう。

databaseの情報から、worldを選択してみる。


すると、こうなります。

use world

このコマンドを打ち込むことで、
Database changed
と表示され、無事にworldのデータベースを選択した状態になります。

その後、show tables;と打ち込むことで、
worldの中にどんなデータテーブルが格納されているのか確認できます。

worldを選択後、show tables;を実行した結果。

②in 句を併用することで、データベース名を指定する方法。

次にshow tables;を使う方法として紹介するのは、
『 in 』句を使用する方法です。

先ほどuse コマンドを使用して、
確認したいデータベースを選択した状態で
show tables;と打っていましたよね?

ただ、この『 in 』句を使うことで、
なんとuse コマンドを使用せずに1行でデータテーブル名の
取得が可能になります。

構文としてはこうです。

show tables in データベース名;

特に難しくないですね。
例えば先ほどの6個のデータベースから、
worldのデータテーブルの内容が確認したければ、こうなります。

show tables in world;

useコマンドを使ってわざわざデータベースを選択しなくても
良いところはメリットですね。
ただしその後指定のデータベースで処理が無ければ….という条件付きですが…。

ちなみにですが、in 句の代わりにfrom 句でも同じ動作をします。

showコマンドの使い道は?

例えば、データベースにrootでログインした直後の状態とします。
すると、初めて触るデータベースなんかは特にですが、
どんなデータベースがどんな名前で存在しているかわかりませんね。

そんな時、
『どんなデータベースがあるのか?』、『どんなデータテーブルがあるのか?』
すぐに調べたくなりますよね。

このshow コマンドがあれば、
とりあえずの現在存在しているデータベースとデータテーブルの名前が確認できます。
使い道としては確認が主ですね。

ちょっと応用。テーブルのカラム属性を調べる方法。

show コマンドはデータベースの名前、データテーブルの名前を
表示しましたが、実はデータテーブルのカラム属性も一発で調べることができます。

カラム属性はいわゆる横列の並びの種類についてです。
実際にモノを見たほうが早いと思いますのでやってみましょう。

まず、構文はこちら。

show columns from テーブル名;

先述の通り、use データベース名;
で既にworldを選択した状態だと過程してお話していきます。

worldというデータベースには、
3つのデータテーブルが存在していました。

worldの中に入っているtable。

では、この中の、cityというテーブル。
こちらがどんな構成のデータテーブルなのか調べてみましょう。

コマンドとしてはこうです。

show columns from city;

そうすると、このような形でcityの中身の属性がわかります。

cityというtableの中身の属性をshow columns from city;で出力した結果。

とりあえず今の時点では、Fieldくらい見ておけばOKです。
TypeやNullなどは今後の記事で解説予定です。


このようにshow columnsとすることで、次にcityにデータを格納しようとしたときに、
この形式通りであれば格納できる。ということになります。

今回のまとめ。

今回解説した内容をおさらいします。

showコマンドのつかいかたについて
  • show databasesの使い方について解説。
  • show tablesの使い方について。
    2種類の方法について解説。
  • おまけとしてshow coumns from テーブル名の使い方について解説。

データベースに接続できたはいいものの、
そもそも何をどうしたらいいかわからない….

という場合は、とりあえずshowコマンドをつかって、
いろんな情報を見てみましょう。

コメント

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