import pymysql
注:所有插入、修改、删除操作都必须要提交(conn.commit())
连接数据库:
conn = pymysql.connect( host = '127.0.0.1', # localhost user = 'root', password = 'root', database='lzh_db', port=3306 )
创建一个游标:
cursor = conn.cursor() # 创建一个游标
插入数据:
案例一:
sql =''' insert into user values(3,'lzh23',25,'asd'); ''' cursor.execute(sql) # 执行插入语句 conn.commit() # 提交执行
案例二:
for i in range(4,10): id = i username = 'lzh' + str(i) age = 20+i password = 'pass'+str(i) sql =''' insert into user values({},'{}',{},'{}'); '''.format(id,username,age,password) cursor.execute(sql) # 执行插入语句 conn.commit() # 提交执行
查询数据:
fetchone() # 返回一条记录,第一次调用返回第一条,第二次调用返回第二天条
fetchmany(n) # 返回n条满足条件的数据
cursor.fetchall() # 返回满足条件的所有数据
案例一:查询所有记录
cursor.execute('select * from user;') result2 = cursor.fetchall() # 返回所有记录 # result2 = cursor.fetchmany(2) # 返回2条记录 for r in result2: print(r)
案例二:查询指定要求的数据:查询年龄为25岁的数据
sql = ''' select * from user where age=25; ''' cursor.execute(sql) ret = cursor.fetchone() # 返回一条记录,第一次调用返回第一条,第二次调用返回第二天条... # 返回ID=2的记录 # ret = cursor.fetchmany(2) # 返回2条满足条件的数据 # ret = cursor.fetchall() # 返回满足条件的所有数据 ret2 = cursor.fetchone() # 返回2条满足条件的数据 # 返回 ID = 3的记录 print(ret,ret2)
删除数据:
删除id=9的记录:
sql = ''' delete from user where id=9 ''' cursor.execute(sql) conn.commit()
修改数据:
修改id=8的年龄为22岁:
sql = ''' update user set age=22 where id=8 ''' cursor.execute(sql) conn.commit()
关闭数据库连接:
conn.close() # 关闭数据库连接