• 在python中连接mysql数据库,并进行增删改查


    数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查。

    安装mysql的python扩展

    使用MySQLdb第三方扩展库连接mysql,首先在python解析器下,查看MySQLdb是否已经安装,命令如下:

    import MySQLdb
    

    如果没有安装会出现下面的错误:

    ImportError: No module named MySQLdb
    

    安装MySQLdb ,分不同的平台,在windows下,在连接https://pypi.python.org/pypi/MySQL-python/1.2.5 下载MySQL-python-1.2.5.win32-py2.7.exe 进行安装,安装的过程跟普通的软件并没有什么区别。

    centos下使用命令进行安装:

    sudo yum install MySQL-python
    

    安装完成后,在进行import MySQLdb 就不会再报错了。

    连接mysql,并进行增删改查

    通常在进行数据库操作时,程序使用的是如下的过程:

    • 连接数据库,返回连接句柄

    • 使用连接句柄进行SQL语句的操作

    • 关闭数据库连接

    如下的代码更加能过看清这个过程:

    #!/usr/bin/python
    #coding=utf-8
    
    """
    start python 项目
    """
    
    
    import MySQLdb
    
    conn= MySQLdb.connect(
            host='localhost',
            port = 3306,
            user='root',
            passwd='123456',
            db ='test',
            )
    cur = conn.cursor()
    
    
    
    #执行sql语句
    cur.execute("insert into bugingcode values('阿猫学编程')")
    conn.commit()
    
    #返回数据
    cur.execute("select * from bugingcode")
    datacur = cur.fetchall()
    print datacur
    
    
    #关闭连接
    cur.close()
    conn.close()
    

    MySQLdb中常用函数

    • MySQLdb 连接数据库:

      1. conn= MySQLdb.connect #连接数据库
      2. cur = conn.cursor() #返回当前句柄
      3. commit() #提交
      4. rollback() #回滚
    • cursor执行sql语句的方法:

      1. execute(self, query, args): 执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数

      2. callproc(self, procname, args) :用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数

      3. executemany(self, query, args): 执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数

      4. nextset(self) 移动到下一个结果集

    • cursor用来接收返回值的方法:

      1. fetchall(self): 接收全部的返回结果行.

      2. fetchmany(self, size=None) :接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.

      3. fetchone(self): 返回一条结果行.

      4. rowcount 这是一个只读属性,并返回执行execute() 方法后影响的行数。

      5. scroll(self, value, mode='relative') :移动指针到某一行; 如果mode='relative',则表示从当前所在行移动value条,如果 mode='absolute',则表示从结果集的第一行移动value条.

    • 关闭连接

    关闭当前句柄:

        cur.close()
    

    关闭当前连接:

    conn.close()
    

    进一步封装

    MySQLdb 的封装,在网上有很多封装类,可以选择一个或者根据自己的需求,写一个适合自己的连接库。

    更多教程:大家来编程

  • 相关阅读:
    流程控制语句
    lminus
    TCL create list from file
    DFT 问答 III
    DFT 问答 II
    DFT 问答 I
    猜字符小游戏
    用户模式构造
    基元线程同步构造
    七大原则,24种设计模式
  • 原文地址:https://www.cnblogs.com/bugingcode/p/8296465.html
Copyright © 2020-2023  润新知