python+pymysql操作数据库
一、下载pymysql
(1)dos命令下下载:pip install pymysql
(2)pycharm 中==setting==点击解释器==点击“+”下载==输入下载pymysql==选择版本==install下载
二、pymysql连接
(1)vmware中打开服务器==安装数据库==开启数据库==关闭防火墙
(2)pymysql.connect
如:Connect = connect = Connection = connections.Connection
连接方式
(3)连接参数:
lj=pymysql.connect(
host="", 主机 ip地址 如:192.168.150.128
user="", 用户名 如:root
passwd="" 或password 密码:123456
database="" 或db, 库名 如:hh
port="", 端口号 3306
charset='utf-8' 编码字符:utf-8
)
(4)创建游标,通过游标执行sql语句,并查看语句的内容有三种:
a.fetchone() 查询一行数据
b.fetchmany(行数)查询一行数据
c.fetchall()查询所有的数据
import pymysql
lj=pymysql.connect(
host="192.168.150.128",user="root",passwd="123456",
database="hh",port=3306,charset='utf8')
yb=lj.cursor() #创建游标
yb.execute("select * from dept") #执行sql语句
# print(yb.fetchone()) #fetchone()查询一行数据
# print(yb.fetchmany(2)) #fetmany# 查询指定行数据
print(yb.fetchall()) #fetchall() 查询所有的数据
三、pymysql的运用
1、查询
import pymysql
lj=pymysql.connect(
host="192.168.150.128",user="root",passwd="123456",
database="hh",port=3306,charset='utf8')
yb=lj.cursor() #创建游标
yb.execute("select * from dept") #执行sql语句
print(yb.fetchone()) #fetchone()查询一行数据
2、删除语句
import pymysql
lj=pymysql.connect(
host="192.168.150.128",user="root",passwd="123456",
database="hh",port=3306,charset='utf8')
yb=lj.cursor() #创建游标
yb.execute("delete from dept where dept1=101") #执行sql语句
3、插入数据
import pymysql
lj=pymysql.connect(
host="192.168.150.128",user="root",passwd="123456",
database="hh",port=3306,charset='utf8')
yb=lj.cursor() #创建游标
yb.execute("insert into dept values('101','xiaoshou')") #执行sql语句
4、改数据
import pymysql
lj=pymysql.connect(
host="192.168.150.128",user="root",passwd="123456",
database="hh",port=3306,charset='utf8')
yb=lj.cursor() #创建游标
yb.execute("update dept set dept_name='xs' where dept1='101'") #执行sql语句
四、封装查询语句(三种方方式)
import pymysql
class Dcs_mysql():
def __init__(self,host,user,passwd,database,port):
self.host=host
self.user=user
self.passwd=passwd
self.database=database
self.port=port
def lj(self):
ljdx=pymysql.connect(host=self.host,user=self.user,passwd=self.passwd,
database= self.database,port=self.port,charset='utf8' )
self.yb=ljdx.cursor()
def one(self,mysql): # 查询一行数据
self.yb.execute(mysql)
print(self.yb.fetchone())
def many(self,mysql,x): #查询指定行数数据
self.yb.execute(mysql)
print(self.yb.fetchmany(x))
def all(self,mysql): #查询所有的数据
self.yb.execute(mysql)
print(self.yb.fetchall())
if __name__ == '__main__':
dx=Dcs_mysql(host="192.168.150.128",user="root",passwd="123456",
database="hh",port=3306)
dx.lj()
# dx.one("select * from dept")
# dx.many("select * from dept",3)
dx.all("select * from dept")