python之对mysql数据库的相关操作

  python中的pymysql库提供了针对mysql数据的操作接口。

  简要记录一下常用操作:

  提前说明一下:在进行增加、修改和删除操作时,需要:

    try:

    # 提交到数据库执行
          sql_conn.commit()

    except:

    # 发生错误时回滚
          sql_conn.rollback()

  如果不执行提交操作,sql语句不会生效。

  1.链接数据库

 

# mysql数据库
import pymysql as sql
# 建立数据库连接
sql_conn = sql.connect('localhost', user="root", passwd="123456", db="testdb")
# 获取操作游标
cursor = sql_conn.cursor()

  2.增加数据

 

sql = "INSERT INTO photoinfo(user_id, \
                               photo_name_1, photo_name_2, photo_name_3) \
                               VALUES ('%s', '%s', '%s', '%s')" % \
          (user_id, photo_names[0], photo_names[1], photo_names[2])
    try:
        # 执行sql语句
        cursor.execute(sql)
        # 提交到数据库执行
        sql_conn.commit()
    except:
        # 发生错误时回滚
        sql_conn.rollback()
        return False
    return True

   3. 查询操作

 

cursor.execute("select * from photoinfo where user_id = '%s'" %(user_id))
data = cursor.fetchone()
if data:
    # 获取到数据
    return True
else:
    # 未获取到对应数据
    return False

   4. 删除操作

    try:
        cursor.execute("delete from photoinfo where user_id = '%s'" % (user_id))
        sql_conn.commit()
    except:
        # 发生错误时回滚
        sql_conn.rollback()

   5. cursor对数据的操作

 

#获取读取的一条数据
cursor.fetchone()
#获取所有数据
cursor.fetchall()
#获取多条数据 --------- 获取前number条数据
cursor.fetchmany(number)

#遍历获取的数据
for data in cursor:
    #data相当于一个list,data[0]对应读取数据表格的第一个字段,以此类推
    if data[0] == '1':
        data[1] = 'test'
    else:
        data[2] = 'test1'

 

posted @ 2020-06-12 14:55  明朝乘扁舟  阅读(150)  评论(0)    收藏  举报