我需要为每个表格分配一个任务,计算可空列。很简单:
SELECT table_name, count(*) FROM INFORMATION_SCHEMA.COLUMNS
WHERE is_nullable='NO'
GROUP BY table_name;
现在我需要修改代码来计算“具有“NOT NULL”属性的列”的数量。以下代码是否可以实现此功能,还是仅检查列名是否不为空?CREATE TEMP TABLE A AS
SELECT DISTINCT column_name, table_name AS name FROM INFORMATION_SCHEMA.COLUMNS
WHERE column_name IS NOT NULL
GROUP BY table_name, column_name;
SELECT name, count(*) FROM A
GROUP BY name;
如果没有任何特定的需求,那么可以考虑使用Python自带的sqlite3模块进行数据库操作。
如果需要更复杂的功能,可以尝试使用第三方库,例如SQLAlchemy或Peewee。这些库提供了更高级的ORM(对象关系映射)功能,使得数据库操作更加容易和直观。
有什么建议吗?
NOT NULL PRIMARY KEY
或仅为PRIMARY KEY
将 is_nullable 设置为 'NO'。显式声明为 NULL 和隐式声明为 NULL 的列将 is_nullable 设置为 'YES'。 - Mike Sherrill 'Cat Recall'