mysql 查询怎么获取数据库下所有表的信息?
例如我有一个数据库叫cx下面有N个表cx_1cx_2cx_3等等等等......里面都有一个title字段我现在想一个sql语句查询cx下这N个表中所有ishot_key...
例如 我有一个数据库叫cx 下面有N个表 cx_1 cx_2 cx_3 等等等等...... 里面都有一个title字段 我现在想一个sql语句查询cx下这N个表中所有ishot_key = 1(审核通过)的信息 该如何去写?
select title from (这里的表名怎么写) where ishot_key = 1; 展开
select title from (这里的表名怎么写) where ishot_key = 1; 展开
6个回答
2016-01-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
show tables即为显示当前数据库中所有的表。又如:
mysql> use mysql
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
28 rows in set (0.05 sec)
这个是显示“mysql”这个数据库中的所有的表,一共有28张。
mysql> use mysql
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
28 rows in set (0.05 sec)
这个是显示“mysql”这个数据库中的所有的表,一共有28张。
展开全部
如果说你不知道有多少个 cx_1,,cx_100这种的表的话,
貌似直接SQL语句试了一下没法查的好像,
我建议是
结合PHP代码,先查询出该库所有的表,(或者满足cx_这种格式的表),
然后循环查询出数据,
大概像下面这样,
//数据库参数
$params = array(
'host' => 'localhost',
'user' => 'root',
'pwd' => '',
'db' => 'test',
);
$conn = mysql_connect($params['host'], $params['user'], $params['pwd']);
mysql_select_db($params['db'], $conn);
mysql_query("set names 'UTF-8'");
$sql = "show tables"; //查询表语句
$res = mysql_query($sql);
$result = array();
while($row = mysql_fetch_array($res)){
$key = "Tables_in_" . $params['db'];
//所有的TABLE_NAME存进数组
//如果只需要 CX_这种格式,可以再匹配下
$result[] = $row[$key];
}
foreach ($result as $v) {
//$v是表名
$sql = '';
//执行代码
}
追问
$key = "Tables_in_" . $params['db']; 这句什么意思?
追答
你在数据库命令行下运行这条命令, show tables; 出来的会是表的列表,
但用PHP查询,会是这样的结构
array(
0 => array(
'Tables_in_test' => 'abc'
),
)
这里的test,就是你当前查询的数据库名,
你自己试着打印下就知道了,
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
创建一个数据库之后,数据库里面默认情况下是空空如也,一张表都没有的。
代码如下:
mysql> show tables;
Empty set (0.00 sec)
提示是一个空的记录集,表示里面没有任何记录。
这个show tables即为显示当前数据库中所有的表。又如:
mysql> use mysql
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
28 rows in set (0.05 sec)
这个是显示“mysql”这个数据库中的所有的表,一共有28张。
代码如下:
mysql> show tables;
Empty set (0.00 sec)
提示是一个空的记录集,表示里面没有任何记录。
这个show tables即为显示当前数据库中所有的表。又如:
mysql> use mysql
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
28 rows in set (0.05 sec)
这个是显示“mysql”这个数据库中的所有的表,一共有28张。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以使用union来查询的,
SELECT a AS b FROM t) UNION (SELECT ...)
SELECT a AS b FROM t) UNION (SELECT ...)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select title from (select table_name from 'cx') as 'tbname') where ishot_key = 1;试下行不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询