Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

5 Cara Menghitung Jumlah Tabel Buatan Pengguna dalam Database SQL Server

Di bawah ini adalah lima metode yang dapat Anda gunakan untuk menentukan dengan cepat berapa banyak tabel yang ditentukan pengguna dalam database saat ini di SQL Server.

Kelima opsi menggunakan COUNT() berfungsi untuk mendapatkan hitungan. Jelas, Anda dapat menggantinya dengan tanda bintang (* ), atau nama kolom untuk menampilkan daftar semua tabel yang ditentukan pengguna.

Opsi 1 – sys.tables

Cara paling jelas untuk melakukannya adalah dengan menanyakan sys.tables tampilan katalog sistem. Tujuan keseluruhan dari tampilan ini adalah untuk mengembalikan baris untuk setiap tabel pengguna, jadi itulah yang kami butuhkan.

USE WideWorldImportersDW;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.tables;

Hasil:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 29                      |
+-------------------------+

Dalam hal ini saya mengembalikan jumlah tabel pengguna dari WideWorldImportersDW basis data.

Jika saya beralih ke database lain, saya mendapatkan hasil yang berbeda:

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.tables;

Hasil:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

Seperti disebutkan, Anda dapat membuat daftar tabel hanya dengan mengganti COUNT(*) baris dengan tanda bintang (* ) atau nama kolom:

USE Music;
SELECT name
FROM sys.tables;

Hasil:

+---------+
| name    |
|---------|
| Artists |
| Genres  |
| Albums  |
| Country |
+---------+

Opsi 2 – Filter sys.objects Berdasarkan Jenis

Opsi lainnya adalah menanyakan sys.objects tampilan katalog.

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.objects 
WHERE type = 'U';

Hasil:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

Dalam hal ini Anda perlu memfilter menurut type = 'U' (U adalah untuk “Tabel Pengguna”).

Opsi 3 – Filter sys.objects Dengan “Jenis Deskripsi”

Cara lain untuk menanyakan sys.objects tampilan adalah untuk memfilter hasil dengan type_desc kolom.

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.objects 
WHERE type_desc = 'USER_TABLE';

Hasil:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

Opsi 4 – Filter sys.objects Dengan Menggunakan Fungsi OBJECTPROPERTY()

Anda juga dapat menggunakan OBJECTPROPERTY() berfungsi di WHERE . Anda ayat.

Fungsi ini menerima dua argumen:ID objek dan properti. ID objek dapat berupa ID tabel dan propertinya dapat berupa IsUserTable , yang menentukan apakah objek adalah tabel sistem atau bukan.

Oleh karena itu, Anda dapat melakukan sesuatu seperti ini:

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM sys.objects 
WHERE OBJECTPROPERTY(object_id, 'IsUserTable') = 1;

Hasil:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

Opsi 5 – INFORMATION_SCHEMA.TABLES

Opsi ini menanyakan INFORMATION_SCHEMA.TABLES tampilan skema informasi. Tampilan ini mengembalikan tampilan dan tabel, jadi Anda perlu memfilter menurut TABLE_TYPE = 'BASE TABLE' untuk mengembalikan tabel saja.

USE Music;
SELECT COUNT(*) AS [Number of User Tables]
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';

Hasil:

+-------------------------+
| Number of User Tables   |
|-------------------------|
| 4                       |
+-------------------------+

Jika Anda perlu mengetahui jumlah tabel sistem, lihat 3 Cara Menghitung Jumlah Tabel Sistem di SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ganti nama Batasan CHECK di SQL Server menggunakan T-SQL

  2. Bagaimana cara mengganti string di Kolom Tabel SQL Server

  3. Apa yang dilakukan 'COLLATE SQL_Latin1_General_CP1_CI_AS'?

  4. Cara Mengatur Warna Bilah Status di SSMS untuk Berbagai Instance SQL Server - Tutorial SQL Server / TSQL Bagian 6

  5. Apakah kode ini mencegah injeksi SQL?