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里面加不加都行