前面我们学习了SQLite数据库的相关内容,我们也通过前面的内容学习到了数据库的相关操作,PyMySQL数据库的操作和前面的内容类似,但我们可以通过Navicat直接来查看数据库中的内容,实现数据可视化,前面我们已经完成了下载安装,本节我们直接进入学习。
1. 建立数据连接
我们要使用数据库就首先要建立数据连接,连接的时候我们要使用到connect()函数,这个函数中有很多参数,我们先通过例子来看一下它的用法:
import pymysql con = pymysql.connect(host = 'localhost', user = 'root',password = '123456',database ='python' ,charset = 'utf8',port = 3306) print('连接成功')
输出结果为:
连接成功
参数的介绍如下:
host:数据库主机名或IP地址。
port:连接数据库的端口号。
user:访问数据账号。
passwprd或passwd:数据库密码。
database或db:数据库中的库名。
charset:编码方式。
我们输入的信息一定要和连接的数据库信息保持一致,同时要使数据库处于连接状态。
2. 创建数据表
连接数据库的方式我们在前面已经介绍过,在这里我们直接来通过PyMySQL来创建一个表,它的语法结构和前面类似,我们直接进行使用,看下面代码:
import pymysql con = pymysql.connect(host = 'localhost', user = 'root',password = '123456', database ='python',charset = 'utf8',port = 3306) print('连接成功') cursor = con.cursor()#创建一个游标 cursor.execute("""create table users ( id varchar(8) primary key, name varchar(18), age varchar(8), gender varchar(2), class varchar(2)) """) cursor.close() con.close()
我们运行之后可以在我们的数据库中刷新一下来查看当前表。
我们可以右键users然后选择设计表来查看表结构或者更改。
3. 增加数据
关于MySQL数据库的操作方式和SQLite基本一样,我们在再通过一个例子来学习一下它的使用方式:
代码如下:
import pymysql con = pymysql.connect(host = 'localhost', user = 'root',password = '123456',database ='python', charset = 'utf8',port = 3306) print('连接成功->') cursor = con.cursor()#创建一个游标 print('开始创建表->') cursor.execute("""create table users ( id char(8) primary key, name char(18), age char(8), gender char(2), class char(2)) """) print('完成表的创建,开始插入数据->')#下面开始插入数据 cursor.execute("insert into users(id,name,age,gender,class) values('1001','李华','21','男','1')") cursor.execute("insert into users(id,name,age,gender,class) values('1002','小明','21','男','1')") cursor.execute("insert into users(id,name,age,gender,class) values('1003','小张','20','女','2')") print('插入数据完成,开始查看数据->') cursor.execute('select * from users')#查询数据 for row in cursor: print ("id = ", row[0],"name = ", row[1],"age = ", row[2],"gender = ",row[3], "class = ",row[4]) print('查看数据完成,开始修改数据->')#开始修改数据 cursor.execute("update users set age = 21 where id=1003") cursor.execute('select * from users')#查询数据 for row in cursor: print ("id = ", row[0],"name = ", row[1],"age = ", row[2],"gender = ",row[3], "class = ",row[4]) print('更改数据完成,开始删除数据->')#开始删除数据 cursor.execute("delete from users where id = 1002;") print('删除数据完成,最后数据为->') cursor.execute('select * from users')#查询数据 for row in cursor: print ("id = ", row[0],"name = ", row[1],"age = ", row[2],"gender = ",row[3], "class = ",row[4]) cursor.close() con.commit() con.close()
输出结果为:
连接成功-> 开始创建表-> 完成表的创建,开始插入数据-> 插入数据完成,开始查看数据-> id = 1001 name = 李华 age = 21 gender = 男 class = 1 id = 1002 name = 小明 age = 21 gender = 男 class = 1 id = 1003 name = 小张 age = 20 gender = 女 class = 2 查看数据完成,开始修改数据-> id = 1001 name = 李华 age = 21 gender = 男 class = 1 id = 1002 name = 小明 age = 21 gender = 男 class = 1 id = 1003 name = 小张 age = 21 gender = 女 class = 2 更改数据完成,开始删除数据-> 删除数据完成,最后数据为-> id = 1001 name = 李华 age = 21 gender = 男 class = 1 id = 1003 name = 小张 age = 21 gender = 女 class = 2
数据库中的信息也保持一致,通过这个例子我们使用了前两节所学习到的内容,依次进行了增加、更改及删除操作。
4. 总结
关于数据库的学习就到这里,通过本章的内容主要让大家学习到Python数据库的两种编程接口,通过数据库的基础操作来管理相关数据,如果想要了解更深层次的内容则需要去学习数据库的相关内容。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程