gpt4 book ai didi

python - 如何从用户输入中获取 mysql 数据库名称的名称并创建表

转载 作者:行者123 更新时间:2023-11-29 07:25:26 25 4
gpt4 key购买 nike

我想在 python 环境中创建一个 mysql 数据库,然后在其中创建表,但是错误提示“NO DATABASE SELECTED”。我该如何解决?

import mysql.connector
dbname = input('Please enter the name of database : ')
db = mysql.connector.connect(
host = '127.0.0.1',
user = 'root',
password = ''
)


cursor = db.cursor()
cursor.execute("CREATE DATABASE IF NOT EXISTS %s" %dbname)
cursor.execute("CREATE TABLE IF NOT EXISTS %s (email varchar(30) pwd varchar(20))" %dbname)

db.close()

最佳答案

在您的代码中,创建数据库连接器后无法识别数据库名称,因为数据库名称未提供给连接器。这意味着在数据库中创建表时,您必须向连接器提供数据库名称,然后才能在指定的数据库中创建表通过连接器。

首先你需要创建如下数据库。

       import mysql.connector
dbname = input('Please enter the name of database : ')
db = mysql.connector.connect(
host = 'localhost',
user = 'root',
password = '',
)

cursor = db.cursor()
cursor.execute("CREATE DATABASE IF NOT EXISTS %s" %dbname)
cursor.close()
db.close()}

创建数据库后,您需要手动提供数据库名称,以便在现有数据库中创建数据库表。此处数据库名称由用户输入,即

      import mysql.connector
db = mysql.connector.connect(
host = 'localhost',
user = 'root',
password = '',
database=dbname, #providing name of database to connector
)

cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS %s (email VARCHAR(30),pwd
VARCHAR(20))" %dbname)
cursor.close()
db.close()}

最后,您可以要求用户输入数据库名称,并可以使用以下代码在数据库中创建具有相同名称(在您的情况下为 dbname)的表。

      import mysql.connector
dbname = input('Please enter the name of database : ')
db = mysql.connector.connect(
host = 'localhost',
user = 'root',
password = '',
)
cursor = db.cursor()
cursor.execute("CREATE DATABASE IF NOT EXISTS %s" %dbname)
cursor.close()
db.close()

import mysql.connector
db = mysql.connector.connect(
host = 'localhost',
user = 'root',
password = '',
database=dbname,
)

cursor = db.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS %s (email VARCHAR(30),pwd
VARCHAR(20))" %dbname)
cursor.close()
db.close()

关于python - 如何从用户输入中获取 mysql 数据库名称的名称并创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54079958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com