Python数据库之--PyMySQL

一、Python3中使用PyMySql

1、 直接命令:pip install pymysql

2、 测试 pip show pymysql

Python数据库之--PyMySQL

二、创建MySQL

执行下面的SQL语句,创建一张users 表。

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=utf8COLLATE=utf8_bin

AUTO_INCREMENT=1 ;

 

 

 

三、Python操作MySQL

接下来才是重点,Python操作MySQL数据库。

3.1插入数据:

import pymysql.cursors

 

# 连接MySQL数据库

connection =pymysql.connect(host='127.0.0.1', port=3306, user='root',password='198876', db='guest',
                             charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

 

# 通过cursor创建游标

cursor = connection.cursor()

 

# 创建sql 语句,并执行

sql = "INSERT INTO `users` (`email`,`password`) VALUES ('[email protected]', '123456')"

cursor.execute(sql)

 

# 提交SQL

connection.commit()

 

  不管你使用的是什么工具或库,连接数据库这一步必不可少。host为数据库的主机IP地址,portMySQL的默认端口号,user为数据的用户名,password为数据库的登录密码,db为数据库的名称。

cursor()方法创建数据库游标。

execute()方法执行SQL语句。

commit()将数据库的操作真正的提交到数据。

 

3.2. 查询数据

import pymysql.cursors

 

 

# 连接MySQL数据库

connection =pymysql.connect(host='127.0.0.1', port=3306, user='root',password='198876', db='guest', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

 

 

# 通过cursor创建游标

cursor =connection.cursor()

 

# 执行数据查询

sql = "SELECT `id`, `password` FROM `users`WHERE `email`='[email protected]'"

cursor.execute(sql)

 

#查询数据库单条数据

result =cursor.fetchone()

print(result)

 

print("-----------华丽分割线------------")

 

# 执行数据查询

sql = "SELECT `id`, `password` FROM`users`"

cursor.execute(sql)

 

#查询数据库多条数据

result =cursor.fetchall()

for data inresult:

    #查询结果是一个字典,通过关键字来获取值

    id = data[“id”]

    password = data[“password”]

    print(id,password)

 

 

# 关闭数据连接

connection.close()

 

   接下来的操作就是数据库的查询了。

fetchone() 用于查询单条数据。

fetchall() 用于查询多条数据。

close() 最后不要忘记了关闭数据连接。

  运行结果:

{'password': '123456', 'id': 1}

-----------华丽分割线------------

{'password': '123456', 'id': 1}

{'password': '654321', 'id': 2}