pymysql模块下的方法
\'\'\'必须实例化对象才能建立连接\'\'\'
1、pymysql.connect #和MySQL建立连接
\'\'\'得由对象去调用定义游标\'\'\'
2、xxx.sursor() #获得游标
\'\'\'由游标去调用传入指令\'\'\'
3、xxx.execute(‘指令’) #传入指令
\'\'\'fetchall \fetchone必须赋值给变量才能打印,而且得由游标去调用\'\'\'
4、fetchall #查询所有 \ fetchone #查询一行
\'\'\'关闭时候必须关闭实例化的对象和游标两个\'\'\'
5、游标.close() \ 对象.close() #关闭游标
\'\'\'默认是自动开启事务,必须关闭才能生效指令,由对象调用关闭\'\'\'
6、xxx.commit #关闭事务
7、cursor.lastrowid #获取插入值的id号
PS:注意事项,增加的时候
1、单列单行添加的时候%s要加单引号,后面%传入的值是字符类型也要加单引号,后面传入值的%前没有‘,’逗号
2、添加多行多个值得时候一定要用executemany,并且%s不能有单引号,需要传入的值前面必须要有‘,’逗号,并且后面的多个值要以元组形式放入列表中
3、修改单行多列的时候后面%传入的值需要以元组形式传入,传入值的%前面不能有‘,’逗号,并且字符串类型要加单引号,整数类型不需要加单引号
4、添加多列单行值的时候,%s不能加单引号,后面传入的值也不需要%,直接以列表形式传入且列表中字符类型要加单引号,但是传入的值前一定要有‘,’逗号
Python连接MySQL进行查询
\'\'\'python要用到pymysql包去连接MySQL\'\'\'
import pymysql
\'\'\'通过对象去实例化连接mysql,connect里面有几个参数(host=数据库的IP\本机就是localhost,user=用户名,password=密码,database=要连接的数据库名,port=端口默认3306\不填写也可以,chatset=数据库的编码格式,cursorclass=数据呈现的格式(pymysql.cursors.DictCursor列表内套字典的呈现格式))\'\'\'
conn = pymysql.connect(host=\'localhost\',user=\'root\',password=\'\',database=\'company\',port=3306,charset=\'utf8\',cursorclass=pymysql.cursors.DictCursor)
\'\'\'获得游标\'\'\'
cursor = conn.cursor()
\'\'\'执行sql语句\'\'\'
cursor.execute(\'select * from staff_info\') #括号内就是传入命令
\'\'\'获得值\'\'\'
info = cursor.fetchall() #查询表内所有行数据cursor.fetchall,cursor.fetchall 查询别表内一行数据
print(info)
\'\'\'关闭游标\'\'\'
cursor.close()
conn.close()
Python连接MySQL进行删除
import pymysql
conn = pymysql.connect(host=\'localhost\',user=\'root\',password=\'\',database=\'company\',port=3306,charset=\'utf8\',cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()
cursor.execute(\'delete from staff_info where id=%s\'%1)
\'\'\' 默认开启事物的,所以执行完指令需要提交事物才能成功\'\'\'
conn.commit()
cursor.close()
conn.close()
PS:因为是默认开启事物的,所以在增删改的操作时候都要提交事物才能成功执行指令
Python连接MySQL进行添加
import pymysql
conn = pymysql.connect(host=\'localhost\',user=\'root\',password=\'\',database=\'company\',port=3306,charset=\'utf8\',cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()
\'\'\'单列单行添加的时候%s要加单引号,后面%传入的值是字符类型也要加单引号\'\'\'
cursor.execute("insert into staff_info(name) values(\'%s\')" % \'Carl_s\') #指令内用%传入时要以字符串形式,否则报错
conn.commit()
cursor.close()
conn.close()
Python连接MySQL进行添加多行多个数据
import pymysql
conn = pymysql.connect(host=\'localhost\',user=\'root\',password=\'\',database=\'company\',port=3306,charset=\'utf8\',cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()
\'\'\'添加多行多个值得时候一定要用executemany,并且%s不能有单引号,并且后面的多个值要以元组形式放入列表中\'\'\'
cursor.executemany("insert into staff_info(name,dep_id) values(%s,%s)",[(\'xiaoli\',3),(\'zhangzhang\',4)])
conn.commit()
cursor.close()
conn.close()
Python连接MySQL进行修改
import pymysql
conn = pymysql.connect(host=\'localhost\',user=\'root\',password=\'\',database=\'company\',port=3306,charset=\'utf8\',cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()
\'\'\'修改单行多列的时候后面%传入的值需要以元组形式传入,并且字符串类型要加单引号,整数类型不需要加单引号\'\'\'
cursor.execute("update staff_info set name=\'%s\',dep_id=\'%d\' where id=13"%(\'zhangzhangbao\',1))
conn.commit()
cursor.close()
conn.close()
Python连接MySQL进行修改后获取id号
import pymysql
conn = pymysql.connect(host=\'localhost\',user=\'root\',password=\'\',database=\'company\',port=3306,charset=\'utf8\',cursorclass=pymysql.cursors.DictCursor)
cursor = conn.cursor()
\'\'\'添加多列单行值的时候,%s不能加单引号,后面传入的值也不需要&,直接以列表形式传入且列表中字符类型要加单引号\'\'\'
cursor.execute("insert into staff_info(name,dep_id) values(%s,%s)",[\'WZRY\',3])
conn.commit()
print(cursor.lastrowid) #查看插入数据的主键id
cursor.close()
conn.close()