IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Python高级培训-第六次任务 -> 正文阅读

[大数据]Python高级培训-第六次任务

菜鸟教程:Python3 MySQL 数据库连接 – PyMySQL 驱动 | 菜鸟教程

学习教程(视频):Python连接MySQL数据库【趣学Python】_哔哩哔哩_bilibili

学习教程(文件):Python连接MySQL数据库_Python全栈之巅-CSDN博客_python 连接mysql数据库

数据库连接:

连接数据库前,请先确认以下事项:

  • 您已经创建了数据库 TESTDB.
  • 在TESTDB数据库中您已经创建了表 EMPLOYEE
  • EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
  • 连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。
  • 在你的机子上已经安装了 Python MySQLdb 模块。
  • 如果您对sql语句不熟悉,可以访问菜鸟教程:SQL 教程 | 菜鸟教程

?导入库

import pymysql

连接数据库


DBHOST = 'localhost'
DBUSER = '用户名'
DBPASS = '密码'
DBNAME = '连接名称'

try except捕获异常


try:
    db = pymysql.connect(host=DBHOST,user=DBUSER, password=DBPASS, database=DBNAME)
    print('数据库连接成功!')
except pymysql.Error as e:
    print('数据库连接失败'+str(e))

?创建一张新表

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询
# cursor.execute("SELECT VERSION()")

# 创建表之前先检查是否存在,如果存在则删除
cursor.execute('DROP TABLE IF EXISTS Student')

# 编辑sql语句
#sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"
sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Age CHAR(20),Major CHAR(20) ,Num CHAR(20))ENGINE=InnoDB " \
           "DEFAULT CHARSET=gbk; "

cursor.execute(sqlQuery)

?此处注意编码格式:DEFAULT CHARSET=gbk 如果没有这个语句,向数据库中插入中文会报错?

参考教程:解决Python往MySQL插入中文时报错的问题_aaa2549769750的博客-CSDN博客

?

向表中插入数据

# 编辑sql语句
sqlQuery=" INSERT INTO Student (Name, Age, Major, Num) VALUE (%s,%s,%s,%s) "

# 编辑准备插入的值
value=('小西','20级','移动软件','123456')

# 执行sql语句
try:
    cursor.execute(sqlQuery,value)
    db.commit()
    print('数据插入成功!')
except pymysql.Error as e:
    print("数据插入失败:"+str(e) )
    db.rollback()

查询表中的数据

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

  • fetchone():?该方法获取下一个查询结果集。结果集是一个对象
  • fetchall():?接收全部的返回结果行.
  • rowcount:?这是一个只读属性,并返回执行execute()方法后影响的行数。

实例:

# 编辑sql语句
sqlQuery = "SELECT * FROM Student"

# 使用fetchall()方法接收全部的返回结果行
try:
    cursor.execute(sqlQuery)
    results=cursor.fetchall()
    for row in results:
        if row[0]=='小西':
            name=row[0]
            age=row[1]
            major=row[2]
            num=row[3]
            print('Name:%s,age:%s,major:%s,num:%s'%(name,age,major,num))
except pymysql.Error as e:
    print("数据查询失败:"+str(e))

更新表中的数据

#编辑sql语句
sqlQuery = "UPDATE Student SET Name= %s WHERE Name=%s"

#编辑更新的信息
value = ('John', 'updated name')

#提交修改
try:
    cur.execute(sqlQuery, value)
    db.commit()
    print('数据更新成功!')
except pymysql.Error as e:
    print("数据更新失败:"+str(e))
    # 发生错误时回滚
    db.rollback()

删除表中的数据

#编辑sql语句
sqlQuery = "DELETE FROM Student where Name=%s"

#编辑更新的信息
value = ('John')

#提交修改
try:
    cur.execute(sqlQuery, value)
    db.commit()
    print('Date Deleted Successfully')
except pymysql.Error as e:
    print("数据删除失败:"+str(e))
    # 发生错误时回滚
    db.rollback()

删除一张表

#编辑sql语句
sqlQuery='DROP TABLE IF EXISTS Student'

#提交修改
cur.execute(sqlQuery)
print('表删除成功!')

关闭数据库连接

# 关闭数据库连接
db.close()

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:03:13  更:2022-01-14 02:04:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:54:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码