【MySQL数据库】--SQLyog创建数据库+python连接
目录
1.连接本地数据库
2.创建数据库和表
3.使用 python读取数据
1.连接本地数据库
进入SQLyog
2.创建数据库和表
创建数据库gyp_test:
CREATE DATABASE gyp_test
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
创建表student_grade:
CREATE TABLE IF NOT EXISTS gyp_test.student_scores (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,chinese INT,math INT,english INT,total INT
);
插入数据:
INSERT INTO gyp_test.student_scores (name, chinese, math, english, total)
VALUES ('张三', 95, 97, 99, 291),('李四', 73, 85, 95, 253),('王二', 88, 83, 96, 267),('周五', 92, 88, 93, 273),('马六', 85, 91, 97, 273); -- 修正总分
允许中文字符:
-- 1. 修改数据库字符集
ALTER DATABASE gyp_test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;-- 2. 修改表字符集
ALTER TABLE gyp_test.student_scores CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;-- 3. 确保列的字符集
ALTER TABLE gyp_test.student_scores MODIFY name VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3.使用 python读取数据
import pymysql
import pandas as pddef fetch_student_scores():try:# 建立数据库连接 connection = pymysql.connect(host='localhost', # 数据库服务器地址user='root', # 数据库用户名password='****', # 数据库密码database='gyp_test', # 数据库名称port=3306, # MySQL默认端口charset='utf8mb4', # 字符集cursorclass=pymysql.cursors.DictCursor # 返回字典格式的结果)print("成功连接到MySQL数据库")# 创建游标对象 with connection.cursor() as cursor:# 执行SQL查询 sql = "SELECT * FROM student_scores"cursor.execute(sql)# 获取所有数据 results = cursor.fetchall()# 将结果转换为DataFrame (可选)df = pd.DataFrame(results)print("\n学生成绩数据:")print(df)# 返回原始结果 (如果需要)return resultsexcept pymysql.Error as e:print(f"数据库操作失败: {e}")finally:# 关闭数据库连接 if connection:connection.close()print("\n数据库连接已关闭")# 调用函数
if __name__ == "__main__":data = fetch_student_scores()