1.怎樣查詢某個字段在哪個表
SELECT COLUMN_NAME,TABLE_NAME,TABLE_SCHEMA FROM INFORMATION_SCHEMA.columns WHERE COLUMN_NAME='字段名';
上面的這條語句只有我標註成漢字的地方需要替換,別的不需要改
COLUMN_NAME表示字段名
TABLE_NAME表示表名
TABLE_SCHEMA 表示數據庫名
這條語句會檢索全部數據庫,如果不想查詢全部數據庫,就在where後面加上數據庫的限制------------
SELECT COLUMN_NAME,TABLE_NAME,TABLE_SCHEMA FROM INFORMATION_SCHEMA.columns WHERE COLUMN_NAME='XXXXXX' and TABLE_SCHEMA='數據庫名';
注意:
①如果庫特別多,查詢時間會有點長,看這個運行按鈕是不是變成灰色的,就能知道在沒在運行,如果是灰色的,並且沒有報錯,就再等等結果吧.
(正常的)
(灰色的,能看出顏色淡了一些)
②如果出現下圖中的情況,是沒查到有這個字段
可以檢查是不是字段名寫錯了,因爲代碼中實體類的屬性和數據庫中字段名的命名規則是不同的,比如下劃線/大小寫
2.怎樣查詢某個庫中的某個表的全部字段
select column_name from Information_schema.columns where table_Name = '表名' and TABLE_SCHEMA='數據庫名';
上面的這條語句只有我標註成漢字的地方需要替換,別的不需要改
如果不想只查這一個庫的就把"and"以及後面的部分去掉
3.查詢某個數據庫中全部表名
select table_name from information_schema.tables where table_schema='數據庫名';
題外話:
我在整理這個語句的時候看到有人說,一定要區分大小寫,但是我在doc窗口還有navicat上面大小寫都可以.
除此之外,doc窗口裏面sql後面要加分號,但是navicat裏面加不加都行