MySQL如何查詢某個表是否存在

2022-04-03 06:07:46 字數 1182 閱讀 5979

常用的方法如下:

show tables like '%tb_bp_d_case%';

selecttable_namefrominformation_schema.tableswheretable_schema='dbname' andtable_name='tablename' ;

需要考慮的是許可權問題

mysql 的授權分為 5 層:全域性層級,資料庫層級,表層級,列層級,子程式層級;

show tables,並不在priv_type列表中,也就是說只要能連線到mysql上都可以執行。

如果使用者許可權是 表層級或者是列層級 的,那麼 show tables; 只能看到有許可權的表名。

如果 查詢 information_schema 庫的話,也是一樣的,只能查詢到有許可權的表。

如果說乙個使用者的許可權不是資料庫層級以上的話就會導致結果不可信賴。

類似下邊的授權就不用擔心這個問題(priv_type隨便什麼都行):

grant priv_type on dbname

.*to

.....

--資料庫層級

--or

grant priv_type on

*.*to

.....

--全域性層級

如果上邊寫的沒看明白,那麼繼續看下邊乙個例子:

如:資料庫有 test1,test2 ,...

test1 庫中有表,abc ,ab ,abb, a 四個表

授權語句:

grant insert on test1

.a to user1@

"%"identified

by"user1"

當用 user1 連線後,選擇 test1 資料庫後執行:

show tables; -- 結果只要 a 乙個表。同樣的 show tables like "a%"; --結果也只有表 a

select

table_name

from

information_schema

.tables

where

table_schema

='test1';--

結果也是只要乙個表a

Mysql查詢 如何判斷某欄位是否包含某個字串?

今天乙個群有人向我求助這樣乙個問題,它的mysql表結構和表資料如下圖 mysql查詢 如何判斷某欄位是否包含某個字串 現在,這位群友的要求是 title欄位有1和3的都要查出來,應該如何做?1 單個值查詢使用myql函式 find in set select fromby contentwhere...

ASP程式如何判斷是否存某個名字的節點

xml檔案 aaa bbb bbb aaa2 bbb2 bbb2 aaa3 bbb4 bbb4 asp程式如何判斷是否存在b2 節點,以便繼續讀取b2 節點內的資料。不是判斷是否有子節點 有的情況不存在b2 節點,導致程式執行錯誤 我用node root.selectsinglenode b2 if...

Mysql查詢如何判斷字段是否包含某個字串

mysql查詢如何判斷字段是否包含某個字串 有這樣乙個需求,在mysql 資料庫字串字段 許可權 中,使用者有多個不同的郵箱,分別被 分開,現在要取出某個郵箱的所有成員列表。假設有個表 create table users id int 6 not null auto increment,prima...