300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python数据存储系列教程——python中mysql数据库操作:连接 增删查改 指令执行

python数据存储系列教程——python中mysql数据库操作:连接 增删查改 指令执行

时间:2021-07-05 13:41:03

相关推荐

python数据存储系列教程——python中mysql数据库操作:连接 增删查改 指令执行

全栈工程师开发手册 (作者:陈玓玏)

python教程全解

调试环境python3.6,调试python操作mysql数据库,首先要在本地或服务器安装mysql数据库。安装参考:/luanpeng825485697/article/details/77816790。

在python2.7下,我们使用MySQLdb库点击下载

在python3.6下我们使用pymysql库点击下载

安装python库的方法,请查看Python库的安装与卸载

安装成功后就可以编程代码实现python对mysql数据库的操作了

python3.6下代码如下

#coding:utf-8#python3.6使用pymysql操作mysqlprint("=====================mysql数据库=====================")import pymysql.cursors# 连接数据库connect = pymysql.Connect(host='127.0.0.1',port=3306,user='root',passwd='19910101a',db='note',charset='utf8')# 获取游标cursor = connect.cursor()#删除表sql = 'DROP TABLE IF EXISTS student'cursor.execute(sql)mit()print('如果存在表就删除表格')#创建表格sql = "CREATE TABLE student(id INTEGER PRIMARY KEY,name TEXT)"try:cursor.execute(sql)mit()except:print("表已存在")print('成功创建表格')# 插入数据sql = "INSERT INTO student VALUES(%d,'%s')"data = (1, 'student1')cursor.execute(sql % data)mit()print('成功插入', cursor.rowcount, '条数据')# 查询数据方法2,注意这种方式会自动帮你添加引号sql = "INSERT INTO student VALUES(%s,%s)"data = (1, 'student1')cursor.execute(sql, data)mit()print('成功插入', cursor.rowcount, '条数据')# 修改数据sql = "UPDATE student SET name = '%s' WHERE id = %d "data = ('student2', 1)cursor.execute(sql % data)mit()print('成功修改', cursor.rowcount, '条数据')# 查询数据sql = "SELECT * FROM student WHERE id=%d"data = (1,)cursor.execute(sql % data)for row in cursor.fetchall():print("%s" % str(row))print('共查找出', cursor.rowcount, '条数据')# 删除数据sql = "DELETE FROM student WHERE id = %d LIMIT %d"data = (1, 1)cursor.execute(sql % data)mit()print('成功删除', cursor.rowcount, '条数据')# 事务处理sql_1 = "UPDATE student SET name = name + '1' WHERE id = 1 "try:cursor.execute(sql_1)except Exception as e:connect.rollback() # 事务回滚print('事务处理失败', e)else:mit() # 事务提交print('事务处理成功', cursor.rowcount)# 关闭连接cursor.close()connect.close()#pymysql.Connect()参数说明#host(str):MySQL服务器地址#port(int):MySQL服务器端口号#user(str):用户名#passwd(str): 密码#db(str): 数据库名称#charset(str): 连接编码##connection对象支持的方法#cursor() 使用该连接创建并返回游标#commit() 提交当前事务#rollback()回滚当前事务#close() 关闭连接##cursor对象支持的方法#execute(op)执行一个数据库的查询命令#fetchone()取得结果集的下一行#fetchmany(size) 获取结果集的下几行#fetchall()获取结果集中的所有行#rowcount()返回数据条数或影响行数#close() 关闭游标对象

python2.7下代码如下

如果连接失败会报错。

#coding:utf-8#python2.7使用MySQLdb操作mysqlimport MySQLdbprint("=====================mysql数据库=====================")getRC = lambda cur: cur.rowcount if hasattr(cur, 'rowcount') else -1#获取游标所指向是数据的行数HOST = "127.0.0.1" #数据库主机USER = 'root' #用户名PASSWORD = '111111' #密码DBNAME = 'note' #数据名称try:conn = MySQLdb.connect(HOST,USER,PASSWORD,DBNAME) #连接mysql数据库,参数:主机号、用户名、密码、数据库curs=conn.cursor()# 获取游标curs.execute('CREATE TABLE student(id INTEGER PRIMARY KEY,name TEXT)') # 执行代码,创建表和字段curs.execute("INSERT INTO student VALUES(1,'student1')"); # 添加记录 curs.execute("INSERT INTO student VALUES(%d, '%s')" % (2, 'student2'))#添加记录mit() # 每次执行完后都应该保存except Exception:print("数据表和记录已经添加")finally:curs.execute("UPDATE student SET name='student3' WHERE id=2") #更新记录curs.execute("SELECT * FROM student") # 查询记录for row in curs.fetchall():print(row[0],row[1])curs.execute('DELETE FROM student WHERE id=%d' % 1) #删除记录curs.execute('DROP TABLE student')#删除表curs.close() #关闭游标conn.close() #关闭连接

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。