访问 MySQL 官网: https://dev.mysql.com/downloads/mysql/
点击,下个页面会提示需不需要注册的,直接选择最下面的“No thanks, just start my download.”进行下载。

安装 MySQL
下载完成,点击安装:
一直继续:
注意:安装时会弹出一个提示框,提示框中有临时密码,必须记住,后面会用到,界面上的文字可以复制。我的临时密码为: go_W<y8%ULvO 。
安装完成后,Mac 系统偏好设置会有:
配置环境变量
参考之前的博客: Mac 配置 adb 环境、gradlew:command not found ,MySQL 安装的路径为:/usr/local/mysql,因此在 .bash_profile 文件加入:
## MySQL export PATH=${PATH}:/usr/local/mysql/bin
开启服务
点击系统偏好设置 - MySQL,开启服务:
连接 MySQl
命令行:
mysql -u root -p
这时候需要输入安装时的临时密码:go_W<y8%ULvO。
修改 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
很熟悉的软件了,不过 Mac 版是收费的。
卸载 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 创建。

创建表
def create_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') except BaseException as e: # 如果发生错误则回滚 db.rollback() print(e) finally: # 关闭游标连接 cursor.close() # 关闭数据库连接 db.close()
插入数据
def insert_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') except BaseException as e: # 如果发生错误则回滚 db.rollback() print(e) finally: # 关闭游标连接 cursor.close() # 关闭数据库连接 db.close()
查询数据
def query_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() for row in results: print('查询多条记录:id=%s,name=%s,job=%s,site=%s' % (row[0], row[1], row[2], row[3])) except BaseException as e: # 如果发生错误则回滚 db.rollback() print(e) finally: # 关闭游标连接 cursor.close() # 关闭数据库连接 db.close()
更新数据
更新 id 等于 1 的数据,将 name 改为 WuXiaolong。
def update_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') except BaseException as e: # 如果发生错误则回滚 db.rollback() print(e) finally: # 关闭游标连接 cursor.close() # 关闭数据库连接 db.close()
删除数据
删除 id 等于 1 的数据。
def delete_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') except BaseException as e: # 如果发生错误则回滚 db.rollback() print(e) finally: # 关闭游标连接 cursor.close() # 关闭数据库连接 db.close()
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。