modify
This commit is contained in:
@ -38,9 +38,25 @@ def alter_chapters_table():
|
||||
table_name = f'{tbl_name_chapters_prefix}_{i}'
|
||||
add_columns_to_table(table_name)
|
||||
|
||||
# 检查是否存在,已存在的先删除
|
||||
def check_view_exist(view_name):
|
||||
cursor.execute("SELECT name FROM sqlite_master WHERE type='view' AND name=?", (view_name,))
|
||||
if cursor.fetchone():
|
||||
try:
|
||||
# 删除已存在的视图
|
||||
drop_view_sql = f"DROP VIEW {view_name};"
|
||||
cursor.execute(drop_view_sql)
|
||||
conn.commit()
|
||||
except sqlite3.Error as e:
|
||||
print(f"删除视图 {view_name} 时出错: {e}")
|
||||
|
||||
|
||||
def create_finished_view():
|
||||
# 生成视图创建 SQL 代码
|
||||
view_sql = "CREATE VIEW view_completed_book_ids AS\n"
|
||||
view_name = 'view_completed_book_ids'
|
||||
check_view_exist(view_name=view_name)
|
||||
|
||||
view_sql = f"CREATE VIEW {view_name} AS\n"
|
||||
first_query = True
|
||||
for i in range(100):
|
||||
table_name = f'{tbl_name_chapters_prefix}_{i}'
|
||||
@ -56,10 +72,60 @@ def create_finished_view():
|
||||
try:
|
||||
cursor.execute(view_sql)
|
||||
conn.commit()
|
||||
print("视图创建成功")
|
||||
print(f"视图 {view_name} 创建成功。")
|
||||
except sqlite3.Error as e:
|
||||
print(f"视图创建失败: {e}")
|
||||
print(f"创建视图 {view_name} 时出错: {e}")
|
||||
|
||||
def create_finished_books_info_view():
|
||||
# 视图名称
|
||||
view_name = 'view_completed_books_info'
|
||||
check_view_exist(view_name=view_name)
|
||||
|
||||
# 视图创建 SQL 语句
|
||||
view_sql = f"""
|
||||
CREATE VIEW {view_name} AS
|
||||
SELECT
|
||||
b.id,
|
||||
b.rank,
|
||||
b.category,
|
||||
b.name,
|
||||
b.href,
|
||||
b.num,
|
||||
b.author,
|
||||
b.tickets,
|
||||
b.update_time,
|
||||
b.status,
|
||||
b.total_words,
|
||||
b.total_clicks,
|
||||
b.month_clicks,
|
||||
b.week_clicks,
|
||||
b.total_recommend,
|
||||
b.month_recommend,
|
||||
b.week_recommend,
|
||||
b.created_time,
|
||||
b.start_page_href,
|
||||
b.start_page_num,
|
||||
b.table_of_contents_href,
|
||||
b.is_latest,
|
||||
b.created_at,
|
||||
b.updated_at
|
||||
FROM
|
||||
{tbl_name_books} b
|
||||
JOIN
|
||||
view_completed_book_ids c ON b.id = c.book_id;
|
||||
"""
|
||||
try:
|
||||
# 执行视图创建 SQL 语句
|
||||
cursor.execute(view_sql)
|
||||
conn.commit()
|
||||
print(f"视图 {view_name} 创建成功。")
|
||||
except sqlite3.Error as e:
|
||||
print(f"创建视图 {view_name} 时出错: {e}")
|
||||
|
||||
def create_views():
|
||||
create_finished_view()
|
||||
create_finished_books_info_view()
|
||||
|
||||
# 使用示例
|
||||
if __name__ == "__main__":
|
||||
create_finished_view()
|
||||
create_views()
|
||||
Reference in New Issue
Block a user