查询数据库中所有表名 select table_name from information_schema.tables where table_schema='csdb' and table_type='base table'; 查询指定数据库中指定表的所有字段名 select column_name from information_schema.columns where table_schema='csdb' and table_name='users';
( select ID,数据库原字段名1 AS 统一字段名1,数据库原字段名2 AS 统一字段名2 from 第一个表名 WHERE 1) UNION(联合表查询)( select ID,数据库原字段名1 AS 统一字段名1,数据库原字段名2 AS 统一字段名2 from 第二个表名 WHERE 1) UNION(联合表查询) ( select ID,数据库原字段名1 AS 统一字段名1,数据库原字段名2 AS 统一字段名2 from 第三个表名 WHERE 1) UNION(联合表查询) or
mysql使用sql查询表名的两种方法: 1.show tables; 2.SELECT TABLE_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=’dbname';–dbname为mysql的数据库名称 查询指定数据库中指定表的所有字段名 select column_name from information_schema.columns where table_schema=’YOURDATABASENAM
前言:最近遇到一个需求,需要给一个数据库所有的表添加一个字段,但是一些后创建的表已经有了这个字段,所以引发了下文. *注释 columnName 字段名 dbName 数据库名 #查询指定库拥有某字段的表 AND TABLE_NAME NOT LIKE 'vw%' 注释:排除视图 SELECT DISTINCT TABLE_NAME FROM information_schema.COLUMNS WHERE COLUMN_NAME = 'columnName' AND TABLE_SCHEM
在设计MySQL字段的时候,无意中使用InOut这个名称作为字段名称,结果前端提交后就是没有写入数据库!但后端没有任何提示,跟踪mySQL日志,也没有留下痕迹,反复查,不得其解. 后来实在没有办法情况下,之后把表删除,重新手动建一次表,就在再次建表的时候,灵光一现,可能就出在InOut这个名字上,于是改为In_Out,果不出其然,一切OK. 原因是InOut是mySQL的保留字,不能作为字段名. MySQL保留字如下: Table 9.2 Keywords and Reserved Word
在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是: SELECT col FROM table WHERE length(col)!=char_length(col) 网上搜索有很多种查询方法,但是试了很多都不行,这个是找到的可以使用的查询方法,原理其实很简单,当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的. # 以下这两个方法查询字段中是否包含中文 SELECT country FROM