Truy vấn sql để liệt kê tất cả các bảng trong cơ sở dữ liệu mysql

Các cơ sở dữ liệu khác nhau có các dạng xem hoặc danh mục hệ thống khác nhau để liệt kê tất cả các bảng trong cơ sở dữ liệu. Hãy để chúng tôi xem một số cách để kiểm tra điều này trong một vài hệ thống cơ sở dữ liệu

MÁY CHỦ SQL

Trong SQL Server, chúng tôi có bốn cách khác nhau để liệt kê tất cả các bảng trong cơ sở dữ liệu

SELECT table_name
FROM INFORMATION_SCHEMA.TABLES
WHERE table_type = 'BASE TABLE'

SELECT name
FROM sys.tables

SELECT name
FROM sysobjects
WHERE xtype = 'U'

SELECT name
FROM sys.objects
WHERE type_desc = 'USER_TABLE'

tiên tri

Trong Oracle, chúng tôi có ba cách khác nhau để liệt kê tất cả các bảng trong cơ sở dữ liệu

-- This returns all the tables in the database system.
SELECT table_name
FROM dba_tables

-- This returns all the tables which are accessible to the current user
SELECT table_name
FROM all_tables

-- This returns all the tables which are created by the current user
SELECT table_name
FROM user_tables

mysql

Trong MySQL, chúng ta có thể sử dụng truy vấn bên dưới để liệt kê tất cả các bảng trong máy chủ

-- Lists all the tables in all databases
SELECT table_name
FROM information_schema.tables
WHERE table_type='BASE TABLE'

-- Lists all the tables in a particular database
SELECT table_name
FROM information_schema.tables
WHERE table_type='BASE TABLE'
      AND table_schema = 'your_database_name'

Tiếp theo

Đọc Cách chuyển đổi số tháng thành tên tháng trong SQL?

Đôi khi bạn cần lấy danh sách các bảng từ cơ sở dữ liệu của mình. Điều này có thể giúp kiểm tra, để xem những bảng nào tồn tại trước khi bạn tạo hoặc xóa một bảng hoặc một số lý do khác

Nếu bạn quên tên của một bảng cụ thể hoặc quên cách đánh vần một bảng [nó là số nhiều hay số ít? Một hoặc hai từ có dấu gạch dưới?], thì bạn có thể sử dụng các truy vấn này để hiển thị tất cả các bảng trong cơ sở dữ liệu của mình

Mỗi nhà cung cấp cơ sở dữ liệu có cách hiển thị bảng khác nhau. Đôi khi có một lệnh, những người khác có một truy vấn CHỌN từ từ điển dữ liệu

Chúng ta hãy xem một vài cách trong mỗi cơ sở dữ liệu

 

Hiển thị bảng trong Oracle SQL

Oracle có một số chế độ xem tích hợp khác nhau mà bạn có thể truy vấn để tìm dữ liệu mình cần. Bạn có thể truy vấn bất kỳ chế độ xem nào trong số này để liệt kê tất cả các bảng trong Oracle

Bạn có thể không có đặc quyền để xem từng chế độ xem này, vì vậy nếu một truy vấn không hoạt động, hãy thử một truy vấn khác

 

Bảng do người dùng sở hữu

Để xem các bảng thuộc sở hữu của người dùng hiện đang đăng nhập, bạn có thể truy vấn chế độ xem user_tables

SELECT table_name
FROM user_tables
ORDER BY table_name ASC;

Điều này chỉ hiển thị các bảng thuộc sở hữu của người dùng hiện tại. Nó không bao gồm các bảng thuộc sở hữu của người dùng khác mà người dùng hiện tại có thể thấy

 

Bảng người dùng có thể truy cập

Để xem tất cả các bảng mà người dùng hiện tại có thể truy cập, bạn có thể truy vấn chế độ xem all_tables

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;

Bạn có thể thêm cột chủ sở hữu vào chế độ xem của mình để xem ai sở hữu bảng

