首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中带有mysql-connector的未知数据库

python中带有mysql-connector的未知数据库
EN

Stack Overflow用户
提问于 2020-09-24 13:30:09
回答 1查看 719关注 0票数 0

我是个数据库新手。我在phpmyadmin中创建了一个简单的数据库,并将其与另一个数据库连接起来。现在,我尝试使用mysql-connector模块访问python中的数据库,但是python似乎无法检测到它。我已经将我的数据库命名并保存为下面的数据库,但我不知道这是否连接或可以找到它。我将DB转换为.sql,但我不知道如何处理它。

代码语言:javascript
复制
import mysql.connector

mydb = mysql.connector.connect(
    host='localhost',
    user='root',
    password='',
    database='python_sql',
    )

此外,我实际上对PHP一无所知,所以我不能像一些人那样编写一些花哨的脚本。我在教程中看到,即使用phpmyadmin编写程序,人们也可以顺利完成这一步,所以我不知道我的代码出了什么问题。当我运行它时,我得到以下错误。

代码语言:javascript
复制
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 216, in _open_connection
    self._cmysql.connect(**cnx_kwargs)
_mysql_connector.MySQLInterfaceError: Unknown database 'python_sql'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/johnminton/Documents/Python/Python database internal/mysql-db.py", line 7, in <module>
    database='python_sql'
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mysql/connector/__init__.py", line 264, in connect
    return CMySQLConnection(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 80, in __init__
    self.connect(**kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 966, in connect
    self._open_connection()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 219, in _open_connection
    sqlstate=exc.sqlstate)
mysql.connector.errors.ProgrammingError: 1049 (42000): Unknown database 'python_sql'

编辑:当我删除'database=python_sql‘时,我没有得到错误,所以它似乎可以很好地连接到我的本地主机

EN

回答 1

Stack Overflow用户

发布于 2021-02-06 06:55:51

在此代码中,您可以处理由于connect而发生的大多数错误

代码语言:javascript
复制
from mysql.connector import errorcode
try:
  myconn = mysql.connector.connect(
      host='your host name ',
      user='username',
      passwd='Password to access',
      database='DataBase Name')
except mysql.connector.Error as err:
    if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
        print("Something is wrong with your user name or password")
    elif err.errno == errorcode.ER_BAD_DB_ERROR:
        myconn = mysql.connector.connect(
            host='localhost',
            user='root',
            passwd='1234',
        )
        mycurs = myconn.cursor()
        mycurs.execute("CREATE DATABASE ttt")
        myconn = mysql.connector.connect(
            host='localhost',
            user='root',
            passwd='1234',
            database='ttt'
        )
    else:
        print(err)
else:
  myconn.close()
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64040090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档