python数据库操作教程_使用python操作数据库

使用第三方库pymysql对数据库进行操作(可使用命令python -m pip install pymysql进行安装)

import pymysql#引用pymysql库

#配置数据库参数进行连接,其中host,port,user,password是必须要传入的参数

my_cnt = pymysql.connect(host='localhost',

port=3306,

user='root',

password='123456',

database='test',

charset='utf8')

my_data = my_cnt.cursor()#创建用于执行查询的新游标

my_data.execute('select * from test.user')#传入sql查询语句

my_cnt.commit()#提交执行

get_data = my_data.fetchall()#执行成功就遍历结果的每行数据,以元组返回

my_cnt.close()#关闭数据库连接

print(get_data)

如要远程访问数据库,需要开启数据库远程访问权限:

1.使用命令行登录MySQL

2.输入命令flush privileges;刷新权限

3.再输入命令GRANT ALL PRIVILEGES ON *(数据库).*(表) TO 'root'@'%' IDENTIFIED BY '123456';

4.再次输入命令flush privileges;刷新权限

封装:

class MysqlConnect:

# 初始化类对象,接收参数:数据库地址、接口、用户名、密码、数据库名、字符集,连接数据库

def __init__(self,host='localhost',port=3306,username=None,password=None,database='mysql',charset='utf8'):

self._host = host

self._port = port

self._user = username

self._password = password

self._database = database

self._charset = charset

# 连接数据库

try:

self._my_cnt = pymysql.connect(host=self._host,

port=self._port,

user=self._user,

password=self._password,

database=self._database,

charset=self._charset)

# 连接失败报错

except Exception:

raise Exception("Database connect fail, check the value of host, user, password, database and port")

#定义方法接收参数sql,执行sql语句进行数据库操作

def msq_sql(self,sql):

self._my_data = self._my_cnt.cursor()#创建用于执行查询的新游标

try:

self._my_data.execute(sql)#传入sql语句

self._my_cnt.commit()#提交执行

except Exception:#执行失败报错

raise Exception('ERROR 1064 (42000): You have an error in your SQL syntax; '

'check the manual that corresponds to your MySQL server '

'version for the right syntax to use near \'',sql,'\' at line 1')

else:

get_data = self._my_data.fetchall()#执行成功就遍历结果的每行数据,以元组形式返回

return get_data

finally:

self._my_cnt.close()#关闭数据库连接

if __name__ == '__main__':#代码入口,防止外部调用类对象时其它代码造成影响

mct=MysqlConnect(username='root',password='123456,',database='test')#实例化类,传入数据库参数

print(mct.msq_sql('select * from test.user'))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值