内容简介:【 python 学习笔记 -- 数据库】Python3 + MySQL
【使用工具】 PyMySQL 模块, MySQL
【实例】
1. 利用PyMySQL模块,连接到 MySQL 数据库:
首先我在MySQL中创建了一个数据库,名为tutorial:
打开终端,输入 mysql -u root -p 打开mysql。其中 -u 表示用户名, -p 表示密码。我的用户名为root。
进入mysql后,输入SHOW DATABASES;(不区分大小写)可以显示所有的数据库,注意要在结尾加分号。
然后输入 CREATE DATABASE tutorial创建一个名为tutorial的数据库。
再次SHOW DATABASES; 我们可以看到新增了一个数据库——tutorial。
下一步,在 python 中做如下操作连接到tutorial这个数据库:
【步骤】:
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,它的属性有 名,姓,年龄,性别,收入。
【步骤】:
1. 建立连接,创建cursor对象。 和上文中一样。
2. 执行操作,如果数据库中已经存在名为USERS的表格,删除该表格。
3. 创建表格,名为USERS,具体的属性有first_name (数据类型 VARCHAR(20), 不为空), last_name(数据类型 VARCHAR(20)), age (数据类型 整数), gender (数据类型 CHAR(1)), income (数据类型(FLOAT))。
4. 断开连接
现在我们利用DESCRIBE USERS,查看USERS表格的详细信息:
3.插入(INSERT)操作:
操作语句如 sql 所在行命令所示,也可以用上面注释的那段命令。 结果向USERS表格中插入了一行数据,first_name为Jade, last_name为Lu, age为26,gender为F,income为20000。
commit()提交改变, 这个操作相当于给数据库一个信号表示确认这些改变。执行此操作后,没法撤回改变。
如果出错, rollback。
结果如下:
4. 查询(SELECT)并获取记录:
上图中SELECT行所在语句表示:搜索在USERS这个表格中所有income属性大于10000的记录
execute()执行, fetchall()返回所有符合搜索条件的记录。
5. 更新操作:
下面例子中,我们更新USERS表格中所有满足gender为'F'的记录,将这些记录的age+1。
在此之前我们可以再添加几个记录,例如
然后我们进行更新操作:
UPDATE所在行语句表示: 更新USERS表格,将gender='F'的年龄设置为在原来基础上加一。由于mysql不区别大小写,我在上述python代码中age写成了AGE,结果也是一样的。
结果如下:
6. 删除操作:
下面例子中我们删除所有age低于25的记录:
结果如下:
【参考链接】
廖雪峰老师的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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 《数据库系统实现》学习笔记
- 架构师学习笔记-数据库范式等
- thinkPHP学习笔记之数据库操作(二)
- 后端产品经理笔记之查询数据库
- Flask学习笔记--数据库(Python3.6)
- 工程师笔记:我对数据库系统云原生化的一些思考
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。