全栈工程师-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,忘记了是为啥的。

 

posted @ 2021-11-17 17:26  smallbore  阅读(37)  评论(0编辑  收藏  举报
回顶部