如何在不用 MySQL 中的“select from”檢查表是否存在?


我們可以藉助 SHOW 命令來實現此目的。首先,我將藉助 USE 命令使用我的資料庫 −

mysql> USE business;
Database changed

我們現在位於“business”資料庫中。接下來,我們可以檢查此資料庫中有多少個可用的表。查詢如下 −

mysql> SHOW tables;

輸出如下

+------------------------+
| Tables_in_business     |
+------------------------+
| addcolumntable         |
| autoincrement          |
| autoincrementtable     |
| bookindexes            |
| chardemo               |
| clonestudent           | 
| columnvaluenulldemo    |
| dateadddemo            |
| deletedemo             |
| deleterecord           |
| demo                   |
| demo1                  |
| demoascii              |
| demoauto               |
| demobcrypt             |
| demoemptyandnull       |
| demoint                |
| demoonreplace          |
| demoschema             |
| distinctdemo           |
| duplicatebookindexes   |
| duplicatefound         |
| employeetable          |
| existsrowdemo          |
| findandreplacedemo     |
| firsttable             |
| foreigntable           |
| foreigntabledemo       |
| groupdemo              |
| groupdemo1             |
| incasesensdemo         |
| int1demo               |
| intdemo                |
| latandlangdemo         |
| limitoffsetdemo        |
| milliseconddemo        |
| modifycolumnnamedemo   |
| modifydatatype         |
| moneydemo              |
| moviecollection        |
| mytable                |
| nonasciidemo           |
| nthrecorddemo          |
| nulldemo               |
| nullwithselect         |
| pasthistory            |
| presenthistory         |
| primarytable           |
| primarytable1          |
| primarytabledemo       |
| rownumberdemo          |
| rowstranspose          |
| rowstransposedemo      |
| secondtable            |
| sequencedemo           |
| smallintdemo           |
| spacecolumn            |
| student                |
| tblfirst               |
| tblstudent             |
| tbluni                 |
| textdemo               |
| texturl                |
| trailingandleadingdemo |
| transcationdemo        |
| unsigneddemo           |
| updtable               |
| varchardemo            |
| varchardemo1           |
| varchardemo2           |
| varcharurl             |
| whereconditon          |
+------------------------+
72 rows in set (0.03 sec)

以下為我們可以在不使用 SELECT 語句的情況下檢查一個表是否存在的方法。

語法如下 −

SHOW tables like ‘yourTableName’;

現在,我應用上述查詢以檢查表是否存在於我的資料庫“business”中。

查詢如下 −

mysql> SHOW tables like 'tblstudent';

輸出如下

+---------------------------------+
| Tables_in_business (tblstudent) |
+---------------------------------+
| tblstudent                      |
+---------------------------------+
1 row in set (0.00 sec)

請檢視以上輸出,我的資料庫中可見表 ‘tblstudent’。當表不存在時的案例如下 −

mysql> SHOW tables like 'sampledemo';
Empty set (0.00 sec)

更新於: 25-6 月-2020

187 次瀏覽

Kickstart Your Career

完成課程後獲得認證

開始
廣告