Connection对象和Cursor对象用法
pymysql库中提供了两个常用的对象:Connection对象和Cursor对象。
1. Connection对象
Connection对象用于建立与MySQL数据库的连接,可以通过以下方法创建:connect(参数列表)
以上方法中的常用参数及其含义如下:
·参数host,数据库所在主机的IP主机地址,若数据库位于本机,可设为localhost。
·参数port,数据库占用的端口,默认是3306。
·参数database ,表示数据库的名称。
·参数user,连入数据库时使用的用户名。
·参数password ,用户密码。
·参数charset,表示通信采用的编码方式,推荐使用utf8。
使用connect()方法向本地数据库建立连接,示例代码如下:conn = pymysql.connect( host="localhost", user="root", password ="123456", database ="dbtest", charset="utf8")
pymysql库为Connection对象提供了一些实现了数据库操作的常用方法,这些方法的说明如表1所示。
表1 Connection对象的常用方法
方法 说明
close() 关闭连接
commit() 提交当前事务
rollback() 回滚当前事务。
cursor() 创建并返回Cursor对象
注:事务回滚是指,事务在运行过程中因发生某种故障而不能继续执行,使得系统将事务中对数据库的所有已完成的更新操作全部撤销,将数据库返回到事务开始时的状态。
2. Cursor对象
Cursor对象即游标对象,它主要负责执行SQL语句。Cursor对象通过调用Connection对象的cursor()方法创建。使用上文创建的Connection对象conn获得游标对象,示例代码如下:cs_obj = conn.cursor()
Cursor对象的常用属性和方法分别如表2和表3所示。
表2 Cursor对象的常用属性
属性 说明
rowcount 获取最近一次
execute() 执行后受影响的行数
connection 获得当前连接对象
表3 Cursor对象的常用方法
方法 说明
close() 关闭游标
execute(query, args=None) 执行SQL语句,返回受影响的行数
fetchall() 执行SQL查询语句,将结果集(符合SQL语句中条件的所有行集合)中的每行转化为一个元组,再将这些元组装入一个元组返回
fetchone() 执行SQL查询语句,获取下一个查询结果集
多学一招:SQL语句
SQL(全称Structure Query Language)是结构化查询语言,也是目前应用较广泛的用于访问和操作关系数据库的标准语言,具有易学易用、功能丰富的特点。下面将对基础的SQL语句进行介绍。
(1)创建数据库
创建数据库使用"create database"语句,语法格式如下:create database 数据库名称
创建数据库dbtest的示例如下:create database dbtest
(2)删除数据库
删除数据库使用"drop database"语句,语法格式如下:drop database 数据库名称
删除数据库dbtest的示例如下:drop database dbtest
(3)创建表
创建表使用"create table"语句,语法格式如下:create table 表名称( 字段名 字段类型 [约束], 字段名 字段类型 [约束], ...... 字段名 字段类型 [约束] )
MySQL支持的字段类型很丰富,主要包括数值、日期和字符串类型。其中常见的数值类型有int、double、float等,常见的日期类型有date、time、year,常见的字符串类型有char和varchar。在设计数据表的字段时,可以为其添加约束,例如,primary key用于设置某个字段为主键,unique用于设置某个字段的值唯一,not null用于设置某个字段不能有空值。
在之前创建的数据库dbtest中创建数据表users,示例如下:use dbtest; # 使用dbtest数据库 create table users( UserID int primary key, # UserID字段被设置为主键 UserName varchar(20) unique, # UserName的值是惟一的,不能重复 UserPwd varchar(20) not null # UserPwd字段的值不能为空 )
(4)数据的增加
增加数据使用"insert into"语句实现,语法格式如下:insert into table_name (字段1, 字段2,......字段n) values (值1, 值2, ......值n); 例如,向users表里添加2行数据: insert into users(userid,username,userpwd) values(1,"xiaoMing","123456"); insert into users(userid,username,userpwd) values(2,"xiaoHong","654321");
(5) 数据的删除
删除数据指从数据库中将记录彻底删除,使用"delete"语句和where子句实现,语法格式如下:delete from 表名称 where 条件
例如,从users表中将第1条数据删除:delete from users where UserID = 1
(6) 数据的更新
更新数据使用"update"语句和where子句实现,语法格式如下:update 表名称 set 字段1 = 数值1, 字段2 = 数值2, 字段3 = 数值3.. .. where 条件
例如,将表users中UserID为1的用户名称改为"小华":update users set UserName = "小华" where UserID = 1
(7) 数据的查询
查询数据使用"select"语句实现,语法格式如下:select 字段1,字段2,......字段n from 表名称
还可以使用select语句和where子句实现条件查询,语法格式如下:select 字段1,字段2,......字段n from 表名称 where 条件
例如,从users表中查询所有的数据:use dbtest; select * from users
片上拓扑彩虹器件研究获进展来源科学网近日,暨南大学光子技术研究院研究员丁伟团队和北京理工大学教授路翠翠团队北京大学教授胡小永团队合作,在片上拓扑彩虹器件研究中取得重要进展,首次在纳米尺度的芯片上观测到显著的
土壤有机质分解的温度敏感性及其机制研究获进展来源科学网近日,中国科学院植物研究所研究员韩兴国团队与合作者在全球变化生物学上发表了关于土壤有机质分解的温度敏感性(Q10)及其机制方面的新进展。基于米曼氏方程进行数据模拟,研究人
比高速子弹快20倍!美帝国大厦四倍大的小行星,27日向地球猛冲又有小行星要飞越地球了?飞行速度比高速子弹快20倍!美国宇航局算是大名鼎鼎了,自1958年成立开始,就专门负责美国的太空计划,先后完成六次载人登月任务国际空间站美国负责的部分,以及
盘点地球上最深的九个湖泊深湖在人类的想象中占有特殊的位置。无底湖的主题在世界神话中很普遍。在这样的水域中,人们通常会想象找到怪物失落的城市宝藏美人鱼死者王国等等。尽管今天我们可以使用各种高科技工具(包括声
科学家在南美洲发现一种新蛇种,人们此前对它一无所知南美洲拥有亚马逊平原和亚马逊热带雨林,世界上最大的河亚马逊河从这里穿流而过,这里简直是生命的天堂,物种十分丰富,科学家每年在当地都能发现新的物种。据了解,南美洲巴拉圭的生态学家协会
宇航员的太空葬太空开发面临风险随着载人航天事业的不断发展,人类要面对的挑战也越来越多,其中之一就是宇航员在太空死亡的问题。英国新科学家杂志称,迄今为止,有18名宇航员在执行太空飞行任务时死亡。首
波音星际客船首次对接成功,国际空间站大反转!对于我国有何启示近期,一则重大消息登顶热搜,再一次刷新了全世界对波音的认知,同时也引起了全球的重点关注。那就是美国航天局,宣布了波音星际客船首次成功对接国际空间站,这也令曾经质疑美国航天的那些专家
神奇的噬菌体到底什么来头?有什么用?看完这篇文章你就知道了噬菌体是什么?噬菌体是一种感染细菌真菌藻类放线菌或螺旋体等微生物的病毒的总称,是一种微生物源病毒,整个噬菌体家族非常庞大,古老且丰富,它们几乎与细菌一起出现在地球上,距今已经有差不
下次冰河期什么时间来,中国最冷的一年是哪年?冰河期,也称冰期,它指的是在地球上曾经出现过的会导致气候寒冷的大规模冰川活动的时期。冰期又有广义和狭义之分,广义上的冰期也叫做大冰期,也就是地球上气候特别寒冷并且地球表面陆地被冰盖
乐高还原的韦伯望远镜,在LEGOIDEAS里仰望星空2021年12月,由美国航空航天局欧洲航天局和加拿大航空航天局联合研发的詹姆斯韦伯太空望远镜(JamesWebbSpaceTelescope,JWST)终于发射升空,他将成为我们最
太阳系是哥白尼发现的吗?现在,如果有人说地球是宇宙的中心,一定会被人笑话。可是,就在四五百年前,人们的的确确都把地球看成是宇宙的中心,认为太阳是绕着地球转动的。早在公元前2世纪,古希腊天文学家托勒密曾经写
电子产品的未来科学家发现一种新费米弧近日,来自艾姆斯实验室和爱荷华州立大学的一个研究小组及来自美国德国和英国的合作者发现了一种新型费米弧。研究小组在对稀土单核化物NdBi(neodymiumbismuth)的研究中发
3。5亿年前冻灾的始作俑者3。5亿年前远古植物景观复原图(供图中国科学院南京地质古生物研究所)温室变冰窖显生宙(指看得见生物的年代)持续时间最长规模最大的成冰事件是发生在距今约3。5亿2。6亿年的晚古生代大
生物哨兵或可让我们了解各地的汞污染图片来源pixabay来自发电厂和采矿作业的汞污染,最终会进入空气和水中。但很难预测有多少环境汞会进入我们的食物和人体。我们正在开发一种生物指示剂,一种生物哨兵,它可以让我们了解美
外星人能与戴森球吸走黑洞的能量吗?还有什么比来自天体物理学边缘的超级怪异想法更好的呢?这正是我们从一篇新论文中得到的结论,这篇论文探索了先进文明如何在黑洞周围建立戴森球体,以提取巨大数量的能量。事实上,台湾天文研究
再获全球瞩目!中国的航天净水科技究竟多能打?中国太空出差三人组,终于要回来了。2022年4月1日,王亚平翟志刚叶光富3位航天员传出准备重返地球的消息。这半年以来,神舟十三创造了多项新纪录,完成了多项里程碑,达成了多项首次。比
预告窗造不凡,轩尼斯门窗以航天品质逐梦星辰万里从东方红一号成功发射,到嫦娥探月,天问问天,神州逐梦,几十年来,中国航天人从未停止对宇宙的探索,以航天精神不断圆梦九天揽月。2021年,中国航天事业取得突飞猛进的成就,天和核心舱成
探索二号搭载深海勇士号探秘深海冷泉今天(11日),探索二号科考船搭载着深海勇士号返航,圆满完成2022年度深海原位科学实验站第一航段任务深海原位实验室在南海冷泉区的海试任务。完成深海原位实验室在南海冷泉区海试任务在
空中南水北调是否荒诞?天河工程是否可行?中国启动了一项可以从天上直接调集水资源的超级项目,震惊了全世界。为了保证项目的顺利进行,中国方面甚至动用了专门的卫星。究竟是什么样的项目,才能让中国这个号称基建狂人的国家,愿意付出
宇宙在此处终止?科学家通过哈勃望远镜的镜头,到底发现了什么?哈勃望远镜是人类在发展天文学探索宇宙的得力干将,它让人类对宇宙的认识跨入一个崭新的时代。人们试图通过它探索宇宙的边界,探寻未知的可能。太空中的哈勃望远镜哈勃望远镜服务人类30多年,
地球最动荡年代发生了什么635万年前三峡地区方解石有答案地球最动荡年代发生了什么635万年前三峡地区方解石有答案新知科技日报讯(记者张晔)冷泉碳酸盐岩是冷泉活动的主要产物,而冷泉不仅是寻找海底天然气水合物的重要标志,也是研究全球气候变化
宇宙的奥妙(26)太阳系太阳系是受太阳引力影响的空间区域。太阳是一颗普通的黄色恒星,几乎已经稳定燃烧了50亿年。除太阳以外,行星是太阳系中最重要的天体。这是一群多样的岩质气态或冰态的星球,各自沿着环