连接数据库测试

在环境配置之后安装pymysql(3.x版本要求), 测试没问题就可以进行数据的相关操作了,先看下数据库版本,代码如下:

import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='mysql') #这里写上面设置的密码
cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
row = cursor.fetchone()
print("MySQL server version:", row[0])

现在用一个test数据库,里面有一个users表,数据如下,

连接数据库测试_第1张图片

 


import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='test') #这里写上面设置的密码
cursor = conn.cursor()
cursor.execute("select * from users")
row = cursor.fetchone()
print("getData:", row)
s
cursor.close()
conn.close()

结果如下:

连接数据库测试_第2张图片

成功获取到了第一条数据。

 删除一条数据,注意事物的使用,如果不提交的话,不能够进行删,改,加操作的

import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='test') #这里写上面设置的密码
cursor = conn.cursor()
sql = "delete from users where uid = '%d'" % (7)
sql2 = "insert into users (username,passwordd) values('liping','123456')"
try:
    cursor.execute(sql)
  #  cursor.execute(sql2)

    conn.commit()
except:
    conn.rollback()
print(sql)
cursor.close()
conn.close()

结果如下:

连接数据库测试_第3张图片

为了明显看出sql执行失败,进行回滚,此处故意将添加时的字段设成passwordd(多一个d)

import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='test') #这里写上面设置的密码
cursor = conn.cursor()
sql = "delete from users where uid = '%d'" % (7)
sql2 = "insert into users (username,passwordd) values('liping','123456')"
try:

    print("sql1")
    cursor.execute(sql)
    print("sql2")
    cursor.execute(sql2)
    conn.commit()
except:
    conn.rollback()
    print("rollback")
print(sql)
cursor.close()
conn.close()

连接数据库测试_第4张图片

删除一条没有的记录是不报错的,再将错误的sql改正确,

import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='test') #这里写上面设置的密码
cursor = conn.cursor()
sql = "delete from users where uid = '%d'" % (7)
sql2 = "insert into users(username,password) values('liping','123456')"
try:

    print("sql1")
    cursor.execute(sql)
    print("sql2")
    cursor.execute(sql2)
    conn.commit()
    print("commit")
except:
    conn.rollback()
    print("rollback")
print(sql)
cursor.close()
conn.close()

结果如下:

 连接数据库测试_第5张图片

 改的话也要注意commit。

你可能感兴趣的:(python)