files.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. # -*- coding: utf-8 -*-
  2. from unicodedata import category
  3. import mysql.connector
  4. from mysql.connector import Error
  5. # 配置数据库连接
  6. DB_CONFIG = {
  7. 'host': '60.204.139.57',
  8. 'user': 'root',
  9. 'password': '1',
  10. 'port': 6003,
  11. 'database': 'files' # 替换为数据库名称
  12. }
  13. # 初始化数据库
  14. def initialize_files_database():
  15. try:
  16. # 连接 MySQL 服务器(不指定数据库)
  17. connection = mysql.connector.connect(
  18. host=DB_CONFIG['host'],
  19. user=DB_CONFIG['user'],
  20. password=DB_CONFIG['password'],
  21. port=DB_CONFIG['port']
  22. )
  23. if connection.is_connected():
  24. print("成功连接到 MySQL 服务器")
  25. cursor = connection.cursor()
  26. # 检查数据库是否存在
  27. cursor.execute(f"SHOW DATABASES LIKE '{DB_CONFIG['database']}';")
  28. result = cursor.fetchone()
  29. if result:
  30. print(f"数据库 {DB_CONFIG['database']} 已存在。")
  31. else:
  32. print(f"数据库 {DB_CONFIG['database']} 不存在,正在创建...")
  33. cursor.execute(f"CREATE DATABASE {DB_CONFIG['database']};")
  34. print(f"数据库 {DB_CONFIG['database']} 创建成功。")
  35. except Error as err:
  36. print(f"连接 MySQL 时发生错误:{err}")
  37. finally:
  38. if connection.is_connected():
  39. cursor.close()
  40. connection.close()
  41. print("MySQL 服务器连接已关闭")
  42. # 初始化表
  43. def initialize_files_table(table_name = "category"):
  44. try:
  45. connection = mysql.connector.connect(**DB_CONFIG)
  46. if connection.is_connected():
  47. cursor = connection.cursor()
  48. # 动态创建表
  49. create_table_query = f'''
  50. CREATE TABLE IF NOT EXISTS `{table_name}` (
  51. id INT AUTO_INCREMENT PRIMARY KEY,
  52. name VARCHAR(255),
  53. url VARCHAR(255)
  54. )
  55. '''
  56. cursor.execute(create_table_query)
  57. print(f"表 {table_name} 初始化成功。")
  58. except Error as err:
  59. print(f"初始化表时发生错误:{err}")
  60. finally:
  61. if connection.is_connected():
  62. cursor.close()
  63. connection.close()
  64. print("MySQL 连接已关闭")
  65. # 插入数据
  66. def insert_url(name, url, table_name="category"):
  67. try:
  68. connection = mysql.connector.connect(**DB_CONFIG)
  69. if connection.is_connected():
  70. cursor = connection.cursor()
  71. # 确保目标文件表存在
  72. initialize_files_table(table_name)
  73. # 插入文件数据到目标表
  74. insert_query = f"INSERT INTO `{table_name}` (name, url) VALUES (%s, %s)"
  75. cursor.execute(insert_query, (name, url))
  76. connection.commit()
  77. print(f"插入文件数据成功:({name}, {url}) 到表 {table_name}")
  78. # 确保 category 表存在
  79. initialize_files_table("category")
  80. # 插入表名到 category 表
  81. insert_query = "INSERT IGNORE INTO `category` (name) VALUES (%s)"
  82. cursor.execute(insert_query, (table_name,))
  83. connection.commit()
  84. print(f"插入表名成功:({table_name}) 到表 category")
  85. except Error as err:
  86. print(f"插入数据时发生错误:{err}")
  87. finally:
  88. if connection.is_connected():
  89. cursor.close()
  90. connection.close()
  91. print("MySQL 连接已关闭")
  92. # 查询数据
  93. def fetch_data(table_name):
  94. try:
  95. connection = mysql.connector.connect(**DB_CONFIG)
  96. if connection.is_connected():
  97. cursor = connection.cursor()
  98. # 查询数据
  99. query = f"SELECT * FROM `{table_name}`"
  100. cursor.execute(query)
  101. rows = cursor.fetchall()
  102. print(f"--- 表 {table_name} 的查询结果 ---")
  103. for row in rows:
  104. print(row)
  105. return rows
  106. except Error as err:
  107. print(f"查询数据时发生错误:{err}")
  108. finally:
  109. if connection.is_connected():
  110. cursor.close()
  111. connection.close()
  112. print("MySQL 连接已关闭")
  113. # 主函数
  114. if __name__ == "__main__":
  115. # 初始化数据库
  116. initialize_files_database()
  117. # 示例:插入和查询数据
  118. table_name = "filePath"
  119. insert_url("example_file.mp4", table_name)
  120. fetch_data(table_name)