【 python 学习笔记 -- 数据库】Python3 + MySQL

栏目: Python · 发布时间: 6年前

内容简介:【 python 学习笔记 -- 数据库】Python3 + MySQL

【使用工具】 PyMySQL 模块, MySQL

【实例】

1. 利用PyMySQL模块,连接到 MySQL 数据库:

首先我在MySQL中创建了一个数据库,名为tutorial:

【 python 学习笔记 -- 数据库】Python3 + MySQL

打开终端,输入 mysql -u root -p 打开mysql。其中 -u 表示用户名, -p 表示密码。我的用户名为root。

进入mysql后,输入SHOW DATABASES;(不区分大小写)可以显示所有的数据库,注意要在结尾加分号。

然后输入 CREATE DATABASE tutorial创建一个名为tutorial的数据库。

再次SHOW DATABASES; 我们可以看到新增了一个数据库——tutorial。

下一步,在 python 中做如下操作连接到tutorial这个数据库:

【 python 学习笔记 -- 数据库】Python3 + MySQL

【步骤】:

1. 导入pymysql模块。

2.  建立和数据库的连接, 连接成功则返回一个connection对象给db,否则返回None。 pymsql.connect()中输入你的host名,用户名,密码,和想要连接的数据库名。

3. 利用cursor()方法产生一个cursor对象,用于后续执行操作。

4. 利用execute()方法执行操作,这里查询MySQL的版本

5. 获取查询结果,fetchone()方法可取一条数据;fetchall()获取所有数据; rowcount: 只读属性,返回受execute()方法影响的行数。

6. 打印查询结果: 我的结果是Database Version: 5.7.20-log

7. close()断开连接。

2. 创建一个数据库表(Table):

我们创建一个表格名为USERS,它的属性有 名,姓,年龄,性别,收入。

【 python 学习笔记 -- 数据库】Python3 + MySQL

【步骤】:

1.  建立连接,创建cursor对象。 和上文中一样。

2. 执行操作,如果数据库中已经存在名为USERS的表格,删除该表格。

3. 创建表格,名为USERS,具体的属性有first_name (数据类型 VARCHAR(20), 不为空), last_name(数据类型 VARCHAR(20)), age (数据类型 整数), gender (数据类型 CHAR(1)),  income (数据类型(FLOAT))。

4.  断开连接

现在我们利用DESCRIBE USERS,查看USERS表格的详细信息:

【 python 学习笔记 -- 数据库】Python3 + MySQL

3.插入(INSERT)操作:

【 python 学习笔记 -- 数据库】Python3 + MySQL

操作语句如 sql 所在行命令所示,也可以用上面注释的那段命令。 结果向USERS表格中插入了一行数据,first_name为Jade, last_name为Lu, age为26,gender为F,income为20000。

commit()提交改变, 这个操作相当于给数据库一个信号表示确认这些改变。执行此操作后,没法撤回改变。

如果出错, rollback。

结果如下:

【 python 学习笔记 -- 数据库】Python3 + MySQL

4. 查询(SELECT)并获取记录:

【 python 学习笔记 -- 数据库】Python3 + MySQL

上图中SELECT行所在语句表示:搜索在USERS这个表格中所有income属性大于10000的记录

execute()执行, fetchall()返回所有符合搜索条件的记录。

5. 更新操作:

下面例子中,我们更新USERS表格中所有满足gender为'F'的记录,将这些记录的age+1。

在此之前我们可以再添加几个记录,例如

【 python 学习笔记 -- 数据库】Python3 + MySQL

然后我们进行更新操作:

【 python 学习笔记 -- 数据库】Python3 + MySQL

UPDATE所在行语句表示: 更新USERS表格,将gender='F'的年龄设置为在原来基础上加一。由于mysql不区别大小写,我在上述python代码中age写成了AGE,结果也是一样的。

结果如下:

【 python 学习笔记 -- 数据库】Python3 + MySQL

6. 删除操作:

下面例子中我们删除所有age低于25的记录:

【 python 学习笔记 -- 数据库】Python3 + MySQL

结果如下:

【 python 学习笔记 -- 数据库】Python3 + MySQL

【参考链接】

廖雪峰老师的python教程 :

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320107391860b39da6901ed41a296e574ed37104752000

Youtube:

https://www.youtube.com/watch?v=UGu9unCW4PA&list=PL_c9BZzLwBRKn20DFbNeLAAbw4ZMTlZPH

Python 3 教程:

https://www.tutorialspoint.com/python3/python_database_access.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

琢石成器

琢石成器

罗云彬 / 电子工业出版社 / 2009-6 / 89.00元

Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以开发出大型的软件,而且是了解操作系统运行细节的最佳方式。 本书从编写应用程序的角度,从“Hello,World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Win32汇编语言编程的方方面面。 本书作者罗云彬拥有十余年汇编语言编程经验,是汇编编程......一起来看看 《琢石成器》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具