Python与数据库

1.python连接数据库的步骤:

step1:连接数据库
step2:创建游标对象
step3:对数据库进行增删改查
step4:关闭游标
step5:关闭连接

2.游标(cursor)

游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。
概述:
游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,**游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。**游标总是与一条SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。如果曾经用 C 语言写过对文件进行处理的程序,那么游标就像您打开文件所得到的文件句柄一样,只要文件打开成功,该文件句柄就可代表该文件。对于游标而言,其道理是相同的。可见游标能够实现按与传统程序读取平面文件类似的方式处理来自基础表的结果集,从而把表中数据以平面文件的形式呈现给程序。

游标实现了对mysql的存储过程中循环读取数据表中的对象的过程。

游标的特性:

READ ONLY 只读,只能取值而不能赋值;

NOT SCROOLABLE 不可回滚,只能顺序读取;

ASENSITIVE 敏感,不能在已经打开游标的表上执行update事务;

游标操作:

声明游标: DECLARE cursor_name CURSOR FOR select_statement

这个语句声明一个光标。也可以在子程序中定义多个光标,但是一个块中的每一个光标必须有唯一的名字。

打开游标: OPEN cursor_name

游标FETCH:FETCH cursor_name INTO var_name [, var_name] …

这个语句用指定的打开光标读取下一行(如果有下一行的话),并且前进光标指针。

关闭游标CLOSE: CLOSE cursor_name

这个语句关闭先前打开的光标。如果未被明确地关闭,光标在它被声明的复合语句的末尾被关闭。

import pymysql
#连接数据库
connect=pymysql.connect(
	host='localhost',                           #主机
	port=3306,                                  #端口
	user='root',                                #用户名
	passwd='123456',                            #密码
	db='test')                                  #数据库名
#创建游标,获取cursor对象
cur=connect.cursor()
#查询student表数据结果集
result=cur.execute("select * from student;")         #   游标cur.exexute()函数来执行sql语句
#从结果集中获取一条数据
#print(cur.fetchone())
#从结果集中获取多条数据
#print(cur.fetchmany(2))
#从结果集中获取所有数据
#print(cur.fetchall())
#createsql='create table friend(name char(20) primary key,sex char(20),age int)'
         #游标先调用cuesor()函数来执行sql语句,再提交语句,一定要提交,不然数据库不会bian
#cur.execute(createsql)          
#connect.commit()
#插入数据
#insertsql='insert into friend values("小张","男","24"),("小方","女","23")'
#cur.execute(insertsql)
#删除表
delete_table='drop table friend'
cur.execute(delete_table)
connect.commit()
print('插入成功')
#关闭游标
cur.close()
#关闭连接
connect.close()