Python基础(十六)-操作数据库pymysql模块

一、pymysql模块安装

pip3 install pymysql

二、连接数据库

2.1、创建测试数据

mysql> create database AA;
mysql> use AA
mysql> create table test(id int primary key auto_increment,name varchar(25),passwd varchar(25));
mysql> insert into test(name,passwd) values(‘AA‘,123),(‘BB‘,456),(‘CC‘,789);
mysql> select * from test;
+----+------+--------+
| id | name | passwd |
+----+------+--------+
|  1 | AA   | 123    |
|  2 | BB   | 456    |
|  3 | CC   | 789    |
+----+------+--------+
3 rows in set (0.00 sec)

2.2、连接数据库

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pymysql
user=input("用户名:").strip()
pwd=input("密码:").strip()

#连接
conn = pymysql.connect(host="10.0.0.12",port=3306,user="root",passwd="mysql",db="AA")

#游标
cursor=conn.cursor()  #执行完毕返回的结果集默认以元组显示
# cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #以字典形式返回

#执行sql语句
# sql = ‘select * from AA.test where name="%s" and passwd="%s"‘ %(user,pwd)  #注意%s需要加引号
# print(sql)
# res=cursor.execute(sql)  #执行sql语句,返回sql查询成功的记录数目
# print(res)

#execute帮我们做字符串拼接,我们无需且一定不能再为%s加引号了,pymysql会自动为我们加上
sql="select * from test where name=%s and passwd=%s"
print(sql)
res=cursor.execute(sql,[user,pwd])
print(res)

#关闭游标及连接
cursor.close()
conn.close()

if res:
    print("登录成功")
else:
    print("登录失败")

三、增删改,conn.commit()

#!/usr/bin/env python
# -*- coding: utf-8 -*- 

import pymysql
#连接
conn = pymysql.connect(host="10.0.0.12",port=3306,user="root",passwd="mysql",db="AA")

#游标
cursor=conn.cursor()  #执行完毕返回的结果集默认以元组显示
# cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #以字典形式返回

#执行sql语句
#part1
# sql="insert into test(name,passwd) values(‘DD‘,123456);"
# print(sql)
# res=cursor.execute(sql)
# print(res)

#part2
# sql=‘insert into test(name,passwd) values(%s,%s);‘
# res=cursor.execute(sql,("root","123456"))
# print(res)

#part3 插多行数据
sql=‘insert into test(name,passwd) VALUES (%s,%s);‘
res=cursor.executemany(sql,[("EE","123456"),("FF","123456"),("GG","123456"),])
print(res)

#关闭游标及连接
conn.commit()  #提交后才发现表中插入记录成功
cursor.close()
conn.close()

四、查找

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pymysql
#连接
conn = pymysql.connect(host="10.0.0.12",port=3306,user="root",passwd="mysql",db="AA")

#游标
cursor=conn.cursor()  #执行完毕返回的结果集默认以元组显示
# cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #以字典形式返回

#查找
sql=‘select * from test;‘
rows=cursor.execute(sql)
print(rows)  #8

# cursor.scroll(3,mode="absolute")  # 相对绝对位置移动
# cursor.scroll(3,mode="relative")  # 相对当前位置移动

res1=cursor.fetchone()
res2=cursor.fetchone()
res3=cursor.fetchone()
res4=cursor.fetchmany(2)
res5=cursor.fetchall()

print(res1)
print(res2)
print(res3)
print(res4)
print(res5)
print(‘%s rows in set (0.00 sec)‘ %rows)

#关闭游标及连接
conn.commit()  #提交后才发现表中插入记录成功
cursor.close()
conn.close()

‘‘‘
(1, ‘AA‘, ‘123‘)
(2, ‘BB‘, ‘456‘)
(3, ‘CC‘, ‘789‘)
((4, ‘DD‘, ‘123456‘), (5, ‘root‘, ‘123456‘))
((6, ‘EE‘, ‘123456‘), (7, ‘FF‘, ‘123456‘), (8, ‘GG‘, ‘123456‘))
8 rows in set (0.00 sec)
‘‘‘

原文地址:https://www.cnblogs.com/hujinzhong/p/11565889.html

时间: 2024-07-30 11:24:43

Python基础(十六)-操作数据库pymysql模块的相关文章

python基础-第六篇-6.2模块

python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ 模块定义 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成 (函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块.

python接口自动化测试二十六:使用pymysql模块链接数据库

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : 2018/5/28 18:51# @Author  : StalloneYang# @File    : mysql_test.py# @desc: # 连接数据库 import pymysql.cursors # 连接MySQL数据库connection = pymysql.connect(host='localhost', port=3306, user='yang', pass

新手学习python(十)操作数据库redis

数据库分为两类:1.关系型数据库: MySQL,Oracle,sql server,db2,sqlite 需要sql语句 数据存在磁盘上2.非关系型数据库:mongodb, redis 没有表结构 没有sql语句 使用get('k'),set('xx') 说明:1.redis数据全部存在内存里面 2.redis本身性能是非常好的,每秒支持30w次的读写 import redisr=redis.Redis(host='xx.xx.xx.xx',password='aaaaa',db=0,port=

python基础-第六篇-6.4模块混战

我们之前接触多的编程方式就是函数式编程,而且喜欢就一个文件里写完所有的程序代码,这样做在前期感觉还不错,不过一旦你的程序变复杂,在易读性和排错方面就感觉好吃力,功能界限不明显,那今天我们就来讲讲怎么用模块进行功能分类 单文件编程 来!先看一个用单文件函数式编程实现所有的功能的例子 #数据源 database = { 'engine':'mysql', 'host':'localhost', 'port':3306, 'user':'root', 'password':'123' } #用户权限认

第二百七十九节,MySQL数据库-pymysql模块

MySQL数据库-pymysql模块 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connect() 参数: host=数据库ip port=数据库端口 user=数据库用户名 passwd=数据库密码 db=数据库名称 cursor()创建数据库操作游标,无参使用方式: 游标变量.cursor() execute()操作数据库,参数1 sql语句,参数2 字符串占位符变量使用方式: 游标变量.exe

iOS学习笔记(十六)——数据库操作(使用FMDB)

iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一篇文章简单介绍下FMDB的使用. 在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包. FMDB同时兼容ARC和非ARC工

Python第十六课(模块3)

Python第十六课(模块3)    >>>思维导图>>>中二青年 模块与包 模块 """ 三种来源 1.内置的 2.第三方的 3.自定义的 四种表示形式 1.py文件(******) 2.共享库 3.文件夹(一系列模块的结合体)(******) 4.C++编译的连接到python内置的 """ 导入模块 """ 先产生一个执行文件的名称空间 1.创建模块文件的名称空间 2.执行模

Python进阶(十)----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型)

Python进阶(十)----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶规范化格式目录 六个目录: #### 对某某项目进行一个标准化的开发,进行规范化. #bin : 启动项目程序的主入口 #conf : 项目的配置文件 #core : 主要逻辑(业务逻辑) #db : 存放数据() #lib : 辅助文件(存放公共的一些方法) #README : 项目文档说明 ? 二丶time模块(时间模块) 时间的三

python基础系列教程——Python3.x标准模块库目录

python基础系列教程——Python3.x标准模块库目录 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串准备工具 readline:GNU按行读取接口 rlcompleter:GNU按行读取的实现函数 二进制数据 struct:将字节解析为打包的二进制数据 codecs:注册表与基类的编解码器 数据类型 datetime:基于日期与时间工具