【 python 学习笔记 -- 数据库】Python3 + MySQL
2018-06-18 00:50:27来源:未知 阅读 ()
【使用工具】 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
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:python:面向对象进阶
下一篇:MongoDB
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash