Python连接Mysql数据库入门

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值