Python3连接服务器上的mysql数据库

今天学习python连接数据库,准备用python自己写个连接的,结果遇到两个问题,现在记录一下。
1.导入Python的MySql模块时
在pycharm中我下载的mysql库是pip install PyMySQL,如下图
在这里插入图片描述
然后在代码里导入这个库
我看下载的库是PyMySQL,然后写的

import PyMySQL

结果pycharm一直提示报错,没有这个库在这里插入图片描述
然后在网上找才知道,python3里用的mysql模块库是pymysql,全小写的,这时才没报错

名词解释:

conn = pymysql.connect(host=“数据库地址”,
user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)

2.连接数据库名称写错
这期间又遇到一个问题,我一直以为database写的数据库名称跟Navicat里一样是自己任意命名的。我之前是这样写的:

conn=pymysql.connect(host=“ip”,user=“用户名”,password=“密码”,database=“34”)

database=“”34“”,34并不是我服务器上的数据库名
导致一直报这个错
File “C:\Users\Administrator\Local Settings\Programs\Python\Python38\lib\site-packages\pymysql_init_.py”, line 94, in Connect
return Connection(*args, **kwargs)
在这里插入图片描述
在网上找了好久,感觉都不是我想要的答案
后来突然反应过来,应该是数据库名称写错了
因为服务器里的数据库名称是这样
在这里插入图片描述
然后就改了代码

1,查询语句

import pymysql
conn=pymysql.connect(host="ip",user="用户名",password="密码",database="testmnet")
cursor=conn.cursor()
sql= "select * from serv_user_info;"
cursor.execute(sql)
one=cursor.fetchone()
cursor.close()
conn.close()
print(one)

运行代码,返回这个

(1, None, 'mont@35441', 'admin', '1', None, '000', 'EC,MANAGER')

这是一列查询

名词解释

conn.cursor() #获取光标对象
cursor.execute(sql)# 执行SQL语句
cursor.fetchone() #获取单条查询数据
all =cursor.fetchall()#获取所有查询数据

2.增

sql_add="INSERT INTO serv_user_info (id,user_name,pass_word) VALUES (%s, %s, %s)"
val =(33,"testzzzz","test")
cursor.execute(sql_add,val)
conn.commit()

记住:增删改,都要commit

python执行语句参考链接菜鸟教程:https://www.runoob.com/python3/python-mysql-connector.html

猜你喜欢

转载自blog.csdn.net/shenshenruoxi/article/details/105588057
今日推荐