Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หาตารางที่มีคอลัมน์เฉพาะในฐานข้อมูล MySQL

ใช้ COLUMN_NAME ใน information_schema.columns เพื่อหาว่าตารางไหนในฐานข้อมูลมีคอลัมน์ที่ต้องการครับ

สร้างตารางตัวอย่าง

mysql> create table DemoTable (
    -> CustomerId int,
    -> CustomerName varchar(20),
    -> CustomerCountryName varchar(100)
    -> );
Query OK, 0 rows affected (1.05 sec)

คำสั่งหาตารางที่มีคอลัมน์ "CustomerCountryName"

mysql> select * from information_schema.columns WHERE COLUMN_NAME = 'CustomerCountryName';

ผลลัพธ์

+---------------+--------------+--------------+---------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+--------------+------------+-------+---------------------------------+----------------+-----------------------+-------+
| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME   | COLUMN_NAME         | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME | COLUMN_TYPE | COLUMN_KEY | EXTRA | PRIVILEGES                      | COLUMN_COMMENT | GENERATION_EXPRESSION | SRS_ID |
+---------------+--------------+--------------+---------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+--------------+------------+-------+---------------------------------+----------------+-----------------------+-------+
| def           | sample       | demotable189 | CustomerCountryName | 4                | NULL           | YES         | varchar   | 100                      | 300                    | NULL              | NULL          | NULL               | utf8               | utf8_general_ci | varchar(100) |            |       | select,insert,update,references |                | NULL                  | NULL   |
| def           | web          | DemoTable    | CustomerCountryName | 4                | NULL           | YES         | varchar   | 20                       | 60                     | NULL              | NULL          | NULL               | utf8               | utf8_unicode_ci | varchar(20)  |            |       | select,insert,update,references |                | NULL                  | NULL   |
| def           | web          | DemoTable    | CustomerCountryName | 3                | NULL           | YES         | varchar   | 100                      | 300                    | NULL              | NULL          | NULL               | utf8               | utf8_unicode_ci | varchar(100) |            |       | select,insert,update,references |                | NULL                  | NULL   |
+---------------+--------------+--------------+---------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+--------------+------------+-------+---------------------------------+----------------+-----------------------+-------+
3 rows in set (0.68 sec)

คอลัมน์ "CustomerCountryName" อยู่ใน 3 ตาราง (รวมตารางใน schema sample และ web)