demo项目开发需要用到的一些知识。
python操作mysql
通过命令建库建表:
create database qzcsbj2 charset utf8; create table stu (id int, name varchar(20));
或者通过navicat创建数据库和表,参考:https://www.cnblogs.com/uncleyong/p/10823925.html
插入数据
insert into stu VALUES(1,'qzcsbj001'),(2,'qzcsbj002'),(3,'qzcsbj003');
查询
select * from stu;
python操作mysql数据库示例:
import pymysql from pymysql.cursors import DictCursor
coon = pymysql.connect(host='ip',port=3806,user='root',passwd='qzcsbj520',db='qzcsbj2',charset='utf8') # 创建数据库连接 cur = coon.cursor(DictCursor) # 建立游标,指定游标类型,返回字典 sql='select * from stu limit 2;' # 操作语句,只查询前两行 cur.execute(sql) # 执行sql语句 res = cur.fetchall() # 获取查询的所有结果 print(res) # 打印结果 cur.close() # 关闭游标 coon.close() # 关闭连接
打印结果:
[{'name': 'qzcsbj001', 'id': 1}, {'name': 'qzcsbj002', 'id': 2}]
更多mysql基础,参考:https://www.cnblogs.com/uncleyong/p/7753188.html
python操作redis
python操作redis示例:
string类型
import redis r = redis.Redis(host='ip',port=6379,password='qzcsbj520',db=0) # 建立连接 r.set('name','qzcsbj') # 设置值 r.set('name_ch','全栈测试笔记') res = r.get('name') # 获取值,返回的是bytes类型数据 res2 = r.get('name').decode() # decode解码 print(res) # 打印结果 print(res2) print(r.keys())# 获取所有的key for k in r.keys(): # 遍历所有的key,打印key和value print('{k}:{v}'.format(k=k.decode(),v=r.get(k).decode())) print(r.keys('n*')) # 获取n开头的key
打印结果
b'qzcsbj' qzcsbj [b'name', b'name_ch'] name:qzcsbj name_ch:全栈测试笔记 [b'name', b'name_ch']
hash类型
import redis r = redis.Redis(host='ip',port=6379,password='qzcsbj520',db=0) # 建立连接 r.hset('qzcsbj','age','18') # 设置值 print(r.hget('qzcsbj','age').decode()) # 获取值 res = r.hgetall('qzcsbj') # 获取hash类型这个name里面所有的数据 print(res) print(res['age'.encode()]) # 因为key是bytes类型,所以,这里需要encode print(res['age'.encode()].decode()) # 因为key是bytes类型,所以,这里需要encode
打印结果
18 {b'age': b'18'} b'18' 18
更多redis基础,参考:https://www.cnblogs.com/uncleyong/p/10950727.html
flask示例
flask是主流web开发框架之一,其特点是:短小精悍,可扩展强,第三方组件丰富。
简单示例:
import flask from flask import jsonify from flask import request # 要获取到请求参数的话,就要导入这个模块 server = flask.Flask(__name__) # 把这个python文件当做一个web服务 @server.route('/login', methods=['get', 'post']) # 路由、请求方式 def reg(): print(request.values) username = request.values.get('username') # 调用接口传入的参数 password = request.values.get('password') # 调用接口传入的参数 print(username,password) return jsonify({"code":0,"msg":"login success"}) if __name__ == '__main__': server.run(port=9999, debug=True) # 启动服务
运行
请求:http://127.0.0.1:9999/login?username=qzcsbj&password=123456
返回了json
控制台日志:
打印了我们请求的用户名和密码,那么我们就可以对用户请求的值进行各种判断
下面实际项目将对上面几个进行综合整合运用。