贵州做网站公司
贵州做网站公司~专业!靠谱!
10年网站模板开发经验,熟悉国内外开源网站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等网站程序,可为您提供网站建设,网站克隆,仿站,网页设计,网站制作,网站推广优化等服务。我们专注高端营销型网站,企业官网,集团官网,自适应网站,手机网站,网络营销,网站优化,网站服务器环境搭建以及托管运维等。为客户提供一站式网站解决方案!!!

Python3快速入门——Pyt

来源:网络转载 时间:2024-01-29 07:54:33

Python3快速入门(十一)——Python3数据库操作

一、MySQL-connector 驱动

1、mysql-connector 简介

mysql-connector 是 MySQL 官方提供的驱动器。使用pipenv进行包管理,安装命令如下:pipenv install mysql-connector

2、mysql-connector常用接口

mysql.connector.connect(*args, **kwargs)创建一个数据库连接,返回MySQLConnectionAbstract实例。connect接收可变参数和关键字可变参数,通常接收可变参数时使用可变参数指定默认参数,接收关键字可变参数时使用字典类型参数。常用关键字如下:'host': '127.0.0.1','user': 'root','password': 'root','port': 3306,'database': 'test','charset': 'utf8'

import mysql.connectorMYSQL_CONFIG = {    "host":"47.110.45.34",    "port":"3306",    "user":"root",    "passwd":"xxxxxx"}if __name__ == '__main__':    mysql_db = mysql.connector.connect(**MYSQL_CONFIG)    print(mysql_db)

MySQLConnectionAbstract常用接口如下mysql.connector.close()断开到MySQL服务器的连接mysql.connector.disconnect()断开到MySQL服务器的连接mysql.connector.reconnect(attempts=1, delay=0)重新建立到MySQL服务器的连接mysql.connector.ping(reconnect=False, attempts=1, delay=0)检查MySQL服务器的可用性mysql.connector.commit()提交当前事务mysql.connector.rollback()回滚当前事务mysql.connector.start_transaction(consistent_snapshot=False,isolation_level=None, readonly=None)启动事务mysql.connector.cursor(buffered=None,raw=None,prepared=None, cursor_class=None,dictionary=None, named_tuple=None)创建一个游标MySQLCursorAbstract常用接口如下:MySQLCursorAbstract.close()关闭游标MySQLCursorAbstract.execute(operation,params=(),multi=False)执行SQL操作MySQLCursorAbstract.executemany(operation, seqparams)执行SQL操作多次MySQLCursorAbstract.fetchone()返回查询结果集的下一行,返回一个tuple或None。MySQLCursorAbstract.fetchmany(size=1)返回查询结果集的后续size行,返回一个tuple的链表或空链表。MySQLCursorAbstract.fetchall()返回查询结果集的所有行,返回一个tuple的链表MySQLCursorAbstract.reset(self, free=True):重置游标到默认状态

3、mysql-connector数据库编程

# -*- coding:utf-8 -*-import mysql.connectorif __name__ == '__main__':    mysql_db = mysql.connector.connect(        host="47.110.45.34",        port="3306",        user="root",        passwd="YangYuLiang@123.com")    mysql_cursor = mysql_db.cursor()    try:        # 创建数据库        mysql_cursor.execute("CREATE DATABASE sites;")        # 使用数据库        mysql_cursor.execute("USE sites;")        # 创建数据库表        mysql_cursor.execute("CREATE TABLE website (name VARCHAR(255), url VARCHAR(255));")        # 创建主键        mysql_cursor.execute("ALTER TABLE website ADD COLUMN id INT AUTO_increment primary key;")        # 插入数据        sql = "insert INTO website (name, url) VALUES (%s, %s);"        value = ("BaiDu", "https://www.baidu.com")        mysql_cursor.execute(sql, value)        mysql_db.commit()    except:        mysql_db.rollback()    # 批量插入数据    sql = "insert INTO website (name, url) VALUES (%s, %s);"    value = [        ('Google', 'https://www.google.com'),        ('Github', 'https://www.github.com'),        ('TaoBao', 'https://www.taobao.com'),        ('HuaWei', 'https://www.huawei.com')    ]    try:        mysql_cursor.executemany(sql, value)        # 更新记录        sql = "update website SET name = 'GitHub' WHERE name = 'Github'"        mysql_cursor.execute(sql)        mysql_db.commit()    except:        mysql_db.rollback()    # 查询记录    try:        mysql_cursor.execute("select * FROM website;")        result = mysql_cursor.fetchall()  # fetchall() 获取所有记录        for x in result:            print(x)        # 删除记录        mysql_cursor.execute("delete FROM website WHERE name='Google';")        # 删除数据库        mysql_cursor.execute("drop DATABASE sites;")        mysql_db.commit()    except:        # 回滚        mysql_db.rollback()    # 关闭数据库连接    mysql_db.close()

二、PyMySQL驱动

1、PyMySQL简介

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。使用pipenv进行包管理,安装命令如下:pipenv install pymysql

2、PyMySQL常用接口

