什么SQL可以用来列出表,以及在SQLite数据库文件中的这些表中的行-一旦我已经附加了它与SQLite 3命令行工具上的ATTACH命令?
当前回答
”。Schema " commando将列出可用的表及其行,通过显示用于创建上述表的语句:
sqlite> create table_a (id int, a int, b int); sqlite> .schema table_a CREATE TABLE table_a (id int, a int, b int);
其他回答
在SQLite数据库中查看表有几个步骤:
列出数据库中的表: .tables 列出表格的外观: . schema的表 打印整个表格: SELECT * FROM tablename; 列出所有可用的SQLite提示命令: .help
使用.da查看所有数据库-其中一个被称为“main”。
该数据库的表可以通过以下方式查看:
SELECT distinct tbl_name from sqlite_master order by 1;
附加的数据库需要在ATTACH语句中用AS选择前缀,例如aa (, bb, cc…),因此:
SELECT distinct tbl_name from **aa.sqlite_master** order by 1;
请注意,在这里您也可以获得视图。要排除这些,请添加:
where type = 'table'
在order之前
对于SQLite 3的最新版本,您可以发布:
.fullschema
查看所有的create语句。
最简单的方法是直接打开数据库并使用.dump命令,而不是在调用SQLite 3 shell工具后附加它。
所以…(假设你的操作系统命令行提示符是$)而不是$sqlite3:
sqlite3> ATTACH database.sqlite as "attached"
从你的操作系统命令行,直接打开数据库:
$sqlite3 database.sqlite
sqlite3> .dump
看起来你需要遍历sqlite_master表,就像这样:
SELECT * FROM dbname.sqlite_master WHERE type='table';
然后用SELECT或类似的方法手动遍历每个表以查看行。
. dump和. schema命令似乎根本看不到数据库。
推荐文章
- 在SQL server查询中将NULL替换为0
- 在SQL中修改表的模式名
- 如何在SQL Server 2005的一条语句中更新两个表?
- 如何创建临时表与SELECT * INTO tempTable从CTE查询
- 用于查找计数为>的记录的SQL查询
- “从Table1左连接Table2”和“从Table2右连接Table1”可以互换吗?
- SQLite并发访问
- 在SQL Server的选择语句中使用带TOP的变量,而不是动态的
- 自然连接和内部连接的区别
- MySQL现在()+1天
- 在SQL中转换月号到月名函数
- 不可重复读和幻影读的区别是什么?
- 改变一个varchar列的最大长度?
- 外键约束:何时使用ON UPDATE和ON DELETE
- 如何连接字符串与填充在sqlite