将数据插入 mysql 数据库中的 table

Insert data to a table in mysql database

我正在尝试将我的数据插入 mysql 数据库,它没有给我任何错误,但它发送空数据而不是我的数据到数据库 table。 我找不到为什么 运行 不正确。 这是代码片段:

import mysql.connector
import re



def insert_to_db (user_name, password):
    cnx = mysql.connector.connect (user='root', password='Alora36318', host='localhost', database='Alora')

    cursor = cnx.cursor ()

    cursor.execute ('INSERT INTO email_address VALUES (user_name, password)')

    cnx.commit ()

    cnx.close()

def add_data ():
    regex_email = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$'
    regex_names = '^[a-zA-Zا-ی]'

    user_name = input ("Enter Your Email Address: ")
    password = input ("Enter Your Password: ")

    def check_email(email):
        if (re.search(regex_email, email)):
            return True
        else:
            return False

    if not check_email(user_name):
        print ("Error", "This Email Is Not A Valid Email")
        print ("Correct form: example@email.com")
        add_data ()
    else:
        insert_to_db (user_name, password)
        print ('Successfuly Inserted to DB!', user_name, password)
        add_data ()


add_data ()

我是一个 bigginer,所以我问了这个有趣的问题但是对于 bigginers,这就是答案:

建立连接:

conn = mysql.connector.connect (host = 'localhost', database = 'databasename', user = 'username', password = 'password')
cursor = conn.cursor()

确保您在数据库中有 table:

table_creation = """CREATE TABLE IF NOT EXISTS table_name (value_name1 value_type1, value_name2 value_type2, value_name3 value_type3)"""
cursor.execute (table_creation)
conn.commit()
cursor = conn.cursor()

然后为 table:

插入文本
sql = """INSERT INTO table_name (value_name1, value_name2, value_name3) VALUES (%s, %s, %s)"""

将字符串、数值、整数、布尔值、日期或任何数据类型的变量名的值发送到table:

val = (value1, value2, value3)
cursor.execute(sql, val)
conn.commit()
cursor = conn.cursor()

然后关闭你的连接:

cursor.close()

就这些了,而且非常简单,有关更多信息,请查看 mysql 的文档。