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

控制台日志:
打印了我们请求的用户名和密码,那么我们就可以对用户请求的值进行各种判断

下面实际项目将对上面几个进行综合整合运用。
