Python实战之路-day5
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实战之路-day5相关的知识,希望对你有一定的参考价值。
生活在于改变,改变自己的生活需要勇气,改变自己的目标更需要勇气。 Hello Python - day5!
- MVC心法
- 针对存储端(M)的数据进行增删改查
- 入库:V端通过HTML、CSS、JS的数据通过GET、POST发送请求,C端(python)通过request.form.get()或request.args.get()接受V端的数据,格式化通过列表、字典、字符串结合python语法存储到M端
- 出库:V端发送get请求数据,C端python通过request.args.get()拿到get请求的数据,python从M端读取数据(open file、select db)通过render_template和jinja2渲染到前端
- python操作mysql数据库实现增删改查
- 以下实例链接Mysql的rebootye数据库:
1 # 建库: 2 create database rebootye CHARACTER SET utf8 COLLATE utf8_general_ci; 3 4 # 建表: 5 CREATE TABLE `user` ( 6 `id` int(100) NOT NULL AUTO_INCREMENT, 7 `username` varchar(100) NOT NULL, 8 `password` varchar(100) NOT NULL, 9 `sex` int(10) DEFAULT NULL, 10 `age` int(10) DEFAULT NULL, 11 `phone` int(15) DEFAULT NULL, 12 `email` varchar(100) DEFAULT NULL, 13 `role` int(10) DEFAULT NULL, 14 PRIMARY KEY (`id`) 15 ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 16 17 # 插入一条数据: 18 insert into user(username,password,sex,age,phone,email,role) values(‘guanqing‘, ‘654321‘, 0, 28,‘4240‘, ‘guanqing.ye@hpe.com‘, 0); 19 20 # 打开数据库连接及数据库的固定用语 21 import MySQLdb as mysql 22 conn=mysql.connect(host="127.0.0.1",user="root",passwd="",db="rebootye",port=3306,charset=‘utf8‘) 23 conn.autocommit(True) 24 cursor = conn.cursor()
- 创建数据库表
1 # 打开数据库连接 2 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) 3 4 # 使用cursor()方法获取操作游标 5 cursor = db.cursor() 6 7 # 如果数据表已经存在使用 execute() 方法删除表。 8 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") 9 10 # 创建数据表SQL语句 11 sql = "CREATE TABLE EMPLOYEE ( 12 FIRST_NAME CHAR(20) NOT NULL, 13 LAST_NAME CHAR(20), 14 AGE INT, 15 SEX CHAR(1), 16 INCOME FLOAT )" 17 18 cursor.execute(sql) 19 # 关闭数据库连接 20 db.close()
- 数据库插入操作
1 import MySQLdb 2 3 # 打开数据库连接 4 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) 5 6 # 使用cursor()方法获取操作游标 7 cursor = db.cursor() 8 9 # SQL 插入语句 10 sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \ 11 LAST_NAME, AGE, SEX, INCOME) 12 VALUES (‘%s‘, ‘%s‘, ‘%d‘, ‘%c‘, ‘%d‘ )" % \ 13 (‘Mac‘, ‘Mohan‘, 20, ‘M‘, 2000) 14 try: 15 # 执行sql语句 16 cursor.execute(sql) 17 # 提交到数据库执行 18 db.commit() 19 except: 20 # 发生错误时回滚 21 db.rollback() 22 23 # 关闭数据库连接 24 db.close()
- 数据库查询操作
1 Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。 2 3 fetchone(): 该方法获取下一个查询结果集。结果集是一个对象 4 fetchall(): 接收全部的返回结果行. 5 rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。 6 7 实例: 8 9 查询EMPLOYEE表中salary(工资)字段大于1000的所有数据: 10 13 14 import MySQLdb 15 16 # 打开数据库连接 17 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) 18 19 # 使用cursor()方法获取操作游标 20 cursor = db.cursor() 21 22 # SQL 查询语句 23 sql = "SELECT * FROM EMPLOYEE \ 24 WHERE INCOME > ‘%d‘" % (1000) 25 try: 26 # 执行SQL语句 27 cursor.execute(sql) 28 # 获取所有记录列表 29 results = cursor.fetchall() 30 for row in results: 31 fname = row[0] 32 lname = row[1] 33 age = row[2] 34 sex = row[3] 35 income = row[4] 36 # 打印结果 37 print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % 38 (fname, lname, age, sex, income ) 39 except: 40 print "Error: unable to fecth data" 41 42 # 关闭数据库连接 43 db.close()
- 数据库更新操作
1 import MySQLdb 2 3 # 打开数据库连接 4 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) 5 6 # 使用cursor()方法获取操作游标 7 cursor = db.cursor() 8 9 # SQL 更新语句 10 sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = ‘%c‘" % (‘M‘) 11 try: 12 # 执行SQL语句 13 cursor.execute(sql) 14 # 提交到数据库执行 15 db.commit() 16 except: 17 # 发生错误时回滚 18 db.rollback() 19 20 # 关闭数据库连接 21 db.close()
- 数据库删除操作
1 import MySQLdb 2 3 # 打开数据库连接 4 db = MySQLdb.connect("localhost","testuser","test123","TESTDB" ) 5 6 # 使用cursor()方法获取操作游标 7 cursor = db.cursor() 8 9 # SQL 删除语句 10 sql = "DELETE FROM EMPLOYEE WHERE AGE > ‘%d‘" % (20) 11 try: 12 # 执行SQL语句 13 cursor.execute(sql) 14 # 提交修改 15 db.commit() 16 except: 17 # 发生错误时回滚 18 db.rollback() 19 20 # 关闭连接 21 db.close()
以上是关于Python实战之路-day5的主要内容,如果未能解决你的问题,请参考以下文章