数据库测试.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import mysql.connector
  2. from mysql.connector import errorcode
  3. # 你的数据库连接配置
  4. config = {
  5. 'user': 'root',
  6. 'password': '123456',
  7. 'host': '127.0.0.1',
  8. 'database': 'card_score_database'
  9. }
  10. TABLES = {}
  11. TABLES['employees'] = (
  12. "CREATE TABLE `employees` ("
  13. " `id` int(11) NOT NULL AUTO_INCREMENT,"
  14. " `name` varchar(50) NOT NULL,"
  15. " `position` varchar(50) NOT NULL,"
  16. " `hire_date` date NOT NULL,"
  17. " PRIMARY KEY (`id`)"
  18. ") ENGINE=InnoDB")
  19. connection = None
  20. cursor = None
  21. database_name = "card_score_database"
  22. def connect_mysql():
  23. # 尝试连接
  24. connection = mysql.connector.connect(**config)
  25. print("成功连接到 MySQL 服务器!")
  26. # 获取一个游标对象
  27. cursor = connection.cursor()
  28. # 打印服务器版本信息
  29. cursor.execute("SELECT VERSION()")
  30. version = cursor.fetchone()
  31. print(f"数据库版本: {version[0]}")
  32. return connection, cursor
  33. def creat_database(cursor, database_name):
  34. cursor.execute(f"CREATE DATABASE IF NOT EXISTS {database_name} DEFAULT CHARACTER SET 'utf8mb4'")
  35. if __name__ == '__main__':
  36. connection, cursor = connect_mysql()
  37. # creat_database(cursor, database_name)
  38. # 创建 employees 表
  39. # cursor.execute(TABLES['employees'])
  40. # add_employee_sql = ("INSERT INTO employees "
  41. # "(name, position, hire_date) "
  42. # "VALUES (%s, %s, %s)")
  43. # employee_data = ('张三', '软件工程师', '2023-01-15')
  44. # cursor.execute(add_employee_sql, employee_data)
  45. # employee_id = cursor.lastrowid # 获取刚插入行的ID
  46. # print(f"成功插入一条记录, ID: {employee_id}")
  47. #
  48. # connection.commit()
  49. # 1. 查询所有员工
  50. query_all = "SELECT id, name, position, hire_date FROM employees"
  51. cursor.execute(query_all)
  52. print("\n--- 所有员工信息 ---")
  53. for row in cursor.fetchall():
  54. print(f"ID: {row['id']}, 姓名: {row['name']}, 职位: {row['position']}, 入职日期: {row['hire_date']}")