Python 连接mysql数据库入门教程
直接上代码
数据库建表省略
要执行哪段代码把#去掉即可;有文字解释
难度 : ⭐⭐(全星5颗星的情况下)
import pymysql # 导入模块 根据PyCharm 自动导入模块,也可以 根据豆瓣的镜像导入模块
# 创建链接数据库 工具方法
def connect():
config = {'host': '127.0.0.1', # 默认127.0.0.1
'user': 'root',
'password': 'root',
'port': 3306, # 默认即为3306
'database': 'db200',
'charset': 'utf8' # 默认即为utf8
}
# 简洁写法
# db = pymysql.connect("localhost", "root", "root", "day17")
try:
mydb = pymysql.connect(**config) # connect方法加载config的配置进行数据库的连接,完成后用一个变量进行接收
except pymysql.connector.Error as e:
print('数据库链接失败!', str(e))
else: # try没有异常的时候才会执行
print("数据库连接sucessfully!")
return mydb
# 插入
# sql = "INSERT INTO site (name, url) VALUES (%s, %s)"
# val = ("RUNOOB", "https://www.baidu.com")
# 定义一个插入方法,
def add(mydb, sql, val):
mycursor = mydb.cursor()
mycursor.execute(sql, val)
mydb.commit() # 数据表内容有更新,必须使用到该语句
print(mycursor.rowcount, "记录插入成功。")
# 更新
# sql = "UPDATE sites SET name = %s WHERE name = %s"
# val = ("Zhihu", "ZH")
# 定义一个更新方法
def update(mydb, sql, val):
mycursor = mydb.cursor()
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, " 条记录被修改")
# 查询
# sql="SELECT * FROM site"
def query(mydb, sql):
mycursor = mydb.cursor()
mycursor.execute(sql)
myresult = mycursor.fetchall() # fetchall() 获取所有记录
for x in myresult: # 使用for循环进行遍历
print(x)
return myresult # 返回的是一个元组
# 删除
# sql = "DELETE FROM site WHERE name = 'stackoverflow'"
def delete(mydb, sql):
mycursor = mydb.cursor()
mycursor.execute(sql)
mydb.commit()
print(f"{mycursor.rowcount}条记录删除")
# 测试的代码
print("=" * 50)
# 插入
# mydb = connect()
# sql = "INSERT INTO site (name, url) VALUES (%s, %s)"
# val = ("大红", "https://www.baidu.com")
# print(mydb) #打印的是地址
# add(mydb,sql,val) 调用add方法(函数)
# 更新
# mydb = connect()
# sql = "UPDATE site SET name = %s WHERE name = %s"
# val = ("大君", "大红")
# update(mydb,sql,val)
# 查询全部
# mydb = connect()
# sql="SELECT * FROM site"
# res=query(mydb,sql)
# print(res) #((1, 'dajun', 'www.vaidsad'), (2, '大军', 'https://www.baidu.com'), (3, '大军', 'https://www.baidu.com'), (4, '大君', 'https://www.baidu.com'))
# 打印的是一个元组 python 里面没有泛型的概念
# 删除 按条件删除
# mydb = connect()
# sql = "DELETE FROM site WHERE name = '大君'"
# delete(mydb,sql)
#2020.5.16 Sunday By Johnson