提示信息

爱心代码示例的Python实现Python实战:MySQL数据库操作全流程详解

如果 已关注

在Python中操作MySQL数据库,通常使用MySQL Connector库或SQLAlchemy库。下面是一个使用MySQL Connector进行数据库操作的完整示例。请确保你的系统已经安装了mysql-connector-python库,可以通过pip install mysql-connector-python来安装。

以下是一个关于如何连接到MySQL数据库并进行基本CRUD(创建、读取、更新、删除)操作的示例:

  1. import mysql.connector
  2. from mysql.connector import Error
  3. # 连接到MySQL数据库
  4. def create_connection():
  5. try:
  6. connection = mysql.connector.connect(
  7. host='localhost', # 替换为你的数据库主机地址
  8. user='your_username', # 替换为你的数据库用户名
  9. password='your_password', # 替换为你的数据库密码
  10. database='your_database_name' # 替换为你的数据库名
  11. )
  12. if connection.is_connected():
  13. print("Connected to MySQL database")
  14. return connection
  15. except Error as e:
  16. print(f"Error: {e}")
  17. return None
  18. # 创建表
  19. def create_table(connection):
  20. create_table_query = """
  21. CREATE TABLE IF NOT EXISTS users (
  22. id INT AUTO_INCREMENT PRIMARY KEY,
  23. name VARCHAR(255) NOT NULL,
  24. age INT NOT NULL,
  25. gender ENUM('Male', 'Female') NOT NULL
  26. );
  27. """
  28. cursor = connection.cursor()
  29. try:
  30. cursor.execute(create_table_query)
  31. connection.commit()
  32. print("Table created successfully")
  33. except Error as e:
  34. print(f"Error creating table: {e}")
  35. # 插入数据
  36. def insert_data(connection):
  37. insert_query = """
  38. INSERT INTO users (name, age, gender) VALUES (%s, %s, %s)
  39. """
  40. records_to_insert = [
  41. ('Alice', 30, 'Female'),
  42. ('Bob', 24, 'Male'),
  43. ('Charlie', 29, 'Male')
  44. ]
  45. cursor = connection.cursor()
  46. try:
  47. cursor.executemany(insert_query, records_to_insert)
  48. connection.commit()
  49. print(cursor.rowcount, "records inserted successfully")
  50. except Error as e:
  51. print(f"Error inserting data: {e}")
  52. # 查询数据
  53. def read_data(connection):
  54. select_query = "SELECT * FROM users"
  55. cursor = connection.cursor()
  56. try:
  57. cursor.execute(select_query)
  58. records = cursor.fetchall()
  59. print("Records in the users table:")
  60. for row in records:
  61. print(row)
  62. except Error as e:
  63. print(f"Error reading data: {e}")
  64. # 更新数据
  65. def update_data(connection):
  66. update_query = """
  67. UPDATE users SET age = %s WHERE name = %s
  68. """
  69. data = (28, 'Alice')
  70. cursor = connection.cursor()
  71. try:
  72. cursor.execute(update_query, data)
  73. connection.commit()
  74. print(cursor.rowcount, "record(s) updated successfully")
  75. except Error as e:
  76. print(f"Error updating data: {e}")
  77. # 删除数据
  78. def delete_data(connection):
  79. delete_query = "DELETE FROM users WHERE name = %s"
  80. data = ('Charlie',)
  81. cursor = connection.cursor()
  82. try:
  83. cursor.execute(delete_query, data)
  84. connection.commit()
  85. print(cursor.rowcount, "record(s) deleted successfully")
  86. except Error as e:
  87. print(f"Error deleting data: {e}")
  88. # 主函数
  89. def main():
  90. connection = create_connection()
  91. if connection is not None:
  92. create_table(connection)
  93. insert_data(connection)
  94. read_data(connection)
  95. update_data(connection)
  96. read_data(connection)
  97. delete_data(connection)
  98. read_data(connection)
  99. connection.close()
  100. if __name__ == "__main__":
  101. main()

说明:

  1. 连接到数据库: 使用mysql.connector.connect()方法连接到MySQL数据库。
  2. 创建表: 使用SQL语句创建users表。
  3. 插入数据: 使用executemany()方法批量插入数据。
  4. 查询数据: 使用execute()方法执行查询并遍历结果。
  5. 更新数据: 使用execute()方法更新特定记录。
  6. 删除数据: 使用execute()方法删除特定记录。

请根据你的实际需求替换数据库连接信息,并确保在执行此代码之前MySQL服务器正在运行。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
如果 关注 已关注

最近一次登录:2024-11-20 10:17:40   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图