python3 mysql 教程_Python 3 极简教程 之 MySQL

原标题:Python 3 极简教程 之 MySQL

c9e5762732805bdb3537b457d1410345.png

真实开发,肯定需要跟数据打交道,本部分内容包括:

1、MySQL 安装

主要针对 Mac OS;

2、MySQL 数据库连接

实现简单的增删改查。

安装 MySQL 下载 MySQL

访问 MySQL 官网:https://dev.mysql.com/downloads/mysql/

95cb02b26d47611ab05e09b3d3848525.png

点击,下个页面会提示需不需要注册的,直接选择最下面的“No thanks, just start my download.”进行下载。

be525d11be6c46b2cd183461ef371b59.png

安装 MySQL

下载完成,点击安装:

2a32ab1af211ebb9f006fe4fd4d9445b.png

一直继续:

3627c13c184f5124e8dbc242e4ac32eb.png

注意:安装时会弹出一个提示框,提示框中有临时密码,必须记住,后面会用到,界面上的文字可以复制。我的临时密码为: go_W

安装完成后,Mac 系统偏好设置会有:

dbce39b200deb128e3d8cadf1d96447d.png

配置环境变量

参考之前的博客:Mac 配置 adb 环境、gradlew:command not found,MySQL 安装的路径为:/usr/local/mysql,因此在 .bash_profile 文件加入:

## MySQL

export PATH=${PATH}:/usr/local/mysql/bin

开启服务

点击系统偏好设置 - MySQL,开启服务:

fd4d02b0dbceb562ee3582c87b800bc3.png

连接 MySQl

命令行:

mysql -u root -p

这时候需要输入安装时的临时密码:go_W

修改 root 密码

命令行:

ALTER USER 'root'@ 'localhost'IDENTIFIED BY 'root';

提示 Query OK, 0 rows affected (0.00 sec),这里我修改新密码为“root”了,然后重新开启 MySQL 服务。

可视化工具

1、MySQL Workbench

不知道原来官方已经提供了 Mac 版工具了。

2、NaviCat Premium

卸载 MySQL

参考 stackoverflow:How do you uninstall MySQL from Mac OS X?

命令行:

sudo rm -rf /var/db/receipts/com.mysql.*

MySQL 数据库连接

Python 3.x 可以用第三方模块 PyMySQL 用于连接 MySQL。我们简单实现数据库增删改查。

安装 PyMySQL pip3 install PyMySQL

连接本地数据库

NaviCat Premium - Connection - MySQL

8bf06c8a37dd8c44521505b4fa72a173.png

填下 Name 和 Password,可以点击下 Test Connection,OK,再 Save。

创建数据库

双击 WuXiaolong,Open Connect,然后右击 - New Database。

b54c10cbab2fc05666e7a440137db0c5.png

创建表

NaviCat Premium 创建,右击 Tables - 填写字段相关信息,保存填写表名。也可以代码创建。

defcreate_table:

# 建立连接

db = pymysql.connect(host= 'localhost',

user= 'root',

password= 'root',

db= 'python3learn')

# 创建名为 developer 数据库语句

sql = '''create table if not exists developer (

id int NOT NULL AUTO_INCREMENT,

name text,

job text,

site text,

PRIMARY KEY (`id`)

)'''

# 使用 cursor 方法创建一个游标对象 cursor

cursor = db.cursor

try:

# 执行 sql 语句

cursor.execute(sql)

# 提交事务

db.commit

print( 'create table success')

exceptBaseException ase: # 如果发生错误则回滚

db.rollback

print(e)

finally:

# 关闭游标连接

cursor.close

# 关闭数据库连接

db.close

插入数据 definsert_table:

# 建立连接

db = pymysql.connect(host= 'localhost',

user= 'root',

password= 'root',

db= 'python3learn')

# 插入数据

sql = 'insert into developer (name,job,site) values (%s, %s, %s)'

# 使用 cursor 方法创建一个游标对象 cursor

cursor = db.cursor

try:

value = ( 'wxl', 'Android', 'http://wuxiaolong.me/')

# 执行 sql 语句

cursor.execute(sql, value)

# 提交事务

db.commit

print( 'insert table success')

exceptBaseException ase:

# 如果发生错误则回滚

db.rollback

print(e)

finally:

# 关闭游标连接

cursor.close

# 关闭数据库连接

db.close

查询数据 defquery_table:

# 建立连接

db = pymysql.connect(host= 'localhost',

user= 'root',

password= 'root',

db= 'python3learn')

# 查询语句

sql = 'select * from developer'

# 使用 cursor 方法创建一个游标对象 cursor

cursor = db.cursor

try:

# 执行 sql 语句

cursor.execute(sql)

# 查询一条记录

result = cursor.fetchone

print( '查询一条记录:id=%s,name=%s,job=%s,site=%s'% (result[ 0], result[ 1], result[ 2], result[ 3]))

# 如果先用 fetchone,游标是从 1 开始

# 重置游标位置,偏移量:大于0向后移动;小于0向前移动,mode默认是relative

# relative:表示从当前所在的行开始移动; absolute:表示从第一行开始移动

cursor.scroll( 0, mode= 'absolute')

# 查询多条记录

results = cursor.fetchall

forrow inresults:

print( '查询多条记录:id=%s,name=%s,job=%s,site=%s'% (row[ 0], row[ 1], row[ 2], row[ 3]))

exceptBaseException ase:

# 如果发生错误则回滚

db.rollback

print(e)

finally:

# 关闭游标连接

cursor.close

# 关闭数据库连接

db.close

更新数据

更新 id 等于 1 的数据,将 name 改为 WuXiaolong。

defupdate_table:

# 建立连接

db = pymysql.connect(host= 'localhost',

user= 'root',

password= 'root',

db= 'python3learn')

# 更新数据

sql = 'update developer set name=%s where id=%s'

# 使用 cursor 方法创建一个游标对象 cursor

cursor = db.cursor

try:

value = ( 'WuXiaolong', 1)

# 执行 sql 语句

cursor.execute(sql, value)

# 提交事务

db.commit

print( 'update table success')

exceptBaseException ase:

# 如果发生错误则回滚

db.rollback

print(e)

finally:

# 关闭游标连接

cursor.close

# 关闭数据库连接

db.close

删除数据

删除 id 等于 1 的数据。

defdelete_table:

# 建立连接

db = pymysql.connect(host= 'localhost',

user= 'root',

password= 'root',

db= 'python3learn')

# 更新数据

sql = 'delete from developer where id=%s'

# 使用 cursor 方法创建一个游标对象 cursor

cursor = db.cursor

try:

# 执行sql语句

cursor.execute(sql, 1)

# 提交事务

db.commit

print( 'delete table success')

exceptBaseException ase:

# 如果发生错误则回滚

db.rollback

print(e)

finally:

# 关闭游标连接

cursor.close

# 关闭数据库连接

责任编辑:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值