# SQLite的缺点是不能承受高并发访问.适合桌面和移动应用.
# MySQL是Web世界中使用最广泛的数据库服务器.能承受高并发访问, 同时占用的内存远大于SQLite
# MySQL数据库内部有多种数据库引擎.最常用的引擎就是支持数据库事务的InnoDB
# 1.安装MySQL
# 官网下载Community Server 5.6.x,安装时候, MySQL会提示输入root用户密码.
# 配置/etc/my.cnf或者/etc/mysql/my.cnf
# [client]
# default-character-set = utf8
# [mysqld]
# default-storage-engine = INNODB
# character-set-server = utf8
# collation-server = utf8_general_ci
# 重启MySQL后, 可以通过MySQL客户端命令检查编码
# mysql -u root -p
# show variables like '%char%';
# 2.按照MySQL驱动
# 由于MySQL服务器以独立的进程运行, 并通过对外服务, 所以需要支持Python的MySQL驱动来连接MySQL服务器.
# MySQL官方提供了mysql-connector-python驱动, 但是安装的时候需要给pip命令加上--allow-external
# pip install mysql-connector-python --allow-external mysql-connector-python
# 3.连接到MySQL服务器的test数据库
import mysql.connector
# conn = mysql.connector.connect(user='root', password='111111', database='test')
# cursor = conn.cursor()
# cursor.execute('create table user (id VARCHAR(20) PRIMARY KEY, name VARCHAR(20))')
# cursor.execute('insert into user (id, name) values (%s, %s)', ['1','Micgael'])
# print('rowcount =', cursor.rowcount)
# conn.commit()
# cursor.close()
# 运行查询
conn = mysql.connector.connect(user='root', password='111111', database='test')
cursor = conn.cursor()
cursor.execute('select * from user where id = %s', ['1'])
values = cursor.fetchall()
print(values)
cursor.close()
conn.close()
# 小结
# 1.执行Insert语句后要调用commit()提交事务
# 2.MySQL的SQL占位符是%s
# 关于MySQL安装的一些坑.
# 1.首先先去官网下载OSX版本的MySQL, 我选择的是DMG文件.
# 2.安装完后, 记得记住默认生成的随机密码.
# 3.设置MySQL的Path路径.先进入当前工作目录cd ~
# 4.编辑.bash_profile文件vim .bash_profile
# 5.增加如下一行export PATH = '/usr/local/mysql/bin:$PATH'.
# 保存退出, 执行source .bash_profile让环境变量立即生效.
# 6.mysql -u root -p回车后输入刚才的密码进入mysql
# 7.SET PASSWORD = PASSWORD('你想改的密码')更改root密码
# 关于驱动安装的一些坑
# 1.使用pip3.5安装而不要使用pip
网友评论