Задать вопрос
@Vadimganin

Как создавать новые столбцы в SQLite3?

Как создавать новые столбцы без ошибок и потери старой базы данных?
Например, я создал базу данных после запуска файла я уже не могу создать новый столбец, будет ошибка

Вот пример кода:
import sqlite3

db = sqlite3.connect('the_server.db')
sql = db.cursor()

sql.execute("""CREATE TABLE IF NOT EXISTS users (
	login TEXT,
	password TEXT,
	cash BIGINT
)""")

db.commit()

user_login = input('Login: ')
user_password = input('Password: ')

sql.execute(f"SELECT login FROM users WHERE login = '{user_login}'")
if sql.fetchone() is None:
	 sql.execute(f"INSERT INTO users VALUES (?, ?, ?)", (user_login, user_password, 0))
	 db.commit()

	 print('You are loggined!')
else:
	print('This account already exists!')

	for value in sql.execute("SELECT * FROM users"):
		print(value)


Представим, что кто-то зарегистрировался и после этого ты добавил столбец (например description TEXT) и ты уже не можешь зарегистрироваться, будет ошибка, что всего 3 столбца, а ты регистрируешься с 4 полями
  • Вопрос задан
  • 1872 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@denislysenko
data engineer
table_name это имя таблицы, к которой хочешь добавить столбец
column_name это название столбца, который хочешь добавить
datatype это тип данных столбца, который хочешь добавить (например: varchar или int)
здесь можно почитать более подробно: https://www.w3schools.com/sql/sql_alter.asp
sql.execute(f'ALTER TABLE {table_name} ADD {column_name} {datatype}')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы