Python Day12

二、python与mysql交互

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。

下载安装

1 pip3 install pymysql

2.1.执行原生sql语句

1 import pymysql
2 conn = pymysql.connect(host=‘192.168.48.20‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘test‘)  # 创建连接
3 cursor = conn.cursor()  # 创建游标
4 # num = cursor.execute("create table student (name CHAR(20),age INT(3),date DATE )")  # 创建表不需要提交可以生效
5 num = cursor.execute("insert into student value(‘hua‘,25,‘1992-05-22‘)")  # 执行sql返回受影响的条目数
6 print(num)
7 conn.commit()  # pymysql默认开启了事务,进行数据库更新需要提交
8 cursor.close()  # 关闭游标
9 conn.close()  # 关闭连接

2.2.批量执行sql

实际是循环调用execute

1 import pymysql
2 conn = pymysql.connect(host=‘192.168.48.20‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘test‘)  # 创建连接
3 cursor = conn.cursor()  # 创建游标
4 # 一次性执行操作多条,参数为print(num)#打印条结果条目
5 num = cursor.executemany("insert into student values(%s,%s,%s)", [(‘jack‘, 22, ‘1993-01-11‘), (‘tara‘, 18, ‘1998-03-04‘)])
6 conn.commit()  # pymysql默认开启了事务,进行数据库更新需要提交
7 new_id = cursor.lastrowid  # 如果是自增id,该方法可以获取到插入完成以后的IDprint(new_id)
8 cursor.close()  # 关闭游标
9 conn.close()  # 关闭连接

2.3.查询操作:fetch

 1 import pymysql
 2 conn = pymysql.connect(host=‘192.168.48.20‘, port=3306, user=‘root‘, passwd=‘123‘, db=‘test‘)  # 创建连接
 3 cursor = conn.cursor()  # 创建游标
 4 cursor = conn.cursor()
 5 cursor.execute("select * from student")
 6 # 获取第一行数据
 7 row_1 = cursor.fetchone()
 8 print(row_1)
 9 # 获取前n行数据
10 row_2 = cursor.fetchmany(3)
11 print(row_2)
12 # 获取所有数据
13 # row_3=cursor.fetchall()
14 cursor.scroll(0, mode=‘absolute‘)  # 将游标重新移至开始处
15 row_new = cursor.fetchone()
16 print(row_new)
17 cursor.close()  # 关闭游标
18 conn.close()  # 关闭连接

TIPS:使用fetchone获取数据如同读取文件一样,如果读一行游标会下移一行

可以使用cursor.scroll(num,mode)来移动游标位置,如:

  • cursor.scroll(1,mode=‘relative‘)  # 相对当前位置移动
  • cursor.scroll(2,mode=‘absolute‘) # 相对绝对位置移动

2.4.设置fetch获取数据类型

默认使用fetch查询结果是tuple,我们还可以设置获取的数据返回时dict

 1 import pymysql
 2
 3 conn = pymysql.connect(host=‘192.168.48.20‘,port=3306,user=‘root‘,passwd=‘123‘,db=‘test‘)
 4 # 游标设置为字典类型
 5 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  # 设置游标类型为字典
 6 r = cursor.execute("select * from student")
 7 res = cursor.fetchone()
 8 print(res)
 9 cursor.close()
10 conn.close()
11 结果:
12 {‘name‘: ‘bg‘, ‘age‘: 22, ‘date‘: datetime.date(1993, 5, 22)}
时间: 2024-11-06 10:33:55

Python Day12的相关文章

python基础之模块part1

模块: 模块本质上就是一个Python程序. 所有说是对象的,一定可以通过  对象.方法  来实现某些操作. 模块种类: 内置模块 第三方模块 自定义模块 import在查找模块的顺序:内置模块---->第三方模块---->自定义模块. 后期学习网络编程(socket)跟线程进程(threading processing)的时候其实就是在学习这些模块. time: 在Python中时间也是一个类. 时间有三种类型: 时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量

python中软件开发规范,模块,序列化随笔

1.软件开发规范 首先: 当代码都存放在一个py文件中时会导致 1.不便于管理,修改,增加 2.可读性差 3.加载速度慢 划分文件1.启动文件(启动接口)--starts文件放bin文件里2.公共文件(大家需要的功能)---放lib文件夹里3.配置文件(静态文件)变量--放conf文件夹里4.主逻辑(核心)---函数,类等等,src.py--放core文件夹里5.用户相关数据--账号密码等文件 register--放db文件夹里6.日志----记录主要信息,记录开发人员的行为---logg.lo

Python 日期和时间day12

Python程序能用很多方式处理日期和时间.转换日期格式是一个常见的例行琐事.Python有一个time and calendar模组可以帮忙. 什么是Tick? 时间间隔是以秒为单位的浮点小数. 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示. Python附带的受欢迎的time模块下有很多函数可以转换常见日期格式.如函数time.time()用ticks计时单位返回从12:00am, January 1, 1970(epoch) 开始的记录的当前操作系统时间, 如下实例

Python函数day12

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创见函数,这被叫做用户自定义函数. 定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以def关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明. 函数内容

python学习--day12

一.SQLAlchemy SQLAlchemy 是python 操作数据库的一个库,能够进行 orm 映射. 1. orm orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候直接使用编程语言对象模型进行操作就可以了,而不用直接使用sq

python学习笔记-Day12 (上下文管理、redis发布订阅、rabbitmq、pymysql模块、SQLAchemy)

上下文管理 import contextlib # 上下文管理 @contextlib.contextmanager def worker_state(state_list, worker_thread): """ :param state_list: :param worker_thread: :return: """ state_list.append(worker_thread) # 2. 进入执行函数体 try: yield # 3. 遇

Python开发基础 day12 模块2

sys模块 sys模块提供了一系列有关Python运行环境的变量和函数. 1 #重点记忆 2 sys.argv #命令行参数List,第一个元素是程序本身路径 3 sys.exit(n) #退出执行的程序未见,正常退出时exit(0),不同于循环用的break跳出循环 4 sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 5 6 #一般 7 sys.platform #返回操作系统平台名称 8 sys.version #获取Python解释程序的版本信息 9

day12——Python高阶函数及匿名函数

高阶函数:就是把函数当成参数传递的一种函数,例如: def add(x,y,f): return f(x) + f(y) print(add(-8,11,abs)) 结果:19 解释: 1.调用add函数,分别执行abs(-8)和abs(11),分别计算出他们的值 2.最后再做和运算 map()函数 map函数时Python内置的一个高阶函数,它接受一个函数f和一个list,并把list的元素以此传递给函数f,然后返回一个函数f处理完所有list元素的列表,如下所示: def f2(x): re

Python全栈开发-Day12-

本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sqlachemy学习 1. 数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,现在我们使用关系型数据库管