相关疑难解决方法(0)

通过SQL查询获取特定数据库的所有表名?

我正在开发可以处理多个数据库服务器的应用程序,如"MySQL"和"MS SQL Server".

我想使用适用于所有数据库类型的通用查询来获取特定数据库的表名.我试过以下:

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
Run Code Online (Sandbox Code Playgroud)

但它给出了特定服务器的所有数据库的表名,但我想获取所选数据库的表名.如何限制此查询以获取特定数据库的表?

sql sql-server

283
推荐指数
10
解决办法
106万
查看次数

SQLite架构信息元数据

我需要在SQLite数据库中获取列名及其表.我需要的是一个包含2列的结果集:table_name | column_name.

在MySQL中,我能够通过数据库上的SQL查询获取此信息INFORMATION_SCHEMA.但是SQLite提供了表sqlite_master:

sqlite> create table students (id INTEGER, name TEXT);
sqlite> select * from sqlite_master;
  table|students|students|2|CREATE TABLE students (id INTEGER, name TEXT)
Run Code Online (Sandbox Code Playgroud)

这导致DDL构造查询(CREATE TABLE)对我没有帮助,我需要解析它以获取相关信息.

我需要获取表的列表并将它们与列连接,或者只获取列和表名列.所以PRAGMA table_info(TABLENAME)不适合我,因为我没有表名.我想获取数据库中的所有列元数据.

有没有更好的方法通过查询数据库来获取结果集的信息?

sqlite information-schema

44
推荐指数
3
解决办法
7万
查看次数

如何在android sqlite数据库中获取所有表名?

我试过这段代码

 Cursor c=db.rawQuery("SELECT name FROM sqlite_master WHERE type = 'table'",null);

 c.moveToFirst();

 while(!c.isAfterLast()){

Toast.makeText(activityName.this, "Table Name=> "+c.getString(0), Toast.LENGTH_LONG).show();

}
Run Code Online (Sandbox Code Playgroud)

但它会引发错误 "android.database.sqlite.SQLiteException: no such table: sqlite_master(code 1):,while compiling: SELECT name FROM sqlite_master WHERE type='table'"

如何获取所有表名?帮我

提前致谢..

java sqlite android

36
推荐指数
4
解决办法
5万
查看次数

标签 统计

sqlite ×2

android ×1

information-schema ×1

java ×1

sql ×1

sql-server ×1