Я довольно плохо знаком с SQL, но он мне нужен для школьного проекта. Я пытаюсь сделать (Python) веб-приложение, которое требует учетных записей. Я могу поместить данные в свою базу данных SQL, но теперь мне нужен какой-то способ проверить, существует ли внутри базы данных электронное письмо (введенное через HTML-форму). Наверное, самый простой запрос, но я не знаю, как начать. :(
Извините, если это дублирующий вопрос, но я не могу найти там что-нибудь, что делает то, что мне нужно.
Я смог решить мою проблему, просто используя INSERT IGNORE
и после этого проверяя, был ли он проигнорирован первичным ключом.
Спасибо всем, кто помог, хотя!
если вы используете SQLAlchemy в вашем проекте:
@app.route("/check_email")
def check_email():
# get email from you form data
email = request.form.get("email")
# check if someone already register with the email
user = Users.query.filter_by(email=email).first()
if not user:
# the email doesnt exist
pass
else:
# the email exists
pass
Users.query.filter_by(email=email).first()
равно SQL:
SELECT * from users where email="EMAIL_FROM_FORM_DATA"
если вы используете pymsql
(или что-то в этом роде):
import pymsql
@app.route("/check_email")
def check_email():
# get email from you form data
email = request.form.get("email")
conn = connect(host='localhost',port=3306,user='',password='',database='essentials')
cs1 = conn.cursor()
params = [email]
# cursor return affected rows
count = cs1.execute('select * from users where email=%s', params) # prevent SqlInject
if count == 0:
# count 0 email
else:
# the email exists
# and if you want to fetch the user info
user_info = cs1.fetchall() # the user_info should be a tuple
# close the connection
cs1.close()
conn.close()
pymysql
? или другой клиент mysql? Там могут быть различия между ними. Кстати, первая строка должна быть from pymysql import connect
.