使用Python实现数据库连接与操作

使用Python实现数据库连接与操作在使用Python操作数据库之前,我们需要先连接数据库。Python中很多第三方库可以支持数据库连接,如PyMySQL、psycopg2等。

一、连接数据库

在使用Python操作数据库之前,我们需要先连接数据库。Python中很多第三方库可以支持数据库连接,如PyMySQL、psycopg2等。

以PyMySQL为例,在使用之前需要先安装PyMySQL库。

    
        pip install PyMySQL
    

连接数据库需要提供数据库的地址、用户名、密码、数据库名等信息,具体代码如下:

    
        import pymysql

        db = pymysql.connect(
            host='localhost',
            user='root',
            password='password',
            database='database_name'
        )
    

上述代码中,db就是所连接的数据库

二、创建表

在连接数据库之后,我们可以通过Python代码创建表。创建表需要使用SQL语句,使用Python的MySQLCursor.execute()方法执行SQL语句即可。

    
        import pymysql
    
        db = pymysql.connect(
            host='localhost',
            user='root',
            password='password',
            database='database_name'
        )
    
        cursor = db.cursor()

        # SQL语句
        sql = '''
            CREATE TABLE `users` (
                `id` int(11) NOT NULL AUTO_INCREMENT,
                `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
                `age` int(11) DEFAULT NULL,
                `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
                PRIMARY KEY (`id`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
        '''

        # 执行SQL语句
        cursor.execute(sql)

        # 提交到数据库
        db.commit()

        # 关闭游标和数据库连接
        cursor.close()
        db.close()
    

上述代码中,我们使用了CREATE TABLE语句创建了一个名为users的表,表中包含了id、name、age、email四个字段。

三、插入数据

在创建了表之后,我们可以使用Python代码向表中插入数据。插入数据同样需要使用SQL语句,Python的MySQLCursor.execute()方法同样可以执行插入数据的SQL语句。

    
        import pymysql
    
        db = pymysql.connect(
            host='localhost',
            user='root',
            password='password',
            database='database_name'
        )
    
        cursor = db.cursor()

        # SQL语句
        sql = "INSERT INTO `users`(`name`, `age`, `email`) VALUES ('Tom', 20, 'tom@example.com')"

        # 执行SQL语句
        cursor.execute(sql)
        
        # 提交到数据库
        db.commit()

        # 关闭游标和数据库连接
        cursor.close()
        db.close()
    

上述代码中,我们使用INSERT INTO语句向users表中插入了一条数据。

四、查询数据

在向表中插入了数据之后,我们可以使用Python代码查询数据。查询数据同样需要使用SQL语句,Python的MySQLCursor.execute()方法同样可以执行查询数据的SQL语句。查询数据之后需要使用MySQLCursor.fetchall()方法获取查询结果,并且必须在查询完毕之后关闭游标。

    
        import pymysql

        db = pymysql.connect(
            host='localhost',
            user='root',
            password='password',
            database='database_name'
        )

        cursor = db.cursor()

        # SQL语句
        sql = "SELECT * FROM `users`"

        # 执行SQL语句
        cursor.execute(sql)

        # 获取查询结果
        results = cursor.fetchall()

        for row in results:
            id = row[0]
            name = row[1]
            age = row[2]
            email = row[3]

            print(f"id={id}, name={name}, age={age}, email={email}")

        # 关闭游标和数据库连接
        cursor.close()
        db.close()
    

上述代码中,我们使用SELECT语句查询了users表中的所有数据,并将查询结果打印输出。

五、更新数据

在查询到数据之后,我们也可以使用Python代码更新数据。更新数据同样需要使用SQL语句,并且需要使用Python的MySQLCursor.execute()方法执行更新数据的SQL语句。

    
        import pymysql

        db = pymysql.connect(
            host='localhost',
            user='root',
            password='password',
            database='database_name'
        )

        cursor = db.cursor()

        # SQL语句
        sql = "UPDATE `users` SET `email`='tom_new@example.com' WHERE `name`='Tom'"

        # 执行SQL语句
        cursor.execute(sql)

        # 提交到数据库
        db.commit()

        # 关闭游标和数据库连接
        cursor.close()
        db.close()
    

