城市直播房产教育博客汽车
快传网
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

Python之MySQL操作

12月24日 顾昀汐投稿
  1。简介
  MySQL是目前使用最广泛的数据库之一,它有着良好的性能,能够跨平台,支持分布式,能够承受高并发。下载地址:MySQL::DownloadMySQLCommunityServer安装参考:图解MySQL5。7。20免安装版配置方法百度经验(baidu。com)
  Python大致有如下5种方式操作MySQL。
  (1)MySQLpythonMySQLpython也称MySQLdb,基于C库开发,曾经是一个十分流行的MySQL驱动,具有出色的性能,但其早已停更,仅支持Python2,不支持Python3,现在基本不推荐使用了,取而代之的是它的衍生版。(2)mysqlclientMySQLdb的Fork版本,完全兼容MySQLdb,支持Python3,它是DjangoORM的依赖工具,如果你喜欢用原生SQL操作数据库,那么推荐使用它。(3)PyMySQLPyMySQL采用纯Python开发,兼容MySQLdb,性能不如MySQLdb,安装方便,支持Python3。(4)peeweepeewee是一个流行的ORM框架,实现了对象与数据库表的映射,兼容多种数据库,我们无需知道原生SQL,只要了解面向对象的思想就可以简单、快速的操作相应数据库,支持Python3。(5)SQLAlchemySQLAlchemy是一个ORM框架,同时也支持原生SQL,支持Python3,它类似于Java的Hibernate框架。2。实际操作
  先使用如下建表语句创建一张简单的数据库表。CREATETABLEstudent(idint(10)AUTOINCREMENTPRIMARYKEY,namevarchar(255)NOTNULL,ageint(10)NOTNULL);
  2。1mysqlclient
  执行pipinstallmysqlclient进行安装,看一下具体操作。
  新增importMySQLdbconnectMySQLdb。connect(主机hostlocalhost,端口号port3306,用户名userroot,密码passwdroot,数据库名称dbtest,指定字符的编、解码格式useunicodeTrue,charsetutf8)先获取游标,再进行相应SQL操作cursorconnect。cursor()执行新增SQLsqlinsertintostudent(name,age)values(s,s);data〔(张三,22),(李四,23)〕cursor。executemany(sql,data)提交connect。commit()关闭cursor。close()connect。close()
  查询importMySQLdbconnectMySQLdb。connect(hostlocalhost,port3306,userroot,passwdroot,dbtest,useunicodeTrue,charsetutf8)cursorconnect。cursor()cursor。execute(SELECTFROMstudent)print(cursor。fetchall())cursor。close()connect。close()
  cursor查看方法
  fetchone()获取结果集的下一行fetchmany(size)获取结果集的下几行务fetchall()获取结果集中剩下的所有行
  修改importMySQLdbconnectMySQLdb。connect(hostlocalhost,port3306,userroot,passwdroot,dbtest,useunicodeTrue,charsetutf8)cursorconnect。cursor()cursor。execute(UPDATEstudentSETname张四WHEREid1)connect。commit()cursor。close()connect。close()
  删除importMySQLdbconnectMySQLdb。connect(hostlocalhost,port3306,userroot,passwdroot,dbtest,useunicodeTrue,charsetutf8)cursorconnect。cursor()cursor。execute(DELETEFROMstudentWHEREid1)connect。commit()cursor。close()connect。close()
  2。2PyMySQL
  执行pipinstallpymysql进行安装,使用方式与mysqlclient基本类似。importpymysqlconnectpymysql。connect(hostlocalhost,port3306,userroot,passwordroot,databasetest,charsetutf8)cursorconnect。cursor()sqlinsertintostudent(name,age)values(s,s);data〔(张三,22),(李四,23)〕cursor。executemany(sql,data)connect。commit()cursor。execute(SELECTFROMstudent)print(cursor。fetchall())cursor。close()connect。close()
  2。3peewee
  执行pipinstallpeewee进行安装,看一下具体操作。
  定义映射类frompeeweeimport连接数据库dbMySQLDatabase(test,hostlocalhost,port3306,userroot,passwdroot,charsetutf8)映射类classTeacher(Model):idAutoField(primarykeyTrue)nameCharField()ageIntegerField()classMeta:databasedb创建表db。createtables(〔Teacher〕)
  新增frompeeweeimportdbMySQLDatabase(test,hostlocalhost,port3306,userroot,passwdroot,charsetutf8)classTeacher(Model):idAutoField(primarykeyTrue)nameCharField()ageIntegerField()classMeta:databasedbt1Teacher(name张三,age22)t2Teacher(name李四,age33)t3Teacher(name王五,age33)t1。save()t2。save()t3。save()
  查询frompeeweeimportdbMySQLDatabase(test,hostlocalhost,port3306,userroot,passwdroot,charsetutf8)classTeacher(Model):idAutoField(primarykeyTrue)nameCharField()ageIntegerField()classMeta:databasedb查询单条数据tTeacher。get(Teacher。id1)print(name:,t。name)查询多条tsTeacher。select()。where(Teacher。age33)fortints:print(name:,t。name)
  修改frompeeweeimportdbMySQLDatabase(test,hostlocalhost,port3306,userroot,passwdroot,charsetutf8)classTeacher(Model):idAutoField(primarykeyTrue)nameCharField()ageIntegerField()classMeta:databasedbtTeacher。update({Teacher。name:张四})。where(Teacher。id1)t。execute()
  删除frompeeweeimportdbMySQLDatabase(test,hostlocalhost,port3306,userroot,passwdroot,charsetutf8)classTeacher(Model):idAutoField(primarykeyTrue)nameCharField()ageIntegerField()classMeta:databasedbTeacher。delete()。where(Teacher。id2)。execute()
  2。4SQLAlchemy
  执行pipinstallsqlalchemy进行安装,看一下具体操作。
  定义映射类fromsqlalchemyimportcreateenginefromsqlalchemy。ext。declarativeimportdeclarativebasefromsqlalchemyimportColumn,Integer,Stringenginecreateengine(mysqlmysqldb:root:rootlocalhost:3306test?charsetutf8,打印执行语句echoTrue,连接池大小poolsize10,指定时间内回收连接poolrecycle3600)映射基类Basedeclarativebase()具体映射类classTeacher(Base):指定映射表名tablenameteacher映射字段idColumn(Integer,primarykeyTrue)nameColumn(String(30))ageColumn(Integer)创建表Base。metadata。createall(engine)
  新增fromsqlalchemyimportcreateenginefromsqlalchemy。ext。declarativeimportdeclarativebasefromsqlalchemyimportColumn,Integer,Stringfromsqlalchemy。ormimportsessionmakerenginecreateengine(mysqlmysqldb:root:rootlocalhost:3306test?charsetutf8,打印执行语句echoTrue,连接池大小poolsize10,指定时间内回收连接poolrecycle3600)映射基类Basedeclarativebase()具体映射类classTeacher(Base):指定映射表名tablenameteacher映射字段idColumn(Integer,primarykeyTrue)nameColumn(String(30))ageColumn(Integer)Sessionsessionmaker(bindengine)创建Session类实例sessionSession()ls〔〕t1Teacher(name张三,age22)t2Teacher(name李四,age33)t3Teacher(name王五,age33)ls。append(t1)ls。append(t2)ls。append(t3)session。addall(ls)session。commit()session。close()
  查询fromsqlalchemyimportcreateenginefromsqlalchemy。ext。declarativeimportdeclarativebasefromsqlalchemyimportColumn,Integer,Stringfromsqlalchemy。ormimportsessionmakerenginecreateengine(mysqlmysqldb:root:rootlocalhost:3306test?charsetutf8,打印执行语句echoTrue,连接池大小poolsize10,指定时间内回收连接poolrecycle3600)映射基类Basedeclarativebase()具体映射类classTeacher(Base):指定映射表名tablenameteacher映射字段idColumn(Integer,primarykeyTrue)nameColumn(String(30))ageColumn(Integer)Sessionsessionmaker(bindengine)创建Session类实例sessionSession()查询一条数据,filter相当于where条件tsession。query(Teacher)。filter(Teacher。id1)。one()print(,t。name)查询所有数据tssession。query(Teacher)。filter(Teacher。age33)。all()fortints:print(,t。name)
  修改fromsqlalchemyimportcreateenginefromsqlalchemy。ext。declarativeimportdeclarativebasefromsqlalchemyimportColumn,Integer,Stringfromsqlalchemy。ormimportsessionmakerenginecreateengine(mysqlmysqldb:root:rootlocalhost:3306test?charsetutf8,打印执行语句echoTrue,连接池大小poolsize10,指定时间内回收连接poolrecycle3600)映射基类Basedeclarativebase()具体映射类classTeacher(Base):指定映射表名tablenameteacher映射字段idColumn(Integer,primarykeyTrue)nameColumn(String(30))ageColumn(Integer)Sessionsessionmaker(bindengine)创建Session类实例sessionSession()tsession。query(Teacher)。filter(Teacher。id1)。one()print(修改前名字,t。name)t。name张四session。commit()print(修改后名字,t。name)
  删除fromsqlalchemyimportcreateenginefromsqlalchemy。ext。declarativeimportdeclarativebasefromsqlalchemyimportColumn,Integer,Stringfromsqlalchemy。ormimportsessionmakerenginecreateengine(mysqlmysqldb:root:rootlocalhost:3306test?charsetutf8,打印执行语句echoTrue,连接池大小poolsize10,指定时间内回收连接poolrecycle3600)映射基类Basedeclarativebase()具体映射类classTeacher(Base):指定映射表名tablenameteacher映射字段idColumn(Integer,primarykeyTrue)nameColumn(String(30))ageColumn(Integer)Sessionsessionmaker(bindengine)创建Session类实例sessionSession()tsession。query(Teacher)。filter(Teacher。id1)。one()session。delete(t)session。commit()
  Python学习日记
