Python模块之PyMySQL

PyMySQL

  介绍:

  Python中用于连接MySQL数据库的一种第三方工具库。

  安装:

  通过命令pip install pymysql安装,在Python3中可以通过pip3来安装。

  连接MySQL数据库:

  连接之前的准备工作:

    1,要有一个MySQL数据库,并且已经启动;

    2,你要知道数据库的地址,用户名和密码;

    3,你的主机拥有操作目标数据库的权限。

  基本地连接使用:

# 导入PyMySQL模块
import pymysql

# 连接database
conn = pymysql.connect(host="你的数据库地址", user="用户名",
password="密码", database="数据库名", charset="utf8")   # charset="utf8" 不能写作utf-8

# 得到一个可以执行SQL语句的对象
cursor = conn.cursor()  # 添加参数cursor=pymysql.cursors.DictCursor,可以设定执行SQL语句的返回为字典格式

# 定义要执行的SQL语句
sql = """
CREATE TABLE USER1 (
id INT auto_increment PRIMARY KEY ,
name CHAR(10) NOT NULL UNIQUE,
age TINYINT NOT NULL
)ENGINE=innodb DEFAULT CHARSET=utf8;
"""
# 执行SQL语句
cursor.execute(sql)

# 关闭光标对象
cursor.close()

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

  增删改查:

    基本格式

import pymysql

conn = pymysql.connect(host="你的数据库地址", user="用户名",
password="密码", database="数据库名", charset="utf8")

cursor = conn.cursor()

sql = "Mysql增删改查语句"

cursor.execute(sql)

conn.commit()  # 增删改需要提交事务
cursor.close()
conn.close()

    如果要动态操作数据,可以在SQL语句中使用%s格式化输出。例如:

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"
username = "tom"
age = 18
cursor.execute(sql, [username, age])

    如果要获取新添加的数据的ID,可以在提交事务后通过lastrowid来实现。

cursor.execute(sql)
conn.commit()
# 提交之后,获取最后一条数据的ID
last_id = cursor.lastrowid

    查询结果获取

      1,获取单条数据

# 执行SQL语句
cursor.execute(sql)
# 获取单条查询数据
ret = cursor.fetchone()

      2,获取多条数据

# 执行SQL语句
cursor.execute(sql)
# 获取全部查询数据
ret = cursor.fetchall()

# 还可以获取指定数量的数据
ret = cursor.fetchmany(3)

    批量执行

sql = "INSERT INTO USER1(name, age) VALUES (%s, %s);"

date = [(tom, 18), (jerry, 18)]

cursor.executemany(sql, data)

  操作失败回滚:通过异常处理来完成。

try:
    # 执行SQL语句
    cursor.execute(sql)
    # 提交事务
    conn.commit()
except Exception:
    # 有异常,回滚事务
    conn.rollback()

原文地址:https://www.cnblogs.com/zxc-Weblog/p/8722948.html

时间: 2024-07-31 02:43:22

Python模块之PyMySQL的相关文章

MySQl 数据库 之 python模块 pymysql 简单介绍

终端输入指令: pip3 install pymysql 如果失败就检查 pip 指令的环境变量是否配置; 若不会,则自行百度; 等待下载完成后, 在终端直接进入 python 环境, 导入该模块, 若无报错,则证明下载成功.(如下图所示) 二. 开始使用: 1, 在py文件中导入该模块: import pymysql 2, 连接数据库服务器: conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password=''

python-学习笔记之-Day5 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

1.双层装饰器 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = False   def check_log(func): def inner(): res = func() if LOGIN_INFO: print('验证成功!') return res else: print('验证失败!') return inner   def check_admin(func)

Python模块的交叉引用问题分析

实际项目中遇到python模块相互引用问题,查资料,说是通过import局部导入的方式可以避免错误,资料如附录所述. 但更改后测试还是会出错,很疑惑!? 如果哪位读者有好的解决方法,敬请留言说明,谢谢. 所以,最好的方法是不进行交叉引用,如果需要就单独分一个模块出来. 附录:Python模块的交叉引用问题解读:How can I have modules that mutually import each other? 有下面两个文件相互引用,Python解释器报错. foo.py: from

python模块以及导入出现ImportError: No module named 'xxx'问题

python模块以及导入出现ImportError: No module named 'xxx'问题 python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包.只要模 块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用 如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,比 如在a.py中使用b.py:  import b 但是如果要import一个不同目录的文件(例如b.py)该怎么做

python模块搜索路径

1.电脑版 (1).python安装目录中\Lib\site-packages\下建立*.pth文件,写入模块路径 (2).添加环境变量:变量名:pythonpath;变量值:模块(文件夹)路径 ,若有多个,用半角分号";"隔开 2.手机版 在resource\site.py文件中添加代码段 import syssys.path.append("模块(文件夹)路径") 发现:第一个参数都是C:\\resource 我的理解: 程序安装盘下的site.py指定模块路径

4.python模块

python 字符串 一.注释 在python中的注释分为单行注释和多行注释    (1)单行注释:为在语句的前边加"#" 例子: #!/usr/bin/env python a = 123 print a #print a #print a #print a 执行结果如下: [[email protected] ~]# python a.py 123  (2)多行注释:可以用3对单引号(比如:''' 注释内容''') 或是3对双引号(比如:"""注释内容

使用 from import方法导入Python模块

比如我们导入一个数学计算的模块 math: >>> import math>>> print math<module 'math' (built-in)>>>>>>> print math.pi #导出圆周率的值3.14159265359>>> 我们导入math模块,在python模块学习中我们会知道,这样做会得到名math的对象,这个模块对象包含了pi这样的常量,以及一些其它的方法. 我们如果直接访问

Python 八、Python模块

一.python文件概述 1.python模块概述 可以将代码量较大的程序分割成多个有组织的.彼此独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块 模块在物理形势上表现为以.py结尾的代码文件 一个文件被看作一个独立的模块,一个模块也可以被看作是一个文件 模块的文件名就是模块的名字加上扩展名(.py) 每个模块都有自己的名称空间 python允许导入其它模块以实现代码重用,从而也实现了将独立的代码文件组织成更大的程序系统 python中,模块也是对象 在一个模块的顶层定义的所有

python 学习第五天,python模块

一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py结尾的python文件(文件名:test.py,对应的模块名:test) (2)包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件) 2,导入的方法 (1)import module_name导入某个模块 (2)import module_name,module2_