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

python教程全解

调试环境python2.7,调试python操作mysql数据库,首先要在本地或服务器安装mysql数据库。如何安装自行百度。

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

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

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

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

python2.7下代码如下

如果连接失败会报错。

#coding:utf-8
#python2.7使用MySQLdb操作mysql
import MySQLdb
print("=====================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')) #添加记录
conn.commit() # 每次执行完后都应该保存
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() #关闭连接

python3.6下代码如下

#coding:utf-8
#python3.6使用pymysql操作mysql
print("=====================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)
connect.commit()
print('如果存在表就删除表格')

#创建表格
sql = "CREATE TABLE student(id INTEGER PRIMARY KEY,name TEXT)"
try:
cursor.execute(sql)
connect.commit()
except:
print("表已存在")
print('成功创建表格')

# 插入数据
sql = "INSERT INTO student VALUES(%d,'%s')"
data = (1, 'student1')
cursor.execute(sql % data)
connect.commit()
print('成功插入', cursor.rowcount, '条数据')

# 修改数据
sql = "UPDATE student SET name = '%s' WHERE id = %d "
data = ('student2', 1)
cursor.execute(sql % data)
connect.commit()
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)
connect.commit()
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:
connect.commit() # 事务提交
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() 关闭游标对象

更多相关文章

  1. Python3.6实现scrapy框架爬取数据并将数据插入MySQL与存入文档中
  2. mysql数据库的主从同步过程详述
  3. 工作日记(连接SQL Sever 2005服务器数据库)
  4. docker应用-6(mysql+mycat 搭建数据库集群)
  5. mysql数据库基本操作指南
  6. 项目连接MySQL数据库,提示异常
  7. Excel数据快速导入mysql的几个办法
  8. MySQL数据库SQL语法
  9. 新导入项目数据库导入失败

随机推荐

  1. PHP:如何通过sprintf()添加前导零/零填充浮
  2. 如果不使用OAuth - PHP库,如何使用OAuth和
  3. 提交动态复选框表单并成对获取值
  4. It saves without an error, but it stil
  5. 单引号,双引号,javascript,HTML,转义字符
  6. PHP 网站模板核心类
  7. 如何在php数组中获取php键值
  8. WordPress注册和用户注册是分开的
  9. Php简单的html dom删除特定类的div
  10. 豆瓣的账号登录及api操作