数据库连接对象 connection
- 创建方法:
MySQLdb.Connect(参数)
<p>参数有host,port,user,passwd,db,charset
- 方法:<p>
cursor()
使用该连接创建并返回游标<p>commit()
提交当前事务<p>rollback()
回滚当前事务<p>close()
关闭连接
- 写法(慕课网的视频写法不可以),举例
import mysql.connector
#出现一个新的问题就是有时候会说mysql没有引入这个模块,出这种错的时候就import pymysql
conn = mysql.connector.connect(
host = '',
port = '',
user = '',
passwd = '',
db = '',
charset = ''
)
数据库游标对象 cursor
- 所谓游标对象,用于执行查询和获取结果
- 游标对象从connection上面建立:<p>
cusor = conn.cursor()
- 方法:<p>
execute(sql语句)
,执行一个数据库的查询或者命令<p>fetchone()
获取结果集的下一行<p>fetchmang(n)
获取结果集的下n行<p>fetchall()
获取结果集中剩下的所有行<p>rowcount()
最近一次execute返回数据的行数或影响行数<p>close()
关闭游标对象
整个流程
- 创建connection->获取cursor->使用cursor.execute()执行sql语句->使用cursor.fetch*()获取并处理数据->关闭cursor->关闭connection->end
insert/update/delete更新数据库
- 关于事务,正常结束事务:
conn.commit()
;异常结束事务conn.rollback()
#把代码块放在try:里面
eg-insert sql_insert = "insert into 表名(id,name)values (val1,val2)"
eg-update sql_update = "update 表名 set name=val1 where id=val2"
eg-delete sql_delete = "delete from 表名 where id<val1"
- 放在try里面
try:
cursor.execute(sql_insert)
conn.commit()
except Exception as e:
print e
conn.rollback()