@[TOC](sql实战 针对库中的所有表生成select count(*)对应的SQL语句)
问题描述
针对库中的所有表生成select count(*)对应的SQL语句,如数据库里有以下表,
(注:在 SQLite 中用 “||” 符号连接字符串,无法使用concat函数)
employees
departments
dept_emp
dept_manage
salaries
titles
emp_bonus
那么就会输出以下的样子:
cnts |
---|
select count(*) from employees; |
select count(*) from departments; |
select count(*) from dept_emp; |
select count(*) from dept_manager; |
select count(*) from salaries; |
select count(*) from titles; |
select count(*) from emp_bonus; |
Sql语句
转载https://www.nowcoder.com/questionTerminal/355036f7f0c8429a85281f7ac05b457a?f=discussion
在 Sqlite 系统表 sqlite_master 中可以获得所有表的索引,其中字段 name 是所有表的名字,而且对于自己创建的表而言,字段 type 永远是 ‘table’
select "select count(*) from " || name || ";" as cnts
from sqlite_master WHERE type = 'table';