vsto mysql_16-Python MySQL

本文详细介绍了如何在Mac上通过pip安装PyMySQL,包括MySQL服务器配置与密码管理,以及使用PyMySQL进行数据库操作,如创建表、插入数据、查询与更新。涵盖了数据库连接、SQL执行和基本CRUD操作全过程。
摘要由CSDN通过智能技术生成

1.准备 PyMySQL (Mac)

①、终端执行 pip/pip3 install PyMySQL

注:pip 是一个安装和管理 Python 包的工具,是 easy_install 的一个替换品

②、安装MySQL及工作台

注: SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率

MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率

2.安装完成配置

①、MySQL Server安装完成后弹出一个框,会出现一个密码有如下字样(冒号后面的即初始密码)

"[Note] A temporary password is generated for root@localhost: +6rh)N?NBCyc"

根据需要可以需改此初始密码。

②、开启MySQL Server、连接数据库

1dde51d612b2181eec0ba8b6a347039d.png

0e7b887d42b0d5fec64579c27b34f051.png

3、使用 PyMySQL

import pymysql

# 打开数据库连接

myDb = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='apple', db='TESTDB', charset='utf8')

# 创建游标对象

# 游标:游标(cursor)就是游动的标识,啥意思呢,通俗的这么说,一条sql取出对应n条结果资源的接口/句柄,就是游标,沿着游标可以一次取出一行

cursor = myDb.cursor()

# 创建表

personTableSql = """CREATE TABLE IF NOT EXISTS PERSON(

FIRST_NAME CHAR(20) NOT NULL,

LAST_NAME CHAR(20),

AGE INT,

HEIGHT FLOAT,

SEX CHAR(1)

)"""

try:

# 使用 execute() 方法执行 SQL,如果表存在则删除

cursor.execute("DROP TABLE IF EXISTS PERSON")

# 执行SQL语句

cursor.execute(personTableSql)

# 向数据库提交修改

myDb.commit()

print('表创建成功')

except:

# 发生错误时回滚

myDb.rollback()

print('表创建失败')

# 使用 execute()方法执行 SQL 查询

cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.

data = cursor.fetchone()

print ("MySQL版本: %s " % data)

# 插入数据

insertSql = r"""INSERT INTO PERSON(FIRST_NAME,LAST_NAME,AGE,HEIGHT,SEX) VALUES

('Cai','Bird',22,1.80,'m'),

('Coder','LW',23,1.90,'w'),

('HHH','AAA',12,1.0,'k')"""

insertList = [('Cai','Bird',22,1.80,'m'),

('Coder','LW',23,1.90,'w'),

('HHH','AAA',22,1.0,'k')]

try:

# insertRows = cursor.execute(insertSql)

# Sql里面对应的格式表达符都是 %s ,且不需要引号 (切记)

insertRows = cursor.executemany("INSERT INTO PERSON(FIRST_NAME,LAST_NAME,AGE,HEIGHT,SEX) VALUES(%s,%s,%s,%s,%s)",insertList)

myDb.commit()

print('插入了多少行:',insertRows)

except Exception as e:

print('数据插入失败!',e)

# 数据库更新操作

updateSql = "UPDATE PERSON SET SEX = 'w' WHERE FIRST_NAME = 'HHH'"

try:

cursor.execute(updateSql)

print('数据库数据修改成功')

except Exception as e:

print('数据库数据修改失败',e)

# 数据库查询操作

selectRows = cursor.execute("select * from PERSON")

print('PERSON表数据:',selectRows)

selectSql = "SELECT * FROM PERSON WHERE AGE > 20"

try:

cursor.execute(selectSql)

results = cursor.fetchall()

for item in results:

print('查询到的数据',item)

except:

print('数据查询失败')

# 关闭数据库

cursor.close()

myDb.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值