栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python操作mysql数据库(增,删,改,查)(python实现数据库的增删改查)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python操作mysql数据库(增,删,改,查)(python实现数据库的增删改查)

前提:python3.x----三方库—pymysql—pip install pymysql

一、连接数据库

操作数据库的第一步,首先要连接

import pymysql
#打开数据库连接
conn = pymysql.connect('localhost',user = "username",passwd = "password",db = "testdb")
print (conn)
print (type(conn))
二、获取游标

游标是用于操作数据库----可用于增删查改等其他操作

# 代码接上---连接数据库
#获取游标
cursor=conn.cursor()
print(cursor)

注:所有操作的基础是在连接数据库并拿到游标的基础上!
以下代码都是在拿到游标的基础上进行,连接和拿到游标的代码不在给出

三、创建数据库
'''创建数据库'''
def create_database():
	#创建pythonBD数据库
	sql_create_database = """CREATE DATAbase IF NOT EXISTS pythonDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci"""   # sql语句
	cursor.execute(sql_create_database)
	cursor.close()#先关闭游标
	conn.close()#再关闭数据库连接
	print('创建pythonBD数据库成功')
四、创建表
def create_table():
	#创建user表
	cursor.execute('drop table if exists user')   # 删除表
	sql_create_table = """CREATE TABLE IF NOT EXISTS user(
		  id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
		  name varchar(255) NOT NULL,
		  number int NOT NULL
		) """
	cursor.execute(sql)
	cursor.close()#先关闭游标
	conn.close()#再关闭数据库连接
	print('创建数据表成功')
五、增----可实现三种插入模式

insert_form:有如下三种
insert:当有与主键相同值插入时,不会插入数据并报错
insert ignore:当有与主键相同值插入时,忽略该条记录不插入但不报错
replace:当有与主键相同值插入时,删除原有记录重新插入新记录值

def insert_data(insert_form, insert_table):
	sql_insert = """{} into {}(id,name,number) values(%s,%s,%s)""".format(insert_form, insert_table)
	cur.execute(sql_insert % (1,'lewis',44))
	conn.commit()   # 一定不能忘记commit
	cur.close()
	conn.close()
	print('插入数据成功')
六、删

注:删除权限请谨慎使用,一旦删除,恢复比较麻烦,本人这里仅允许一条一条的删除数据!

def delete_data(delete_table):
	sql_selete = """delete from {} where id=%d""".format(delete_table)
	cur.execute(sql_selete %(1))
	conn.commit()   # 一定不能忘记commit
	cur.close()
	conn.close()
	print('删除数据成功')
七、改

注:在外面增加循环,可更改任意字段

def update_data(update_table, **kwargs):
	sql_selete = """update {} set {}=%s where name=%s""".format(update_table, key)   # key、value为kwargs的key与value
	cur.execute(sql_selete %(1, value))
	conn.commit()   # 一定不能忘记commit
	cur.close()
	conn.close()
	print('更新数据成功')
八、查

注:如果想加限制条件自己添加where语句

def select_data(select_table):
	sql_select = """select * from {}""".format(update_table)
	cur.execute(sql_selete)
	results = cursor.fetchall()   # cursor. fetchall():接收全部的返回结果行。fetchone()、fetchmany(size)与fetchall()的区别自行百度
	print(results)  # 只是查询结果,如有需要自行解析
	cur.close()
	conn.close()

注:可以添加try语句,增加代码的健壮性—即sql语句可以放在try中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772767.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号