pymysql.Connect(*args, **kwargs)连接到MySQL数据库,建立一个socket连接并返回Connection对象。Connection接收的关键字参数如下:Connection(host=None, user=None, password="",database=None, port=0, unix_socket=None,charset='', sql_mode=None,read_default_file=None, conv=None, use_unicode=None,client_flag=0, cursorclass=Cursor, init_command=None,connect_timeout=10, ssl=None, read_default_group=None,compress=None, named_pipe=None,autocommit=False, db=None, passwd=None, local_infile=False,max_allowed_packet=1610241024, defer_connect=False,auth_plugin_map=None, read_timeout=None, write_timeout=None,bind_address=None, binary_prefix=False, program_name=None,server_public_key=None)Connection常用接口如下:Connection.close()发送退出消息,关闭到MySQL数据库的socket连接Connection.begin()开启事务Connection.commit()提交变化到稳定存储Connection.rollback()回滚当前事务Connection.select_db(self, db):设置当前数据库,db为数据库名称Connection.cursor(self, cursor=None)创建一个用于SQL操作的游标Cursor常用接口如下:Cursor.close()关闭游标Cursor.execute(query, args=None)执行SQL查询操作,返回受影响的行的数量Cursor.executemany(query, args)批量执行SQL查询操作,返回受影响的行的数量Cursor.fetchone()Fetch下一行Cursor.fetchmany(size=None)Fetch多行Cursor.fetchall()Fetch所有的行

3、PyMySQL数据库编程

import pymysqlif __name__ == '__main__':    mysql_db = pymysql.Connect(        host="47.110.45.34",        port=3306,        user='root',        password='YangYuLiang@123.com')    mysql_cursor = mysql_db.cursor()    try:        # 创建数据库        mysql_cursor.execute("CREATE DATABASE sites;")        # 使用数据库        mysql_cursor.execute("USE sites;")        # 创建数据库表        mysql_cursor.execute("CREATE TABLE website (name VARCHAR(255), url VARCHAR(255));")        # 创建主键        mysql_cursor.execute("ALTER TABLE website ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY;")        # 插入数据        sql = "insert INTO website (name, url) VALUES (%s, %s);"        value = ("BaiDu", "https://www.baidu.com")        mysql_cursor.execute(sql, value)        mysql_db.commit()    except:        mysql_db.rollback()    # 批量插入数据    sql = "insert INTO website (name, url) VALUES (%s, %s);"    value = [        ('Google', 'https://www.google.com'),        ('Github', 'https://www.github.com'),        ('TaoBao', 'https://www.taobao.com'),        ('HuaWei', 'https://www.huawei.com')    ]    try:        mysql_cursor.executemany(sql, value)        # 更新记录        sql = "update website SET name = 'GitHub' WHERE name = 'Github'"        mysql_cursor.execute(sql)        mysql_db.commit()    except:        mysql_db.rollback()    # 查询记录    try:        mysql_cursor.execute("select * FROM website;")        result = mysql_cursor.fetchall()  # fetchall() 获取所有记录        for x in result:            print(x)        # 删除记录        mysql_cursor.execute("delete FROM website WHERE name='Google';")        # 删除数据库        mysql_cursor.execute("drop DATABASE sites;")        mysql_db.commit()    except:        # 回滚        mysql_db.rollback()    # 关闭数据库连接    mysql_db.close()
标签:pyt-

SEO小店网站优化 能带来大量精准流量的网站才是好网站,小店网络公司SEO优化推广可以为企业网站带来大量的有效流量。 ...

汉寿网站排名快速提升 汉寿网络公司快速提升企业网站排名,通过网站优化推广,让汉寿企业网站在搜索引擎的排名长期稳定。 ...

SEO张家界网站优化 能带来大量精准流量的网站才是好网站,张家界网络公司SEO优化推广可以为企业网站带来大量的有效流量。 ...

霸王洗发膏怎么用?其实我也是最近才好好洗头的。可以看看下面的:正确的洗发步骤:你总是觉得洗头更容易吗?每次洗完澡,顺便把头发弄湿,把洗发水抹在头上,然后用水冲干净。我相信这是大多数人的做法。但是,我必须很遗憾也很严肃地告诉你,你的洗头工艺真的不对。正确的步骤应该是这样的:洗头前先梳头。这样可以让你头皮上的污垢和鳞片(也就是死细胞)松动,以便于下一步的清洁。第二步:3360打湿头发,直到底层头发和顶...

天地图是什么坐标系?天图采用gcs2000坐标系。国家开始封禁,谷歌地球之后,这些,地理类头条号还能生存吗?我最近也发现了这个问题。谷歌地图的推出可以促进中国地图产业的提升。事实上,这是件好事。没有必要禁止谷歌地图。此外,我们在国外看到的更清楚。没有必要禁止它。另外,我们在谷歌地球上看不到任何有价值的军事机密。最好是向喜欢学习电子地理的朋友开放]总之,要禁止谷歌地图,目前没有对等的替代品,这是历史...

DNF银锭有什么用?等级40以上的战士可以在赫顿马尔广场加入NPC乔安费瑞诺进入地下城。也可以通过入场券进入地下城。进入地下城后,玩家可以自行选择基础护送物资【铜锭】。还可以加上其他地下城获得的【铜锭】【银锭】【金锭】。dnf金锭有什么用:用金锭,银锭等。用金币换票。加了他们之后,通关后奖励会更高。f如何获得镖局的金元宝:1。根据护送物资的价值获得不同的奖励。护送成功后会发放奖励【护送证书】。其他...

TOP