SELECT table_name, owner
FROM all_tables
ORDER BY table_name ASC;

Điều này có thể hiển thị cho bạn rất nhiều kết quả, bao gồm rất nhiều bảng hệ thống. Bạn có thể thêm mệnh đề WHERE cho trường chủ sở hữu để lọc chủ sở hữu

 

Tất cả các bảng cơ sở dữ liệu

Nếu bạn muốn liệt kê tất cả các bảng trong cơ sở dữ liệu Oracle, bạn có thể truy vấn chế độ xem dba_tables

SELECT table_name
FROM dba_tables
ORDER BY table_name ASC;

Chế độ xem này [và tất cả các chế độ xem khác bắt đầu bằng dba_] dành cho quản trị viên cơ sở dữ liệu. Nếu bạn không có quyền quản trị, bạn sẽ gặp lỗi này

ORA-00942: table or view does not exist.

Để xem chế độ xem này, bạn sẽ cần một trong hai đặc quyền này

  • chế độ xem dba_tables
  • đặc quyền CHỌN MỌI TỪ ĐIỂN
  • vai trò SELECT_CATALOG_ROLE

 

Nếu bạn không chắc đối tượng mình đang truy vấn là bảng hay dạng xem, bạn cũng có thể truy vấn các đối tượng dba_views, all_views hoặc user_views

Các truy vấn này thực hiện UNION ALL để hiển thị cho bạn danh sách tất cả các bảng và dạng xem trong cơ sở dữ liệu Oracle

DBA_TABLES và DBA_VIEWS

________số 8

 

ALL_TABLES và ALL_VIEWS

SELECT 'Table' AS object_type, owner, table_name
FROM all_tables
UNION ALL
SELECT 'View', owner, view_name
FROM all_views;

 

USER_TABLES và USER_VIEWS

-- This returns all the tables in the database system.
SELECT table_name
FROM dba_tables

-- This returns all the tables which are accessible to the current user
SELECT table_name
FROM all_tables

-- This returns all the tables which are created by the current user
SELECT table_name
FROM user_tables
0

 

Hiển thị bảng trong SQL Server

Có một số cách để liệt kê các bảng trong SQL Server

 

Tất cả các bảng và dạng xem

Cách dễ nhất để tìm tất cả các bảng trong SQL là truy vấn các dạng xem INFORMATION_SCHEMA

Bạn làm điều này bằng cách chỉ định lược đồ thông tin, sau đó là chế độ xem “bảng”

Đây là một ví dụ

-- This returns all the tables in the database system.
SELECT table_name
FROM dba_tables

-- This returns all the tables which are accessible to the current user
SELECT table_name
FROM all_tables

-- This returns all the tables which are created by the current user
SELECT table_name
FROM user_tables
1

Điều này sẽ hiển thị tên của bảng, nó thuộc về lược đồ nào và loại

Loại sẽ là “BASE TABLE” cho bảng hoặc “VIEW” cho dạng xem

 

Chỉ tất cả các bảng

Để xem danh sách chỉ các bảng chứ không phải dạng xem, bạn có thể lọc trên cột table_type

-- This returns all the tables in the database system.
SELECT table_name
FROM dba_tables

-- This returns all the tables which are accessible to the current user
SELECT table_name
FROM all_tables

-- This returns all the tables which are created by the current user
SELECT table_name
FROM user_tables
2

 

Máy chủ SQL 2000

Nếu bạn đang chạy SQL Server 2005, bạn có thể sử dụng phương thức information_schema ở trên. Nếu bạn đang sử dụng phiên bản 2000 hoặc sớm hơn thì bạn sẽ cần sử dụng một phương pháp khác

Bạn có thể truy vấn dạng xem SYSOBJECTS để tìm tất cả các bảng trong cơ sở dữ liệu. Điều này hiển thị tất cả các đối tượng, vì vậy để lọc nó thành các bảng, chúng ta có thể lọc trên cột xtype bằng giá trị của “U”, đại diện cho một bảng người dùng