投诉 评论 转载

动铁入门又一优选DC测EPZ320绝大多数耳机烧友新入烧的时候都会有一个迫切的愿望,就是渴望尝试一下动铁耳机是什么声音,我当年初烧的时候同样如此。这是很正常的,因为我们日常接触到的中低端消费级耳机,尤其是前些年……外观霸气空间出色2020款大众途昂直降5。8万搭载V6引擎!作为一款中大型SUV,上汽大众的途昂深受消费者关注。除了霸气的外观以及宽敞的空间外,2。5TV6引擎的搭载也成为其热销的卖点。目前,据编者了解到,北京地区2020款大众途昂直降……刘强东卸任京东CEO就在刚刚,京东集团宣布:京东集团总裁徐雷先生将出任京东集团CEO,负责日常运营管理,向京东集团董事局主席刘强东先生汇报。互联网大佬接连隐退呐而刘强东表示,会把更多精力投入……7199元,理光都市限定版GRIIIx相机上架IT之家3月23日消息,本月10日,理光影像发布一款GRIIIx【UrbanEditionSpecialLimitedKit】限量版,采用金属灰色饰面处理,并以环绕镜筒的海军蓝……执行局的能调取被执行人的微信流水吗?只要案件移送到法院的执行局,执行法官就可以调查被执行人名下的任意账户(包括支付宝、微信),如果你知道被执行人的支付宝账号或者微信号可以提供给执行法官,要是你不知道的话,指着执行……用墨水平板来玩游戏是怎样的一种体验?华为MatePadPap华为要进军电子书阅读器行业了?是,但也不全是华为在最近为自家MatePad推出全新产品线,名为MatePadPaper,有着一块10。3英寸的墨水屏,却不是普通的电子书阅……手机影像领头羊!OPPO印度建立相机创新实验室,加强拍摄算法日前,据印度《经济时报》报道,中国手机厂商OPPO已于海德拉巴(Hyderabad)研发中心正式建立了相机创新实验室,用于开发使用人工智能(AI)的本地化功能和相机解决方案,并……Python之MySQL操作1。简介MySQL是目前使用最广泛的数据库之一,它有着良好的性能,能够跨平台,支持分布式,能够承受高并发。下载地址:MySQL::DownloadMySQLCommuni……一个人二十年不换手机号码,代表着啥意思?死脑筋!一个人二十年不换手机号码(从来一直不换),说明这个人是个死脑筋,因为他太诚实,从来在社会上不亏欠什么人,从来不知道什么叫坑蒙拐骗偷,老老实实做人,耿耿直直做事情,……联通5G支持云合唱每个三亿分之一点燃冰雪激情共赴冬奥之约这个新年,是冬奥味儿的。每个三亿分之一,旋转奔跑画个圈中国联通冬奥加油歌《每个三亿分之一》正在祖国大地的每一个角落被传唱,用歌声点燃冬奥激情,迎接冰雪之约。作为北京……不到一个月狂砸37亿,9倍大牛股石大胜华突进新能源产业链市值猛跌后,石大胜华(SH:603026)急需第二成长曲线。作为国内电解液龙头企业,石大胜华今年赶上了锂电的大风口,成为了妥妥的大牛股。从年初38。46元的低点启动,9月……功耗下降25,内存下降35!小米官方宣布,米粉迎好消息随着5G的快速普及和手机芯片技术的不断发展,手机企业之间的竞争已经进入到了白热化阶段,只要是活下来的手机品牌,其旗舰机型几乎都已经性能过剩。为寻找新的突破点,不少企业开始在细节……
2022年股市高景气赛道把握碳中和,拥抱光伏新能源启信宝升级启信慧眼大数据功能助力企业用户Facebook可能会涉足NFT世界永不丢失的电子笔记本OneNote可以推荐cd机吗?葡萄牙湖面上神秘的地球破洞是怎么回事?水流向了哪里?谁说手机的外观千篇一律?快来看看FindX5Pro的一体化设索尼4KX95J电视怎么样,索尼电视值得购买吗14款存在违法行为的APP,你是否安装了?17。FastAPI表单数据还记得用过的第一部手机吗?红米K40与红米K30S至尊纪念版参数对比,我们该等待红米K
甲状腺功能亢进症孕妇产后是否可以哺乳?索尼LT22i和诺基亚N8哪个好感到心烦意乱的说说句小班科学活动食品袋上的小秘密教案家长课堂:小升初成功父母教子五大高招形容男子冷漠孤傲的成语盘点形容男子冷漠孤傲的成语很难得一见的图片那年,那人,那物,那事儿(0914)忍耐也是一种解决的方法生活记叙文民政信息公开指南的内容有什么灵秀湖北之关陵热博聚热点网 怎么注册网站(个人网站注册平台)初中生蝴蝶飞翔作文600字

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