python---pymsql模块

pymysql安装

  --pip3 install pymysql

pymysql的使用

-连接的基本方式

#建立连接,连接数据库,登陆用户名、密码、host、具体的库每个人都有自己的库,不能都能使用
conn = pymysql.connect(host='localhost',user='root',password='1234qwer',database='db1' )
#创建游标,可以理解成文件句柄,操作的语句,都是基于这个文件句柄的对象操作的
cursor = conn.cursor()
#建立一个查询的条件语句,同时增删改都可以这样使用
sql = 'select * from user where user = %s and pwd= %s'
#执行sql,并且传回对应的数据,传到数据库的值,需要是元祖或者是字典
cursor.execute(sql,(user,pwd))
#接收的数据,fetchone:获取第一行数据
result = cursor.fetchone()
#关闭游标,即文件句柄
cursor.close()
#关闭连接

--基本方法

fetchone:获取第一行数据
fetchmany:获取指定的行数,可以自己设置,也是在ql语句中的limit的行数之后
fetchall:获取所有的数据,是在sql语句里面的limit的行数,如果limit 2,那么fetchall也就只获取两行

#相对当前位置移动
cursor.scroll(2,mode='relative')
#绝对当前位置移动
cursor.scroll(1,mode='absolute')
#新插入数据的自增ID,只获取最后一个id(增)使用
cursor.lastrowid:
#将修改的数据提交到mysql中(增改)使用
conn.commit()

 

--增

#建立连接,增加的时候要设置字符编码,
conn = pymysql.connect(host="localhost",user='root',password='1234qwer',database="db1",charset='utf8')
# 建立游标,即文件句柄
cursor = conn.cursor()
#编写sql语句,添加的内容
sql = "insert into user(user,pwd) VALUES ('','123')"
#执行sql,
result = cursor.execute(sql)
#将修改的数据提交到mysql中
conn.commit()
#关闭游标
cursor.close()
#关闭连接
conn.close()

 

通过动态的将用户名和密码添加到数据库中

#通过动态的将用户名和密码添加到数据库中
user = input('用户名:')
pwd = input('用户名:')
conn = pymysql.connect(host='localhost',user='root',password='1234qwer',database='db1')
cursor = conn.cursor()
sql = "insert into user(user,pwd) VALUES (%s,%s)"
result = cursor.execute(sql,(user,pwd))
conn.commit()
cursor.close()
conn.close()

 

--删

user = input('用户名:')
pwd = input('用户名:')
conn = pymysql.connect(host='localhost',user='root',password='1234qwer',database='db1')
cursor = conn.cursor()
# sql = "delete from user where user.user = %s and user.pwd = %s"
# result = cursor.execute(sql,(user,pwd))
#使用的字典的方式返回到数据库中,但是要在%(key)s
sql = "delete from user where user.user = %(u)s and user.pwd = %(p)s"
result = cursor.execute(sql,{'u':user,'p':pwd})
conn.commit()
cursor.close()
conn.close()

 

--改

conn = pymysql.connect(host='localhost',user='root',password='1234qwer',database='db1',charset='utf8')
cursor = conn.cursor()
sql = 'select * from user'
#执行sql代码
cursor.execute(sql)
#相对当前位置移动
# cursor.scroll(2,mode='relative')
#绝对当前位置移动
cursor.scroll(1,mode='absolute')
#接收获取的数据结果,指定接收数据的结果
result = cursor.fetchmany(1)
cursor.close()
conn.close()
print(result)

 

--查

conn = pymysql.connect(host='localhost',user='root',password='1234qwer',database='db1',charset='utf8')
cursor = conn.cursor()
sql = 'update user set user="张222" where id=3 '
#执行sql代码
cursor.execute(sql)
#相对当前位置移动
# cursor.scroll(2,mode='relative')
#绝对当前位置移动
# cursor.scroll(1,mode='absolute')
#接收获取的数据结果,指定接收数据的结果
result = cursor.fetchmany(1)
# conn.commit()
cursor.close()
conn.close()
# print(result)

 

 

--其他

  查看新插入数据的自增ID:cursor.lastrowid

 

conn = pymysql.connect(host='localhost',user='root',password='1234qwer',database='db1')
cursor = conn.cursor()
sql = "insert into user(user,pwd) values (%s,%s)"
#如果是添加的语句,那么使用executemany,执行sql语句,且将数据传到mysql中
result = cursor.executemany(sql,[("liu1","123"),("wang1","123")])
conn.commit()
#cursor.lastrowid:获取最后添加到数据库的id
print(cursor.lastrowid)
cursor.close()
conn.close()

 

posted @ 2017-06-08 22:04  beiguuu  阅读(263)  评论(0)    收藏  举报