Python Mysql 笔记

安装

如何MySql数据库,咱不说了,不会的自己百度。但是安装好了MySql还要安装python的MySql 库。通过下面命令安装:

pip install mysql

提示安装成功即可

  • 验证下是否成功
class DBTest(object):
    def __init__(self):
        self.db = mysqldb.connect("localhost", "root", "123456", "test", charset='utf8')
        self.cursor = self.db.cursor()

    def get_version(self):
        # 使用cursor()方法获取操作游标

        # 使用execute方法执行SQL语句
        self.cursor.execute("SELECT VERSION()")

        # 使用 fetchone() 方法获取一条数据
        data = self.cursor.fetchone()

        print("Database version : %s " % data)

    def __del__(self):
        # 关闭数据库连接
        self.db.close()


if __name__ == "__main__":
    db_test = DBTest()
    db_test.get_version()

返回下面说明成功了

atabase version : 5.5.62

基本操作

我在之前代码基础上,实现了数据库的基本操作:
表结构如下:
在这里插入图片描述
这需要了解数据库的基本语句,

 def insert_data(self):
        insert_sql = "INSERT INTO douban_commits (id, commits_text, commits_score, commits_use_count," \
                     " commits_user_name, commits_date) VALUES (%s,%s,%s,%s,%s, %s)" % \
                     ("'sfs'", "'sdfs'", "'sdsdf'", "'sdsdf'", "'fsfdf'", "'7987'")
        try:
            self.cursor.execute(insert_sql)
            self.db.commit()
        except:
            print("insert error!")
    def delete_data(self):
        delete_sql = "delete from douban_commits where id like 'sfs' "
        try:
            self.cursor.execute(delete_sql)
            self.db.commit()
        except:
            print("delete error")
    def select_data(self):
        select_sql = "select * from douban_commits"
        try:
            self.cursor.execute(select_sql)
            results = self.cursor.fetchall()
            for row in results:
                print(row)
        except:
            print("insert error!")
    def update_data(self):
        update_sql = "update douban_commits set commits_text = 'test' where id like '111s'"
        try:
            self.cursor.execute(update_sql)
            self.db.commit()
        except:
            print("update error")

总的代码如下:

lass DBTest(object):
    def __init__(self):
        self.db = mysqldb.connect("localhost", "root", "123456", "test", charset='utf8')
        self.cursor = self.db.cursor()

    def get_version(self):
        # 使用cursor()方法获取操作游标

        # 使用execute方法执行SQL语句
        self.cursor.execute("SELECT VERSION()")

        # 使用 fetchone() 方法获取一条数据
        data = self.cursor.fetchone()

        print("Database version : %s " % data)

    def insert_data(self):
        insert_sql = "INSERT INTO douban_commits (id, commits_text, commits_score, commits_use_count," \
                     " commits_user_name, commits_date) VALUES (%s,%s,%s,%s,%s, %s)" % \
                     ("'sfs'", "'sdfs'", "'sdsdf'", "'sdsdf'", "'fsfdf'", "'7987'")
        try:
            self.cursor.execute(insert_sql)
            self.db.commit()
        except:
            print("insert error!")

    def select_data(self):
        select_sql = "select * from douban_commits"
        try:
            self.cursor.execute(select_sql)
            results = self.cursor.fetchall()
            for row in results:
                print(row)
        except:
            print("insert error!")

    def delete_data(self):
        delete_sql = "delete from douban_commits where id like 'sfs' "
        try:
            self.cursor.execute(delete_sql)
            self.db.commit()
        except:
            print("delete error")

    def update_data(self):
        update_sql = "update douban_commits set commits_text = 'test' where id like '111s'"
        try:
            self.cursor.execute(update_sql)
            self.db.commit()
        except:
            print("update error")

    def __del__(self):
        # 关闭数据库连接
        self.db.close()


if __name__ == "__main__":
    db_test = DBTest()
    db_test.update_data()

如何插入中文字符

  • 到安装目录下,找到my.ini文件
    在这里插入图片描述
  • 设置编码为utf8
    分别设置下面的参数:

default-character-set=utf8
character-set-server=utf8

  • 创建table时,设置编码格式为utf8

每个字段都要设置编码格式

在这里插入图片描述

  • 设置整张表的编码格式:

在这里插入图片描述

期待您的关注
在这里插入图片描述
注意:
update_sql = “update douban_commits set commits_text = ‘test’ where id like ‘111s’”,
拿这条语句来说,like ‘111s’ 而不是 like 111s,不然误以为是关键字,导致报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术人Howzit

钱不钱的无所谓,这是一种鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值