| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- # -*- coding: utf-8 -*-
- from unicodedata import category
- import mysql.connector
- from mysql.connector import Error
- # 配置数据库连接
- DB_CONFIG = {
- 'host': '60.204.139.57',
- 'user': 'root',
- 'password': '1',
- 'port': 6003,
- 'database': 'files' # 替换为数据库名称
- }
- # 初始化数据库
- def initialize_files_database():
- try:
- # 连接 MySQL 服务器(不指定数据库)
- connection = mysql.connector.connect(
- host=DB_CONFIG['host'],
- user=DB_CONFIG['user'],
- password=DB_CONFIG['password'],
- port=DB_CONFIG['port']
- )
- if connection.is_connected():
- print("成功连接到 MySQL 服务器")
- cursor = connection.cursor()
- # 检查数据库是否存在
- cursor.execute(f"SHOW DATABASES LIKE '{DB_CONFIG['database']}';")
- result = cursor.fetchone()
- if result:
- print(f"数据库 {DB_CONFIG['database']} 已存在。")
- else:
- print(f"数据库 {DB_CONFIG['database']} 不存在,正在创建...")
- cursor.execute(f"CREATE DATABASE {DB_CONFIG['database']};")
- print(f"数据库 {DB_CONFIG['database']} 创建成功。")
- except Error as err:
- print(f"连接 MySQL 时发生错误:{err}")
- finally:
- if connection.is_connected():
- cursor.close()
- connection.close()
- print("MySQL 服务器连接已关闭")
- # 初始化表
- def initialize_files_table(table_name = "category"):
- try:
- connection = mysql.connector.connect(**DB_CONFIG)
- if connection.is_connected():
- cursor = connection.cursor()
- # 动态创建表
- create_table_query = f'''
- CREATE TABLE IF NOT EXISTS `{table_name}` (
- id INT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(255),
- url VARCHAR(255)
- )
- '''
- cursor.execute(create_table_query)
- print(f"表 {table_name} 初始化成功。")
- except Error as err:
- print(f"初始化表时发生错误:{err}")
- finally:
- if connection.is_connected():
- cursor.close()
- connection.close()
- print("MySQL 连接已关闭")
- # 插入数据
- def insert_url(name, url, table_name="category"):
- try:
- connection = mysql.connector.connect(**DB_CONFIG)
- if connection.is_connected():
- cursor = connection.cursor()
- # 确保目标文件表存在
- initialize_files_table(table_name)
- # 插入文件数据到目标表
- insert_query = f"INSERT INTO `{table_name}` (name, url) VALUES (%s, %s)"
- cursor.execute(insert_query, (name, url))
- connection.commit()
- print(f"插入文件数据成功:({name}, {url}) 到表 {table_name}")
- # 确保 category 表存在
- initialize_files_table("category")
- # 插入表名到 category 表
- insert_query = "INSERT IGNORE INTO `category` (name) VALUES (%s)"
- cursor.execute(insert_query, (table_name,))
- connection.commit()
- print(f"插入表名成功:({table_name}) 到表 category")
- except Error as err:
- print(f"插入数据时发生错误:{err}")
- finally:
- if connection.is_connected():
- cursor.close()
- connection.close()
- print("MySQL 连接已关闭")
- # 查询数据
- def fetch_data(table_name):
- try:
- connection = mysql.connector.connect(**DB_CONFIG)
- if connection.is_connected():
- cursor = connection.cursor()
- # 查询数据
- query = f"SELECT * FROM `{table_name}`"
- cursor.execute(query)
- rows = cursor.fetchall()
- print(f"--- 表 {table_name} 的查询结果 ---")
- for row in rows:
- print(row)
- return rows
- except Error as err:
- print(f"查询数据时发生错误:{err}")
- finally:
- if connection.is_connected():
- cursor.close()
- connection.close()
- print("MySQL 连接已关闭")
- # 主函数
- if __name__ == "__main__":
- # 初始化数据库
- initialize_files_database()
- # 示例:插入和查询数据
- table_name = "filePath"
- insert_url("example_file.mp4", table_name)
- fetch_data(table_name)
|