全栈工程师-Python操作mysql入门笔记
全栈工程师-Python入门笔记
MySQL 数据库https://www.cnblogs.com/bore/p/15598633.html
Ubuntu 服务端 https://www.cnblogs.com/bore/p/15325404.html
Python3
官网下载路径https://www.python.org/downloads/windows/
1. 安装时,需要把添加到path的配置加上。否则手动添加path配置。
2.window cmd 下中文乱码的情况,通过 chcp 65001 设置编码格式就好。
数据库连接
安装依赖包
pip3 install PyMySQL
1. 连接数据库,创建数据库
host=默认127.0.0.1
port=默认3306
database=指定数据库
#!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect(user='root', password='q123456', charset='utf8') # 获取操作游标 cursor = db.cursor() # 创建数据库sql语句 sql = "CREATE DATABASE IF NOT EXISTS pydata DEFAULT CHARSET utf8 COLLATE utf8_general_ci" # 运行sql语句 cursor.execute(sql) # 提交任务 db.commit() # 关闭连接 cursor.close() db.close()
操作完成创建了一个pydata的数据库。
2.创建数据库表:
#!/usr/bin/python # -*- coding: UTF-8 -*- import pymysql # 打开数据库连接 db = pymysql.connect(user='root', password='q123456', database='pydata', charset='utf8') # 获取操作游标 cursor = db.cursor() # sql语句创建数据库表 sql = """ create table if not exists city_data( id int primary key auto_increment, province varchar(50), num int, update_time datetime ) """ # 运行SOL语句 cursor.execute(sql) # 提交任务 db.commit() # 关闭连接 cursor.close() db.close()
异常情况,可能我本机环境异常,Python3创建表无响应。
操作完成创建了一个 city_data 的数据库表了,可以连接数据视图查看了。
3. 数据表导入数据
#!/usr/bin/python # -*- coding: UTF-8 -*- import pymysql import datetime # 打开数据库连接 db = pymysql.connect(user='root', password='q123456', database='pydata', charset='utf8') # 获取操作游标 cursor = db.cursor() # 默认数据 info = {'北京市': 101, '天津市': 102, '深圳市': 110, '上海市': 211, '广州市': 202} for p, n in info.items(): time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") sql = """ insert into city_data(province,num,update_time) values ('{}','{}','{}') """.format(p, n, str(time)) cursor.execute(sql) # 提交任务 db.commit() # 关闭连接 cursor.close() db.close()
导入成功
4. 查找打印数据库表
#!/usr/bin/python # -*- coding: UTF-8 -*- import pymysql # 打开数据库连接 db = pymysql.connect(user='root', password='q123456', database='pydata', charset='utf8') # 获取操作游标 cursor = db.cursor(pymysql.cursors.DictCursor) # sql语句 sql = "SELECT * FROM city_data" try: # 执行SQL语句 cursor.execute(sql) results = cursor.fetchall() print(results) # 提交任务 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭连接 cursor.close() db.close()
pymysql.cursors.DictCursor,忘记了是为啥的。
没有终点,没有彼岸,坚持就好,愿岁月如初