10分钟教你Python+MySQL数据库操作 (2)

10分钟教你Python+MySQL数据库操作

STEP5:进入主界面,重新进入blank用户操作选项卡,我们会在schemas中看到test_s这个schema。blank这个用户可以对root授权的test_s这个schema中的表进行操作。

10分钟教你Python+MySQL数据库操作

至此,我们完成了MySQL中用户的新建和授权。

03 Python操作MySQL

目前,关于Python操作数据库主要有以下几种方法:

MySQLdb的使用

MySQLdb是用于Python连接MySQL数据库的接口,它实现了Python数据库API规范V2.0,基于MySQL C API上建立的,目前只支持Python2.x。

PyMySQL的使用

PyMySQL是Python中用于连接MySQL服务器的一个库,它支持Python3.x,是一个纯Python写的MySQL客户端,它的目标是替代MySQLdb。PyMySQL在MIT许可下发布。

mysql.connector 的使用

由于 MySQL 服务器以独立的进程运行,并通过网络对外服务,所以,需要支持 Python 的 MySQL 驱动来连接到 MySQL 服务器。

目前,有两个 MySQL 驱动:

mysql-connector-python:是 MySQL 官方的纯 Python 驱动

MySQL-python :是封装了 MySQL C驱动的 Python 驱动

SQLAlchemy的使用

是一种ORM(Object-Relational Mapping)框架,将关系数据库的表结构映射到对象上,隐藏了数据库操作背后的细节,简化了数据操作。

3.1 在Python3.X上安装MySQL驱动

STEP1:由于MySQL官方提供了mysql-connector-python驱动。安装时,在Anaconda Prompt中输入:

conda install mysql-connector-python

STEP2:使用以下代码来测试mysql-connector是否安装成功:

import mysql.connector

如果没有产生错误,则表明安装成功。

3.2 创建数据库连接

这里连接的是我之前创建的blank这个user。如果数据库已经存在的话,我们可以直接连接;如果数据库不存在,直接连接则会报错,这个时候我们就需要创建一个数据库,创建数据库可以在MySQL Workbench中创建,也可以在python中使用"CREATE DATABASE"语句,在本实验中,我们使用已经在MySQL workbench中已经建好的test_s这个数据库。

import mysql.connector #连接数据库 config = {     \'user\' : \'blank\'        #用户名     \'password\' : \'password\' #自己设定的密码     \'host\' : \'127.0.0.1\'    #ip地址,本地填127.0.0.1,也可以填localhost     \'port\' : \'3306\'         #端口,本地的一般为3306     \'database\' : \'test_s\'   #数据库名字,这里选用test_s } con = mysq;.connector.connect(**config) 3.3 创建数据表

STEP1:当Python 和数据之间的连接建立起来之后,要操作数据库,就需要让 Python对数据库执行SQL语句。创建数据表我们使用"CREATE TABLE"语句,在test_s这个数据库中创建一个叫做customers的表格,其中包含id、name、address、sex、age、sl这六个columns。Python是通过游标执行SQL语句的,所以,连接建立之后,就要利用连接对象得到游标对象。

cursor():表示游标

execute():是执行语句

STEP2****:一般在创建新表的时候,我们还会设置一个主键(PRIMARY KEY)来方便进行查询工作。创建主键,我们可以用"INT AUTO_INCREMENT PRIMARY KEY"

# 创建一个表 # buffered = True 不设的话,查询结果没有读完会报错 # raise errors.InternalError("Unread result found") mycursor = con.cursor(buffered = True) mycursor.execute("CREATE TABLE customers(id INT AUTO_INCREMENT PRIMARY KEY, \ name VARCHAR(255) , address VARCHAR(255), \ 7sex VARCHAR(225) , age INT(10) , sl INT(10))")

VARCHAR()表示的是数据类型,定义的是变长字符串;INT()表示整型

STEP3:执行语句。执行完后,我们可以回到MySQL workbench,可以看到在test_s下面的customers这个表格,其中Columns为我们创建的id,name,address,sex,age和sl。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgjppy.html