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()

浙公网安备 33010602011771号