Chúng tôi tạo một biến có tên $exists và đặt nó bằng mysqli_query nơi chúng tôi tìm kiếm 1 từ tên bảng
Trong trường hợp này, chúng tôi đang tìm kiếm một tên bảng có tên là khách hàng để xem liệu nó có tồn tại không
Biến $exists lưu giá trị của đối tượng false hoặc mysqli_result
Nếu nó không bằng false, thì bảng tồn tại. Nếu nó bằng false, bảng không tồn tại
Đây là một cách rất nhanh để kiểm tra
Nếu bạn muốn tên bảng được lưu dưới dạng biến, điều duy nhất thay đổi là thay vì đặt tên của tên bảng trực tiếp vào mysqli_query, bạn sẽ đặt tên biến vào vị trí của nó. Tất nhiên, sau đó bạn phải khởi tạo biến ở đâu đó trong mã
Trong MySQL, thủ tục lưu sẵn
+-------------+ | @table_type | +-------------+ | BASE TABLE | +-------------+5 kiểm tra xem một bảng nhất định có tồn tại dưới dạng bảng thông thường, bảng ________0____6 hay dạng xem hay không. Quy trình trả về loại bảng trong tham số
+-------------+ | @table_type | +-------------+ | BASE TABLE | +-------------+7
Thí dụ
CALL sys.table_exists['Music', 'Albums', @table_type];
SELECT @table_type;
Kết quả
+-------------+ | @table_type | +-------------+ | BASE TABLE | +-------------+
Lưu ý rằng nếu tồn tại cả bảng tạm thời và bảng cố định với tên đã cho, thì _______0_______6 được trả về
Bảng +-------------+
| @table_type |
+-------------+
| BASE TABLE |
+-------------+
9
Một cách khác để kiểm tra xem một bảng có tồn tại hay không là truy vấn bảng
+-------------+ | @table_type | +-------------+ | BASE TABLE | +-------------+9________số 8_______
Kết quả
+--------------+------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+------------+------------+ | Music | Artists | BASE TABLE | +--------------+------------+------------+
Trong trường hợp này, tôi đã trả lại bảng cơ sở có tên là
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
1 từ cơ sở dữ liệu có tên là SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
2. Truy vấn điều này mà không lọc kết quả bằng cách SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
3 trả về các bảng cơ sở từ tất cả các cơ sở dữ liệu. Truy vấn nó mà không lọc bởi SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
4 trả về tất cả các loại bảngNếu chúng tôi không cần tất cả thông tin đó, chúng tôi có thể làm điều này
SELECT EXISTS [
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists'
];
Kết quả
1
Hoặc chúng ta có thể nhận được số lượng
SELECT COUNT[TABLE_NAME]
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
Kết quả
+-------------------+ | COUNT[TABLE_NAME] | +-------------------+ | 1 | +-------------------+
Lệnh SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
5
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
Lệnh
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
5 liệt kê các bảng, trình tự và chế độ xem không phải ____0_______6 trong cơ sở dữ liệu MySQL nhất định. Chúng ta có thể sử dụng mệnh đề SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
8 để thu hẹp nó thành một loại nhất địnhChúng ta cũng có thể sử dụng công cụ sửa đổi
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
9 để trả về cột thứ hai hiển thị loạiSHOW FULL TABLES
WHERE Table_Type LIKE 'BASE TABLE'
AND Tables_in_music LIKE 'Albums';
Kết quả
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | Albums | BASE TABLE | +-----------------+------------+
Trong trường hợp này, tên cơ sở dữ liệu là
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
2, và vì vậy cột đầu tiên là +--------------+------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+------------+------------+ | Music | Artists | BASE TABLE | +--------------+------------+------------+1
Lệnh +--------------+------------+------------+
| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |
+--------------+------------+------------+
| Music | Artists | BASE TABLE |
+--------------+------------+------------+
2
Trong MySQL, lệnh
+--------------+------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+------------+------------+ | Music | Artists | BASE TABLE | +--------------+------------+------------+2 tương tự như lệnh
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists';
5 nhưng cung cấp nhiều thông tin hơn về mỗi bảng [không phải _______0_______6]Thí dụ
+-------------+ | @table_type | +-------------+ | BASE TABLE | +-------------+0
Kết quả
+-------------+ | @table_type | +-------------+ | BASE TABLE | +-------------+1
Khách hàng +--------------+------------+------------+
| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |
+--------------+------------+------------+
| Music | Artists | BASE TABLE |
+--------------+------------+------------+
6
Một cách khác để kiểm tra các bảng trong cơ sở dữ liệu MySQL là sử dụng ứng dụng khách
+--------------+------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+------------+------------+ | Music | Artists | BASE TABLE | +--------------+------------+------------+6
Để sử dụng tiện ích này, hãy mở cửa sổ nhắc/thiết bị đầu cuối dòng lệnh và chạy lệnh sau
+-------------+ | @table_type | +-------------+ | BASE TABLE | +-------------+2
Đảm bảo thay thế ____8_______2 bằng cơ sở dữ liệu mà bạn quan tâm và ____9_______9 bằng người dùng hiện hành. Bit
SELECT EXISTS [
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists'
];
0 dẫn đến việc người dùng được nhắc nhập mật khẩuKết quả
+-------------+ | @table_type | +-------------+ | BASE TABLE | +-------------+3
Ứng dụng khách
+--------------+------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+------------+------------+ | Music | Artists | BASE TABLE | +--------------+------------+------------+6 trả về các khung nhìn và bảng
Đầu ra chỉ hiển thị tên của những cơ sở dữ liệu, bảng hoặc cột mà người dùng có một số đặc quyền
Nếu không có cơ sở dữ liệu nào được cung cấp thì tất cả các cơ sở dữ liệu phù hợp sẽ được hiển thị. Nếu không có bảng nào được đưa ra, thì tất cả các bảng phù hợp trong cơ sở dữ liệu sẽ được hiển thị. Nếu không có cột nào được cung cấp, thì tất cả các cột và loại cột phù hợp trong bảng sẽ được hiển thị
Kiểm tra xem một bảng đã tồn tại trước khi tạo nó
Nếu bạn cần tạo bảng nếu nó không tồn tại, bạn có thể sử dụng mệnh đề
SELECT EXISTS [
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists'
];
2 của câu lệnh SELECT EXISTS [
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'music' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Artists'
];
3. Nếu bảng không tồn tại, nó sẽ được tạo. Nếu nó đã tồn tại, nó sẽ không được tạo ra