DC学院学习笔记(九):利用Python进行数据库操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 利用Python进行数据库操作

用python进行数据库操作,感觉蛮酷的。

PyMySQL

安装

OK,最新的安装已经支持pip。

pip install pymysql

创建名为user的表格以备后续操作

CREATE TABLE `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `email` varchar(255) COLLATE utf8_bin NOT NULL,
    `password` varchar(255) COLLATE utf8_bin NOT NULL,
    PRIMARY KEY (`id`)
) 
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;

利用Python进行数据库操作

  • 连接MySQL数据库
  • 创建新的数据
  • 数据的调用

连接MySQL数据库

import pymysql.cursors
#使用pymysql指令来连接数据库
connection=pymysql.connect(host='',user='',password='',db='',charset='',cursorclass=pymysql.cursors.DictCursor
)
host:要连接的数据库的IP地址
user:登录的账户名,如果登录的是最高权限账户则为root
password:对应的密码
db:要连接的数据库,如需要访问上节课存储的IRIS数据库,则输入'IRIS'
charset:设置编码格式,如utf8mb4就是一个编码格式
cursorclass:返回到Python的结果,以什么方式存储,如Dict.Cursor是以字典的方式存储

创建新的数据

try:
    #从数据库链接中得到cursor的数据结构
    with connection.cursor() as cursor:
    #在之前建立的user表格基础上,插入新数据,这里使用了一个预编译的小技巧,避免每次都要重复写sql的语句
        sql="INSERT INTO `USERS`(`email`,`password`) VALUES (%s,%s)"
        cursor.execute(sql,('webmaster@python.org','very_secret'))
    #执行到这一行指令时才是真正改变了数据库,之前只是缓存在内存中

    connection.commit()

调用数据

    with connection.cursor() as cursor:
        sql = "SELECT `id`,`password` FROM `user` WHERE `email`=%s"
        cursor.execute(sql,('webmaster@python.org',))
        #只取出一条结果
        result=cursor.fetchone()
        print(result)

#最后别忘了关闭连接
finally:
    connection.close()

结果

{'password': 'very-secret', 'id': 1} 
目录
相关文章
|
17天前
|
分布式计算 Python
Python函数式编程学习笔记
高阶函数是能接收另一个函数作为参数的函数,如Python的map()、reduce()和filter()。map()将传入的函数应用到序列每个元素并返回迭代器,如将整数列表转换为字符串列表。reduce()对序列进行累积计算,例如求和。filter()根据给定函数返回的真值保留或丢弃序列元素,常用于筛选。sorted()函数支持自定义排序,如按绝对值或ASCII值排序。此外,还包括返回函数、匿名函数(lambda)、装饰器(用于动态增强函数功能)和偏函数(partial),用于固定函数部分参数,简化调用。
17 1
|
17天前
|
存储 NoSQL MongoDB
MongoDB数据库转换为表格文件的Python实现
MongoDB数据库转换为表格文件的Python实现
50 0
|
17天前
|
SQL 关系型数据库 数据库连接
使用 Python 访问数据库的基本方法
【5月更文挑战第12天】在Python中操作数据库涉及安装数据库驱动(如mysql-connector-python, psycopg2, pymongo)、连接数据库、执行查询/更新、处理结果集及关闭连接。使用ORM(如SQLAlchemy)可简化操作。通过上下文管理器(with语句)能更好地管理资源和错误。注意根据实际需求处理事务、错误和安全性,例如使用SSL连接。
32 2
|
1天前
|
存储 索引 Python
Python学习笔记
Python支持多变量赋值,如`a=b=c=1`和`a, b, c = 1, 2, "runoob"`。数据类型分为不可变(数字、字符串、元组)和可变(列表、字典、集合)。示例中展示了变量赋值、类型检查(`isinstance()`与`type()`的区别)以及运算操作,包括除法、乘方。字符串处理涉及索引、切片、连接和转义字符。列表、元组和集合的创建、访问和操作也进行了演示,例如列表的索引、切片、连接、重复和集合的运算。此外,还介绍了字典的使用,以及`lambda`函数和socket编程的基本概念。
3 0
|
1天前
|
SQL 关系型数据库 MySQL
Python 操作 MySQL 数据库
Python 操作 MySQL 数据库
|
7天前
|
存储 关系型数据库 数据库
利用Python与SQLite构建轻量级数据库应用
在当今日益增长的数据处理需求下,数据库成为存储、检索和管理数据的关键技术。然而,对于小型项目或快速原型开发,大型数据库系统可能显得过于庞大和复杂。本文将介绍如何利用Python编程语言与SQLite轻量级数据库,快速搭建一个功能齐全、易于维护的数据库应用。我们将探讨SQLite数据库的特点、Python对SQLite的支持,并通过一个实际案例展示如何构建一个简单的数据库应用,为读者提供一种高效、灵活的解决方案。
|
11天前
|
Python
Python学习 笔记(五) 判断语句
Python学习 笔记(五) 判断语句
24 3
|
16天前
|
SQL 关系型数据库 数据库
Python——数据库操作
Python——数据库操作
17 2
|
17天前
|
Java 数据库连接 程序员
【后台开发】TinyWebser学习笔记(2)线程池、数据库连接池
【后台开发】TinyWebser学习笔记(2)线程池、数据库连接池
28 4
|
17天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
19 6

热门文章

最新文章