上述代码中,我们使用UPDATE语句将users表中name为Tom的记录的email字段更新为tom_new@example.com。

六、删除数据

在删除数据之前,我们需要知道需要删除哪些数据,并且需要使用SQL语句执行删除数据的操作。Python的MySQLCursor.execute()方法同样可以执行删除数据的SQL语句。

    
        import pymysql

        db = pymysql.connect(
            host='localhost',
            user='root',
            password='password',
            database='database_name'
        )

        cursor = db.cursor()

        # SQL语句
        sql = "DELETE FROM `users` WHERE `name`='Tom'"

        # 执行SQL语句
        cursor.execute(sql)

        # 提交到数据库
        db.commit()

        # 关闭游标和数据库连接
        cursor.close()
        db.close()
    

上述代码中,我们使用DELETE语句将users表中name为Tom的记录删除。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/22472.html

(0)
上一篇 2024-01-20
下一篇 2024-01-20

相关推荐

  • 技术分享 | 从库 MTS 多线程并行回放(一)[通俗易懂]

    技术分享 | 从库 MTS 多线程并行回放(一)[通俗易懂]作者:高鹏(八怪) 本节包含分发调用流程请参考链接: https://www.jianshu.com/p/8706d7422d89 一、综述 与单 SQL 线程的回放不同,MTS 包含多个工作线程,…

    2023-01-29
    137
  • MySQL Explain 详解(优化MySQL性能第一步)「建议收藏」

    MySQL Explain 详解(优化MySQL性能第一步)「建议收藏」MySQL Explain 详解 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句。分析你的查询预付或表结构的性能瓶颈。 查询结果返回字段分析 1…

    2023-03-22
    130
  • MySQL8.0.26安装与卸载

    MySQL8.0.26安装与卸载一、安装 1.官网下载 百度进入官网,学习用社区版够了,我下的是压缩版点这直达下载页 据说8.X版本性能优化,比5.7版本快2倍! 接着,不登录直接下载 2.创建配置 下载完后,建议解压到一个没有中文

    2023-04-19
    136
  • 巨杉内核笔记 | MVCC多版本控制原理

    巨杉内核笔记 | MVCC多版本控制原理1 背景 随着分布式数据库在企业中的广泛应用,并且逐渐从解决海量数据的存储和读取这类边缘业务向核心交易业务应用的转变。在这类核心交易业务应用时,为了保证业务和数据的正确性,分布式数据库必须支持完善的…

    2023-02-22
    124
  • 使用Python判断素数

    使用Python判断素数素数是指除了1和本身以外,不能被其他正整数整除的数。判断一个数是否为素数,在计算机编程中非常常见。Python作为一门高级编程语言,也可以用来进行素数的判断。

    2024-07-15
    22
  • Oracle学习笔记二十七:索引的使用

    Oracle学习笔记二十七:索引的使用一、索引概念 • 在关系数据库中,索引是一种与表有关的数据库对象,它可以使对应于表的SQL查询语句执行得更快。 • 索引的作用类似于图书的目录,可以根据目录中的页码快速找到所需的内容。 • 对于数据库

    2023-05-22
    129
  • mysql配置问题「建议收藏」

    mysql配置问题「建议收藏」mysql8.0版本在配置文件my.ini[mysqld]加上skip-grant-tables后无法启动 需要手动去任务管理器中,关闭mysql服务,步骤如下: 需要用管理员身份打开一个命令提示符…

    2023-04-05
    136
  • mongodb条件查询语句_数据与数据元素的关系

    mongodb条件查询语句_数据与数据元素的关系这里记录一个查询需求:数据库中字段的值(数组类型)都在指定的数组中。举例说一下实际场景,数据库中一个字段存储用户“可以使用的编程语言”,一般都会是多个,所以该字段是数组格式。现在要查询的是:会c#、j

    2023-05-02
    126

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注