我需要在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中检查列和索引是否有一个很好的IF NOT EXISTS,或者我是否需要恢复整个数据库模式并对其进行验证?
我需要在python中执行一个SQL查询,在sqlite3中添加一个新列.
问题是有时它已经存在.因此,在执行查询之前,我需要检查列是否已存在.
如果是,那么我将不执行查询.
在sqlite中有没有办法做到这一点?或者我必须通过python代码中的try-catch块来实现它?
非常感谢提前!