python操作MYSQL数据库主要有3种方式:
- 使用原生模块:pymysql
- 使用MySQL官方提供的驱动器:mysql-connector
- ORM框架:SQLAchemy
使用pymysql模块
PyMySQL安装
在使用PyMySQL之前,我们需要确保PyMySQL已安装。
PyMySQL下载地址:https://github.com/PyMySQL/PyMySQL
如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL:
pip install PyMySQL
例如,链接数据库。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# 导入pymysql模块
import pymysql
# 连接database
conn = pymysql.connect(
host=“你的数据库地址”,
user=“用户名”,password=“密码”,
database=“数据库名”,
charset=“utf8”)
# 得到一个可以执行SQL语句的光标对象
cursor = conn.cursor() # 执行完毕返回的结果集默认以元组显示
# 得到一个可以执行SQL语句并且将结果作为字典返回的游标
#cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 定义要执行的SQL语句
sql = """
CREATE TABLE USER1 (
id INT auto_increment PRIMARY KEY ,
name CHAR(10) NOT NULL UNIQUE,
age TINYINT NOT NULL
)ENGINE=innodb DEFAULT CHARSET=utf8; #注意:charset='utf8' 不能写成utf-8
"""
# 执行SQL语句
cursor.execute(sql)
# 关闭光标对象
cursor.close()
# 关闭数据库连接
conn.close()
|
使用mysql-connector
使用 pip 命令来安装 mysql-connector:
pip install mysql-connector
使用以下代码测试 mysql-connector 是否安装成功:
import mysql.connector
执行以上代码,如果没有产生错误,表明安装成功。
创建数据库连接
使用connect方法来创建数据库的连接。
例如:
1
2
3
4
5
6
7
8
9
|
import mysql.connector
mydb = mysql.connector.connect(
host="localhost", # 数据库主机地址
user="yourusername", # 数据库用户名
passwd="yourpassword" # 数据库密码
)
print(mydb)
|
创建数据库
创建数据库使用 “CREATE DATABASE” 语句,以下创建一个名为 runoob_db 的数据库:
例如:
1
2
3
4
5
6
7
8
9
|
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="123456"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE runoob_db")
|
ORM
面向对象编程和关系型数据库,都是目前最流行的技术,但是它们的模型是不一样的。
面向对象编程把所有实体看成对象(object),关系型数据库则是采用实体之间的关系(relation)连接数据。很早就有人提出,关系也可以用对象表达,这样的话,就能使用面向对象编程,来操作关系型数据库。
简单说,ORM就是通过实例对象的语法,完成关系型数据库的操作的技术,是”对象-关系映射”(Object/Relational Mapping) 的缩写。
ORM 把数据库映射成对象。
映射关系如下:
数据库的表(table) –> 类(class)
记录(record,行数据)–> 对象(object)
字段(field)–> 对象的属性(attribute)
转载请注明本网址。