@(一隻心中無碼的程序員)專欄程序員
- ~
針對庫中的全部表生成select count(*)對應的SQL語句
CREATE TABLE employees
(emp_no
int(11) NOT NULL,birth_date
date NOT NULL,first_name
varchar(14) NOT NULL,last_name
varchar(16) NOT NULL,gender
char(1) NOT NULL,hire_date
date NOT NULL,
PRIMARY KEY (emp_no
));
create table emp_bonus(
emp_no int not null,
recevied datetime not null,
btype smallint not null);
CREATE TABLE dept_emp
(emp_no
int(11) NOT NULL,dept_no
char(4) NOT NULL,from_date
date NOT NULL,to_date
date NOT NULL,
PRIMARY KEY (emp_no
,dept_no
));
CREATE TABLE dept_manager
(dept_no
char(4) NOT NULL,emp_no
int(11) NOT NULL,from_date
date NOT NULL,to_date
date NOT NULL,
PRIMARY KEY (emp_no
,dept_no
));
CREATE TABLE salaries
(emp_no
int(11) NOT NULL,salary
int(11) NOT NULL,from_date
date NOT NULL,to_date
date NOT NULL,
PRIMARY KEY (emp_no
,from_date
));sql
本題主要有如下兩個關鍵點: 一、在 SQLite 系統表 sqlite_master 中能夠得到全部表的索引,其中字段 name 是全部表的名字,並且對於本身建立的表而言,字段 type 永遠是 'table',詳情可參考: http://blog.csdn.net/xingfeng0501/article/details/7804378 二、在 SQLite 中用 「||」 符號鏈接字符串 SELECT "select count(*) from " || name || ";" AS cnts FROM sqlite_master WHERE type = 'table'