Đây là truy vấn

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
0

 

Hiển thị bảng trong MySQL

Có một số cách để liệt kê các bảng trong MySQL

 

Hiển thị lệnh bảng

Bạn có thể chạy lệnh SHOW TABLES khi đã đăng nhập vào cơ sở dữ liệu để xem tất cả các bảng

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
1

Đầu ra sẽ hiển thị một danh sách các tên bảng, và đó là tất cả

 

Hiển thị loại bảng

Bạn có thể sử dụng công cụ sửa đổi FULL tùy chọn cũng hiển thị loại bảng

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
2

Thao tác này sẽ hiển thị tên bảng và loại bảng, đó là VIEW hoặc BASE TABLE

 

Hiển thị bảng trong cơ sở dữ liệu khác

Bạn cũng có thể sử dụng lệnh này để xem danh sách các bảng trong cơ sở dữ liệu khác

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
3

 

Hiển thị các bảng khớp với một mẫu

Khi chọn từ một dạng xem trong các cơ sở dữ liệu khác, bạn có thể sử dụng LIKE để lọc các bảng khớp với một chuỗi nhất định

Bạn có thể làm tương tự với lệnh SHOW TABLES

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
4

Để xem tất cả các bảng bao gồm chữ "người dùng", bạn có thể chạy lệnh này

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
5

 

Hiển thị bảng trong PostgreSQL

Có một số cách để xem danh sách bảng trong PostgreSQL

 

Hiển thị bảng

Nếu đang sử dụng dòng lệnh, bạn có thể sử dụng lệnh dt để hiển thị tất cả các bảng

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
6

Điều này sẽ không hoạt động trong IDE, nhưng có một phương pháp khác cho điều đó

 

Hiển thị bảng và mô tả

Nếu đang sử dụng dòng lệnh, bạn có thể sử dụng lệnh dt để hiển thị tất cả các bảng cộng với mô tả bảng

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
7

Như trên, có một phương pháp khác nếu bạn không sử dụng dòng lệnh

 

Chọn từ Danh mục

Nếu bạn muốn một phương pháp khác hoặc nếu bạn đang sử dụng IDE và không thể sử dụng \dt, thì bạn có thể chọn từ lược đồ pg_catalog

Đây là một ví dụ

SELECT table_name
FROM all_tables
ORDER BY table_name ASC;
8

Điều này sẽ hiển thị cho bạn thông tin cho tất cả các bảng trong cơ sở dữ liệu. Mệnh đề WHERE lọc ra các bảng hệ thống, nhưng bạn có thể bỏ qua mệnh đề WHERE và xem các bảng đó nếu cần

 

Sự kết luận

Có một số cách để mỗi nhà cung cấp xem danh sách các bảng trong cơ sở dữ liệu. Một số là lệnh sẵn có và một số khác đang chọn từ chế độ xem cơ sở dữ liệu. Hiển thị danh sách cơ sở dữ liệu được thực hiện theo cách tương tự

Lệnh để xem tất cả các bảng trong MySQL là gì?

Các lệnh MySQL tiện dụng
Sự mô tả
Yêu cầu
Để xem tất cả các bảng trong db
bày bàn;
Để xem các định dạng trường của cơ sở dữ liệu
mô tả [tên bảng];
Để xóa một db
thả cơ sở dữ liệu [tên cơ sở dữ liệu];
Lệnh MySQLg2pc1. bu. edu › ~qzpeng › thủ công › MySQL Commandsnull

Lệnh nào được sử dụng để liệt kê tất cả các bảng?

Bây giờ, hãy sử dụng lệnh MySQL SHOW TABLES để liệt kê các bảng trong cơ sở dữ liệu đã chọn. mysql> HIỂN THỊ BẢNG; .

Chủ Đề