Linux自动化运维——Python(10)(Python的数据库编程之关系型数据库MySQL)
程序员文章站
2022-03-17 14:04:39
...
1 .数据库简介
(1)分类
关系型数据库:指采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。主流的关系型数据库有:Oracle、Microsoft SQL Server、MySQL、PostgreSQL,SQLite、MariaDB(MySQL的一个分支)Microsoft Access、SAP。
非关系型数据库:指非关系型的,分布式的,以键值对存储且结构不固定,可以减少一些时间和空间的开销。非关系型数据库都是针对某些特定的应用需求,主要分为以下几类:
1). 面向海量数据访问的面向文档数据库:MongoDB、Amazon DynamoDB、Couchbase等。
2). 面向高性能并发读写的key-value数据库: Redis、 Memcached等。
3). 面向搜索数据内容的搜索引擎:Elasticsearch,Splunk,Solr,MarkLogic和Sphinx等。
4). 面向可扩展性的分布式数据库:Cassandra,HBase等。
2.Python的数据库编程
# 1. 导入模块,py3(pymysql), py2(MySQLdb)
pip3 install pymysql -i http://www.douban.pip/simple
import pymysql 该模块需要从http://pypi,douban/simple 中下载
# 1. 创建连接
conn = pymysql.connect(host='localhost', user='root',
password="westos", db='westos',
charset='utf8')
# 2. 创建游标
cur = conn.cursor()
# 3. 对数据库进行操作
# 3-1). 查询操作
select_sql = "select * from users"
cur.execute(select_sql)
# 查询语句结果不会默认返回的,需要通过iofetchone/fetchmany/fetchall进行获取
print(cur.fetchall())
# 3-2). 插入语句
insert_sql = "insert into users values('李四', 20)"
cur.execute(insert_sql)
print("插入数据成功")
# 注意: 如果时插入和删除或者更新数据时,需要提交修改的信息到数据库中
conn.commit()
# 4. 关闭游标
cur.close()
# 5. 关闭连接
conn.close()