用python进行数据库操作,感觉蛮酷的。
PyMySQL
安装
OK,最新的安装已经支持pip。
pip install pymysql
创建名为user的表格以备后续操作
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=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;
利用Python进行数据库操作
- 连接MySQL数据库
- 创建新的数据
- 数据的调用
连接MySQL数据库
import pymysql.cursors
#使用pymysql指令来连接数据库
connection=pymysql.connect(host='',user='',password='',db='',charset='',cursorclass=pymysql.cursors.DictCursor
)
host:要连接的数据库的IP地址
user:登录的账户名,如果登录的是最高权限账户则为root
password:对应的密码
db:要连接的数据库,如需要访问上节课存储的IRIS数据库,则输入'IRIS'
charset:设置编码格式,如utf8mb4就是一个编码格式
cursorclass:返回到Python的结果,以什么方式存储,如Dict.Cursor是以字典的方式存储
创建新的数据
try:
#从数据库链接中得到cursor的数据结构
with connection.cursor() as cursor:
#在之前建立的user表格基础上,插入新数据,这里使用了一个预编译的小技巧,避免每次都要重复写sql的语句
sql="INSERT INTO `USERS`(`email`,`password`) VALUES (%s,%s)"
cursor.execute(sql,('webmaster@python.org','very_secret'))
#执行到这一行指令时才是真正改变了数据库,之前只是缓存在内存中
connection.commit()
调用数据
with connection.cursor() as cursor:
sql = "SELECT `id`,`password` FROM `user` WHERE `email`=%s"
cursor.execute(sql,('webmaster@python.org',))
#只取出一条结果
result=cursor.fetchone()
print(result)
#最后别忘了关闭连接
finally:
connection.close()
结果
{'password': 'very-secret', 'id': 1}