ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3789762 MySQL の show tables をするコマンド
質問者:hirosi1999 テーブル名を一覧表示したいのですが、
SQL Server 2005 での方法ご存知でしょうか?

http://msdn2.microsoft.com/ja-jp/library/ms189826.aspx

T-SQL の一覧を見てみましたが解らず...
困り度:
  • 困っています
質問投稿日時:
08/02/19 11:12
この質問に対する回答は締め切られました。

回答

ANo.4 >GO は無くても動くと思うのですが、どのような意味があるのでしょうか?

この辺の事情については、詳しい訳ではないのですが。。。

SQL Serverは、SQLをキャッシュに溜め込んで行き、goで実行する仕組みです。

マニュアルの例題を見れば分かると思いますが、SQL Serverは、ストアド・プロシジャを定義しなくても、if文などの手続を含めてSQLを指定可能で、文を溜め込んで、goで実行します。また、「go 実行回数」といった指定で、複数回実行させることもできます。
回答者:chukenkenkou
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/02/22 10:24
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答良回答20pt

ANo.3 MySQLの場合、従来からの

use データベース名;
show tables;

は、MySQL 5.0以降は、次のSQLでも得ることができます。

select table_name
from information_schema.tables
where table_schema='データベース名'
;

また、SQL Server 2005の場合も、次のSQLで得ることができます。

select table_name
from information_schema.tables
where table_catalog='データベース名'
;

表より上位のデータベース名といった情報が、入っている列が違っていたりするので、一旦、information_schema.tablesの全列の内容を確認してみてください。
回答者:chukenkenkou
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/02/19 12:09
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.2 SQL Serverで表や列の定義情報を知る方法は、いろいろな方法があります。

SQL Server 2005なら、情報スキーマ(INFORMATION_SCHEMA)をSQLで参照する方法があります。
http://msdn2.microsoft.com/ja-jp/library/ms186778.aspx

表などの定義情報を知る方法は、各RDBMSでバラバラだったのですが、INFORMATION_SCHEMAは標準SQLでも規定され、これを実装しているRDBMSでは、基本的な情報は同じような方法で得ることができます。

MySQLも5.0以降なら、情報スキーマ(INFORMATION_SCHEMA)が実装されています。
http://dev.mysql.com/doc/refman/5.1/ja/information-schema.html
回答者:chukenkenkou
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:
08/02/19 11:40
この回答への補足よろしければ重ねてお伺いしたいのですが、
GO は無くても動くと思うのですが、どのような意味があるのでしょうか?
この回答へのお礼SELECT * FROM INFORMATION_SCHEMA.TABLES
で出来ました^^  とても便利ですね 回答ありがとうございました

回答良回答10pt

ANo.1 sqlcmd -s \EXPRESS
use [DB_NAME]
select * from sys.tables
go

で一覧が出てくるとは思いますが・・
回答者:shimix
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/02/19 11:38
この回答へのお礼出来ました! 早速の回答ありがとうございました。