使用变量创建 SQLite Table

Create SQLite Table With Variable

我想创建三个表 fremdgehen.commolligundwillig.dereifer6.de

但是我无法将每个元素都转移到CREATE TABLE。为什么?

import sqlite3

con = sqlite3.connect('emails.db')
cur = con.cursor()

pages = ['fremdgehen.com', 'molligundwillig.de', 'reifer6.de']

for i in pages:
    try:
        sql_command = f'''
        CREATE TABLE {i} (
            email INTEGER,
            password VARCHAR,
            PRIMARY KEY (id));
        cur.executescript(sql_command)
        con.commit()
        '''
    except:
        pass

con.close()

由于 table 名称包含 . 字符,您必须对名称进行转义。

        sql_command = f'''
        CREATE TABLE `{i}` (
            email INTEGER,
            password VARCHAR,
            PRIMARY KEY (id));
        cur.executescript(sql_command)
        con.commit()
        '''

请注意,在 table 和列名中使用 . 是不方便的,因为 . 是数据库、table 和列名之间的分隔符。因此,您必须在所有查询中转义 table 名称。考虑在将 . 用作 table 名称之前将其删除以简化此操作。