Python实战之路-day5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实战之路-day5相关的知识,希望对你有一定的参考价值。

生活在于改变,改变自己的生活需要勇气,改变自己的目标更需要勇气。  Hello Python - day5!

 

  • MVC心法
  1. 针对存储端(M)的数据进行增删改查
  2. 入库:V端通过HTML、CSS、JS的数据通过GET、POST发送请求,C端(python)通过request.form.get()或request.args.get()接受V端的数据,格式化通过列表、字典、字符串结合python语法存储到M端
  3. 出库:V端发送get请求数据,C端python通过request.args.get()拿到get请求的数据,python从M端读取数据(open file、select db)通过render_template和jinja2渲染到前端
  • python操作mysql数据库实现增删改查
  1. 以下实例链接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()
  2. 创建数据库表
     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()
  3. 数据库插入操作
     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()
  4. 数据库查询操作
     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()
  5. 数据库更新操作
     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()
  6. 数据库删除操作
     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的主要内容,如果未能解决你的问题,请参考以下文章

Python 之路 Day5 - 常用模块学习

Python 之路 Day5 - 常用模块学习

Python学习之路--Day5

Python之路_Day5

Python实战作业-day5

python学习之路day5