Làm cách nào để kiểm tra xem bảng có tồn tại trong MySQL không?

Bài viết này cung cấp một số tùy chọn để kiểm tra sự tồn tại của bảng trong MySQL. Trước khi thảo luận về nó, trước tiên hãy xem bảng trong MySQL là gì và khi nào chúng ta cần kiểm tra sự tồn tại của nó

Bảng trong MySQL là gì

Bảng là các đối tượng cơ sở dữ liệu chứa tất cả thông tin của cơ sở dữ liệu. Bảng tương tự như bảng tính ở chỗ dữ liệu được cấu trúc logic theo cách hàng và cột

Mỗi cột hiển thị một trường trong bản ghi và mỗi hàng biểu thị một bản ghi riêng biệt. Chúng ta có thể tạo một bảng trong MySQL bằng cách gọi câu lệnh

CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
0

CREATE TABLE table_name (table_id INT);

Chúng ta có thể thực thi câu lệnh

CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
1 để xóa vĩnh viễn một bảng

Đôi khi chúng ta muốn triển khai một bảng vào cơ sở dữ liệu, chúng ta cần xác nhận rằng bảng đó có một tên duy nhất vì nếu không, câu lệnh

CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
2 sẽ báo lỗi

Trường hợp khác nếu drop table không tồn tại sẽ báo lỗi lại. Giải pháp rất đơn giản;

Sử dụng lược đồ thông tin để kiểm tra xem bảng có tồn tại trong MySQL không

Một cách để kiểm tra sự tồn tại của bảng là truy vấn chế độ xem

CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
3. Đối với điều này, chúng tôi có thể lấy số lượng bảng có cùng tên với bảng của chúng tôi từ
CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
3

CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';

đầu ra

+----------+
| count(*) |
+----------+
|        1 |
+----------+

Nếu chúng tôi nhận được số không, thì không có bảng như vậy trong cơ sở dữ liệu của chúng tôi và nếu chúng tôi nhận được số khác không, thì bảng tồn tại. Bạn có thể kiểm tra

CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
5 trong câu lệnh
CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
6 nếu bạn có nhiều cơ sở dữ liệu

Nếu bạn không biết cơ sở dữ liệu, bạn có thể truy vấn nó bằng

CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
7. Phiên bản sửa đổi của mã ở trên với cơ sở dữ liệu bên dưới

CREATE TABLE table_name (table_id INT);
1

đầu ra

+----------+
| count(*) |
+----------+
|        1 |
+----------+

Sử dụng Lệnh CREATE TABLE table_name (table_id INT); SELECT count(*) FROM information_schema.TABLES WHERE TABLE_NAME = 'table_name'; 8 để kiểm tra xem bảng có tồn tại trong MySQL không

Cách thứ hai và khá dễ dàng là sử dụng

CREATE TABLE table_name (table_id INT);
SELECT count(*)
FROM information_schema.TABLES
WHERE TABLE_NAME = 'table_name';
8. Hãy tạo một bảng
+----------+
| count(*) |
+----------+
|        1 |
+----------+
0 trong cơ sở dữ liệu và kiểm tra xem nó có tồn tại không

CREATE TABLE table_name (table_id INT);
6

đầu ra

CREATE TABLE table_name (table_id INT);
7

Nếu không có bảng nào, có thể bạn sẽ không có hàng nào. Bạn cần biết rằng phương pháp này không hoạt động trên bảng tạm thời

Bảng tạm thời trong MySQL là một loại bảng cụ thể cho phép bạn lưu tập kết quả tạm thời mà bạn có thể sử dụng lại nhiều lần trong một phiên làm việc

Khi truy vấn dữ liệu cần một câu lệnh

+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 duy nhất với các mệnh đề
+----------+
| count(*) |
+----------+
|        1 |
+----------+
2 khó khăn hoặc tốn kém, một bảng tạm thời sẽ hữu ích

Bạn có thể lưu kết quả tức thời vào một bảng tạm thời và xử lý nó bằng một truy vấn khác trong trường hợp này. Chúng ta sẽ thảo luận về phương pháp hoạt động trên bảng tạm thời trong phương pháp tiếp theo

Sử dụng Quy trình +----------+ | count(*) | +----------+ | 1 | +----------+ 3 để Kiểm tra xem Bảng có tồn tại trong MySQL không

Sau MySQL 5. 7 cách mới đã được thêm vào để xác định xem một bảng hoặc một dạng xem có tồn tại hay không, bao gồm cả các bảng tạm thời. Trước khi nói về thủ tục này trước tiên chúng ta cần nắm được thủ tục

Một thủ tục là một chương trình con được lưu trữ trong cơ sở dữ liệu (tương tự như một chương trình con) trong một ngôn ngữ kịch bản thông thường. Các thủ tục được viết bằng MySQL và được lưu trong cơ sở dữ liệu/máy chủ MySQL trong trường hợp MySQL

Một quy trình MySQL có ba phần. tên, danh sách tham số và (các) truy vấn SQL. Bây giờ chúng ta có thể tiếp tục quy trình cụ thể của mình,

+----------+
| count(*) |
+----------+
|        1 |
+----------+
4

Theo tài liệu MySQL. “Thủ tục trả về kiểu bảng trong một tham số OUT. Nếu cả bảng tạm thời và bảng vĩnh viễn đều tồn tại với tên đã cho, TEMPORARY được trả về”

Làm cách nào để kiểm tra xem bảng có tồn tại trong MySQL không?

Để kiểm tra xem một hàng có tồn tại trong bảng MySQL hay không, sử dụng điều kiện tồn tại . Điều kiện tồn tại có thể được sử dụng với truy vấn con. Nó trả về true khi hàng tồn tại trong bảng, nếu không thì trả về false.

Làm cách nào để kiểm tra xem bảng có tồn tại trong MySQL bằng PHP không?

PHP có chức năng nhanh chóng trả về tất cả các bảng có sẵn trên máy chủ; . .
Nhấp chuột phải vào tệp PHP bạn muốn sử dụng để xác định bảng hiện có. .
Kết nối với cơ sở dữ liệu MySQL. .
Lấy danh sách các bảng từ cơ sở dữ liệu. .
Xác định nếu một bảng tồn tại

Làm cách nào để kiểm tra xem bảng có trống trong MySQL không?

CHỌN * TỪ yourTableName Ở ĐÂU yourSpecificColumnName LÀ NULL HOẶC yourSpecificColumnName = ' ' ; .

Có tồn tại truy vấn trong MySQL không?

Toán tử EXISTS của MySQL . Toán tử EXISTS trả về TRUE nếu truy vấn con trả về một hoặc nhiều bản ghi. The EXISTS operator is used to test for the existence of any record in a subquery. The EXISTS operator returns TRUE if the subquery returns one or more records.