Python通过sql语句操作MySQL数据库


一、常用数据库

在这里插入图片描述

1.1 数据库关键

在这里插入图片描述

1.2 数据库接口

1.2.1 SQL语句方式(直接执行SQL语句)

最原始的方式:简单、直接、高效
缺点:SQL语句非常多,不方便维护

1.2.2 ORM方式(对象关系映射)

一个表就是一个类(类的增删查改==表的增删查改
优点:不需要写SQL语句
表里的一条数据就是一个对象
表里的字段相当于类的成员变量
一条记录的各个值相当于对象里的属性变量


二、Mysql使用

2.1 使用可视化工具SQLyog

在此,我是用的是Mysql可视化轻量级工具:SQLyog
点击:为数据库添加用户
在这里插入图片描述

2.2 使用命令行

创建完用户一定要授权,这样才可以对数据库进行操作
在这里插入图片描述


三、Python操作数据库

pymysql使用步骤
核心类 Connect链接用 和Cursor读写用
1.与数据库服务器建立链接
2.获取游标对象 (用于发送和接收数据)
3.用游标执行sql语句
4.使用fetch方法来获取执行的结果
5.关闭链接 先关游标 再关链接
更多详情

3.1 创建student表

代码如下(示例):

db = pymysql.connect(user='test',host='localhost', password='123456',database='testdb',charset='utf8')
cursor = db.cursor() #创建游标  游标的每个动作会执行到数据库里面
sql = """create table student (
        id int auto_increment primary key,
        name varchar(20) not null,
        age int,
        score int)"""
cursor.execute(sql)
db.close()

结果展示:
在这里插入图片描述

SQLyog中查询新建表信息:

DESC student

在这里插入图片描述

3.2 插入数据

代码如下(示例):

sql = """insert into student(name,age,score) 
        values(%s,%s,%s)"""

cursor.execute(sql,('Tom',34,78))
db.commit()
cursor.execute(sql,('Geroge',14,88))
db.commit()

db.close()

结果展示:
在这里插入图片描述

3.3 Pyhthon中查询结果

代码示例:

#读取
sql = "select name,age,score from student"

cursor.execute(sql) #只是拿到了数据 
for name,age,score in cursor:
    print(name,age,score)

结果展示:
在这里插入图片描述


总结

问题1:操作时出现以下问题:
在这里插入图片描述

解决:若是新建的用户,新建的数据库一定要先登录mysql,再执行python语句去访问,若是不登陆直接执行python语句,会出现刚才的问题。

下一篇:通过ORM方式操作MySQL

猜你喜欢

转载自blog.csdn.net/HG0724/article/details/112323696
今日推荐