第19章 数据库编程

19.1 数据持久化技术概述

1)文件文本

Python的文件操作和管理技术将数据保存到文本文件中,然后进行读写操作,这些文件一般是结构化文档,能将数据组织起来,如XML和JSON文件。

2)数据库

Python将数据保存到数据库中的技术,主要是两类:

遵循Python DB-API规范技术(在Python中编写SQL语句访问数据库)和ORM技术(面向对象,超过了Python基础范围)。

19.2 MySQL数据库管理系统

Python DB-API规范一定会依托某个数据库管理系统(Database Management System,DBMS),还会用到SQL语句。现在主流的数据库管理系统:Oracle,SQL Server,DB2,Sysbase,MySQL和SQLite。

Python内置了对SQLite数据库访问的支持,但是SQLite主要是嵌入式系统设计,数据承载能力差。

19.2.1 数据库安装与配置

MySQL:MySQL

下载社区版,MySQL :: Download MySQL Community Server

下载第二个。 然后解压。

解压之后将里面的bin添加到Path环境变量 

๏ 1)初始化数据库

指令 C:\Users\21904\Downloads\mysql-8.3.0-winx64\mysql-8.3.0-winx64\bin\mysql -initialize -console

一定要记住这个密码

๏ 2)安装MySQL服务

C:\Users\21904\Downloads\mysql-8.3.0-winx64\mysql-8.3.0-winx64\bin\mysql --install

๏ 3)启用服务

net start mysql

๏ 4)修改root临时密码

C:\Users\21904\Downloads\mysql-8.3.0-winx64\mysql-8.3.0-winx64\bin\mysql -u root -p

接下来修改密码为12345

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345';

19.2.2 登录服务器 

命令提示符窗口登录服务器。完整指令:mysql -h 主机IP地址(主机名) -u 用户 -p

p对应密码。

登录本机数据库,用户是root,密码是12345,至少6种指令可以登录数据库。

๏ mysql -u root -p

๏ mysql -u root -p12345

๏ mysql -uroot -p12345

๏ mysql -h localhost -u root -p

๏ mysql -h localhost -u root -p12345

๏ mysql -hlocalhost -uroot -p12345

19.2.3 常见的管理命令 

通过命令行客户端管理MySQL数据库。

1.help

2.退出命令

quit或exit

3.数据库管理

查看数据库:show databases;

创建名字为testdb数据库:create database testdb;

删除名字为testdb数据库:drop database testdb;

4.数据表管理

查看多少个数据表的命令:show tables;

使用数据库:use; 但use sys 

知道表结构desc命令,如获得city表结构可以使用desc host_summary;命令

19.3 Python DB-API

Python DB-API规范涉及到三种不同的角色

 19.3.1 建立数据连接

数据库访问的第一步是进行数据库连接。建立数据库链接可以通过connect(parameters...)函数实现,该函数根据parameters参数连接数据库。

使用pymysql库连接数据库代码如下。

import pymysql

connection = pymysql.connect(host='localhost',
                             user='root',
                             password='12345',
                             database='mydb',
                             charset='utf8',
                             )
pymysql.connect()函数中常用的连接函数:

host:数据库主机名或IP地址

port:连接数据库端口号。

user:访问数据库账号

password或passwd:访问数据库密码

database或da:数据库中的库名

charset:数据库编码格式。

Connection对象有一些方法。

close():关闭数据库连接

commit():提交数据库事务

rollback:回滚数据库事务

cursor():获得Cursor游标对象

19.3.2 创建游标

一个Cursor游标对象表示一个数据库游标,游标暂时保存了SQL操作所影响到的数 据。在数据库事务管理中游标非常重要,游标是通过数据库连接创建的,相同数据库连 接创建的游标所引起的数据变化,会马上反映到同一连接中的其他游标对象。

Cursor对象方法和属性

๏ execute(operation[, parameters])。执行一条SQL语句,operation 是SQL语句,parameters是为SQL提供的参数,可以是序列或字典类型。返回值是整数,表示执行SQL语句影响的行数。

๏ executemany(operation[, seq_of_params])。执行批量SQL语句, operation是SQL语句,seq_of_params是为SQL提供的参数, seq_of_params是序列。返回值是整数,表示执行SQL语句影响的行 数。

๏ callproc(procname[, parameters])。执行存储过程,procname是存 储过程名,parameters是为存储过程提供参数。

相关提取方法如下:

๏ fetchone()。从结果集中返回一条记录的序列,如果没有数据返回 None。

๏ fetchmany([size=cursor.arraysize])。从结果集返回小于等于size记 录数序列,如果没有数据返回空序列,size默认情况下是整个游标的行数。

๏ fetchall()。从结果集返回所有数据。

19.4 实例:User表CRUD操作

对数据库表中的数据进行4类操作:数据插入(Create)、删除数据(Delete)、数据更新(Update)和数据查询(Read)。也就是“增删改查”。

19.4.1 安装PyMySQL库

用pip安装。

19.4.2 数据库编程一般过程

19.4.3 数据查询操作

介绍数据查询操作案例,准备一个User表,它有两个字段name和userid。

 

  • 30
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值