python操作mysql

mysql数据库可以应用于多种编程语言,包括 PHP,Java,Go,Python

不同编程语言操作mysql,都是使用了mysql提供的API接口。

如果直接操作mysql提供的API相对复杂一些,因为不同的编程语言都有不同的封装好的包或者模块进行数据库的相关操作。

在python中也有很多的包或模块进行mysql数据库的操作,比较知名的包包括

pymysql,mysqldb。。。

安装pymysql

pip install pymysql

python操作mysql的基本步骤

  1. 链接mysql数据库
  2. 创建游标对象
  3. 准备sql
  4. 用游标对象执行sql
  5. 用游标对象提取结果
  6. 关闭数据库连接

pymysql的示例代码

  1. '''
  2. python操作mysql
  3. 连接mysql数据库时的 cursorclass=pymysql.cursors.DictCursor
  4. 可以把结果转为 字典类型,默认为元组
  5. '''
  6. import pymysql
  7. # 1. 链接mysql数据库
  8. db = pymysql.connect('localhost','root','','tlxy',charset='utf8mb4',
  9. cursorclass=pymysql.cursors.DictCursor
  10. )
  11. # 2, 创建游标对象
  12. cursor = db.cursor()
  13. # 3.准备sql语句
  14. sql = 'select version()'
  15. # 4.执行sql语句
  16. cursor.execute(sql)
  17. # 5. 提取结果. fetchall() 提取所有的结果。fetchone() 提取一条结果
  18. data = cursor.fetchone()
  19. # 6. 关闭数据库连接
  20. db.close()
  21. print(data)
  22. '''
  23. [{'version()': '5.7.28'}] ==> fetchall()
  24. {'version()': '5.7.28'} ==> fetchone()
  25. '''

web版的在线留言板

  1. 1。先实现web的基本搭建 flask框架实现
  2. 2。创建留言板数据库
  3. 3。完成留言板的逻辑代码

1。flask框架实现web的基本搭建

安装flask框架

pip install flask

使用flask框架搭建web
  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route("/")
  4. def hello():
  5. return "Hello, World!"
  6. @app.route('/love')
  7. def love():
  8. return 'iloveyoutosimida'
  9. if __name__ == '__main__':
  10. app.run(debug=True,host='127.0.0.1',port='8080')

2.留言板数据库的设计与创建

思考:留言板这个表 都需要存储哪些数据?

  1. '''
  2. 2.留言板数据库的设计与创建
  3. id nikename 昵称 info 留言信息 datetime 留言时间
  4. 1 张三 我想要大家帮我抢个票 2020-1-1 12:12:12
  5. 创建库
  6. create database tlxy charset=utf8mb4;
  7. 创建表
  8. create table lyb(
  9. id int unsigned not null auto_increment primary key,
  10. nikename varchar(6) not null,
  11. info text not null,
  12. date datetime not null
  13. )engine=innodb default charset=utf8mb4;
  14. 添加测试数据
  15. insert into lyb values(null,'张三疯','我想要大家帮我抢个票','2020-01-01 11:11:11');
  16. insert into lyb values(null,'渣渣灰','是兄弟就来砍我把。。。','2020-01-01 11:11:11');
  17. '''