《Python应用程序设计》7.3 数据库的增、删、改目录321MySQL数据库增、删、改语法格式使用Python完成数据库的增、删、改数据库访问参数化 MySQL数据库增、删、改语法1-1 增加数据语法格式: INSERT INTO table_name ( field1, field2,... ,fieldN ) VALUES ( value1, value2,...,valueN ) 说明: VALUES中除了可以指定确定的数值之外,还可以使用表达式expr,如果数据是字符型,必须使用单引号或者双引号将值包围起来,如:李梅; 将一个字符串插入到超过字段的最大长度的一个CHAR、VARCHAR、TEXT或BLOB列中,值被截断为列的最大长度; 把一个与字段类型不合法的值插入到一个日期或时间列,会被设置为“零”值。1 MySQL数据库增、删、改语法1-2 更新数据语法格式: UPDATE table_name SET field1=new-value1, field2=new-value2,…… [WHERE Clause] 说明: 在SET子句中可以同时更新一个或多个字段; 可以在WHERE子句中指定更新条件,若不指定条件则将数据表中的全部记录进行了更新。1 MySQL数据库增、删、改语法1-3 删除数据语法格式: DELETE FROM table_name [WHERE Clause] 说明: 如果没有指定WHERE子句,表中的所有记录将被删除;WHERE用来指定删除的条件。1 使用Python完成数据库的增、删、改 使用Python对数据库的数据表记录进行增、删、改的基本步骤和前面所述的查询类似: 首先要创建数据库连接,然后是创建游标对象,并且运用其各种方法进行数据的获取,最后关闭数据库连接。所不同的地方主要是,游标对象操作的语句不同,是INSERT、DELETE和UPDATE,而不是SELECT 语句。另外,由于查询语句不改变数据库中的数据,有时感觉执行commit()方法作用不明显,而这三个语句都会使数据库中的数据发生改变,因此不要忘记在execute()方法后面运用执行commit()方法,并通过rowcount获取受影响的行数,根据行数来判断操作是否成功,否则命令并没有被真正地提交给数据库处理,因此也无法真正地改变数据库的记录。2 使用Python完成数据库的增、删、改 2-1 使用Python对数据库的数据表记录进行增加 如:向Student数据表中插入一条记录 sql= ″INSERT INTO Student(Sno, Sname, Ssex, Sbirthday, EntranceTime, ClassNo)VALUES(1901011101,李四,男,2002-03-12,2019-09-01″curosr.execute(sql)mit() row = cursor.rowcount if row == 1: print(″插入记录成功!″) 2 使用Python完成数据库的增、删、改 2-2 使用Python对数据库的数据表记录进行修改 如: 将Student数据表中学号为“1901011101”的学生的出生年月修改为“2002-03-15” sql = ″UPDATE Student SET Sbirthday=2002-03-15 WHERE Sno=1901011101″ cursor.execute(sql) mit() row = cursor.rowcount if row 0: print(″信息修改成功!″) 2 使用Python完成数据库的增、删、改 2-3 使用Python对数据库的数据表记录进行删除 如: 删除学生表Student中的学号为“1901011101”的记录 sql = ″DELETE FROM Student WHERE Sno=1901011101″ cursor.execute(sql) mit() row=cursor.rowcount if (row0): print(″删除成功!″)2 使用Python完成数据库的增、删、改 2-4 Python中数据库的异常处理 在使用Python对数据库进行增、删、改、查操作时,为防止出现异常无法反馈给用户结果,需要使用try…catch...finally异常处理机制。捕获异常的语法如下: 2try: 语句 # 带捕获异常的代码块except 异常类型 as 变量名: 语句 #异常的处理代码块finally: 语句 #退出try时总会执行 数据库访问参数化3-1 为什么书写SQL语句要参数化 SQL语句参数化可以解决如下问题: (1)数据复杂,组合的SQL
原创力文档

文档评论(0)