Veritabanındaki tüm tabloları listeleyen ve sağlayıcıdan bağımsız olan bir MSSQLServer, Oracle, MySQL üzerinde çalışan bir SQL komutu var mı?Veritabanındaki tüm tabloları listeleme
cevap
En yakın seçenek, tablolar için INFORMATION_SCHEMA
sorgulamaktır.
SELECT *
FROM INFORMATION_SCHEMA.Tables
WHERE table_schema = 'mydatabase';
INFORMATION_SCHEMA
standart SQL bir parçasıdır, ancak tüm satıcıları bunu destekleyecek. Gibi bildiğim kadarıyla, bunu destekleyecek tek RDBMS satıcılar şunlardır:
- MySQL
- PostgreSQL
- Microsoft SQL Server örn 2000/2005/2008
veritabanının Bazı markalar, Oracle, IBM DB2, Firebird, Derby vb., Sistemde meta verileri sorgulayabileceğiniz bir arayüz sağlayan benzer "katalog" görünümlerine sahiptir. Ancak görünümlerin adları, içerdikleri sütunlar ve ilişkileri INFORMATION_SCHEMA
için ANSI SQL standardına uymuyor. Başka bir deyişle, benzer bilgiler mevcuttur, ancak bu bilgiyi almak için kullanacağınız sorgu farklıdır.
(dipnot:! I Windows/* NIX için IBM DB2 UDB katalog görünümleri farklıdır Sistemi için IBM DB2 UDB katalog görünümleri - çok Universal için UDB)
Bazı diğer markalar (örn. SQLite) meta veriler için hiç sorgulanabilir bir arayüz sunmaz.
Hayır. Hepsine, kendi küçük yollarını yapmayı seviyorum.
Hayır, SQL standardı, tablo adlarının listelendiği yerleri kısıtlamıyor (yani), bu nedenle SQL motoruna bağlı olarak farklı ifadeler (özel olarak adlandırılmış tablolarda genellikle SELECT
deyimi) yapmanız gerekir. ile başa çıkmak.
, ınformatıon_schema SQL-92 standardının parçasıdır: at API üzerinde
pjjH
ayrıntıları. Bazı satıcılar bunu desteklemeyebilir, ancak standardın bir parçasıdır. –
bunu SQLTables giriş noktası uygulayan olmayan bir SQL yaklaşımı ve veritabanına ve için bir ODBC sürücüsü sahip kullanarak Tamam iseniz, muhtemelen istediğiniz bilgileri alabilirsiniz! Bill Karwin doğru işaret ettiği gibi http://msdn.microsoft.com/en-us/library/ms711831.aspx
- 1. Çoğaltma için şu anda yayımlanmış tüm tabloları listeleme MS-SQL
- 2. MySQL'de, bir veritabanındaki tabloları nasıl yeniden adlandırabilirim?
- 3. Tüm SVN depolarını listeleme
- 4. Tüm sınıf özelliklerini listeleme
- 5. Tüm tabloları SQLite veritabanında combobox'a yükle
- 6. ORMLite tüm tabloları sıfırla
- 7. Tüm dizinlerdeki tüm dosyaları listeleme PHP
- 8. iOS'ta tüm süreçleri listeleme 5.0.1
- 9. Tüm Fiziksel Sürücüleri Listeleme (Windows)
- 10. Yabancı tabloları da içeren bir SQL veritabanındaki verileri nasıl keşfedebilirim?
- 11. Belirli bir ada sahip bir veritabanına sahip bir veritabanındaki tüm tabloları bulmak için SQL sorgusu
- 12. Tüm tabloları sql geliştiricisi bırakın
- 13. Veritabanımdaki tüm tabloları nasıl bırakabilirim?
- 14. Tüm tabloları info_schema'dan alın, MySQL
- 15. MySQL veritabanındaki tüm tablolar nasıl silinir?
- 16. SQL Server veritabanındaki tüm gizlenebilir rolleri görüntüle?
- 17. Jekyll ile tüm blog yazılarını listeleme (içerikle)
- 18. Tüm bekleyen örnekleri listeleme RSpec listesi
- 19. WordPress - Tüm gönderileri listeleme (uygun_pagination ile)
- 20. Dizideki tüm dosyaları gulp.src() ile listeleme
- 21. Veritabanı temizleyici, kullanırken bile tüm tabloları temizler:
- 22. Tüm tabloları SQL Server'dan ayrı dosyalara ver
- 23. BeautifulSoup kullanarak html içindeki tüm tabloları bul.
- 24. Birden çok veritabanından tüm tabloları gösterme
- 25. Tüm tabloları ve tüm sütunları odbc veritabanından alın
- 26. Oracle Tüm tabloları dize için tüm sütunlarda ara
- 27. SQL Server'da kullanıcı ve rollerini listeleme
- 28. İlist tabloları, sybase'de sütun adına nasıl dayanır?
- 29. Eşleşen tabloları göster tabloları ile gösterme adı
- 30. Bir veritabanındaki tüm kullanıcı tanımlı işlevlerin SQL listesi
"Hayır, kesinlikle hayır" demek üzereydim. Cevabınız beni kurtardı. Bugün yeni bir şey öğrendim :) – wcm
Destekleyen ilgili RDBMS markalarında INFORMATION_SCHEMA için dokümanlara bağlantılar ekledim. –