import sqlite3
DFLT_path = 'C:/Desktop/mydatabase.db'
DFLT_table = 'mytable'
DFLT_data = {'name': "bob",'age':20,'address':'3 something st.'}
def db_give(db_name=DFLT_path, table=DFLT_table, data=DFLT_data):
table_data = []
for data_name in data:
if isinstance(data[data_name], str):
table_data.append(('TEXT',data_name,data[data_name]))
elif isinstance(data[data_name], int):
table_data.append(('INTERGER',data_name,data[data_name]))
elif isinstance(data[data_name], float):
table_data.append(('REAL',data_name,data[data_name]))
elif isinstance(data[data_name], (list,dict,set)):
table_data.append(('NUMERIC',data_name,str(data[data_name])))
else:
table_data.append(('BLOB',data_name,data[data_name]))
conn = sqlite3.connect(db_name)
cursor = conn.cursor()
with conn:
table = 'db' + str(table)
temp_str1 = []
for data_t, data_n, _ in table_data:
temp_str1.append(f'{data_n} {data_t} NOT NULL')
columns = f'id INTEGER PRIMARY KEY, ' + ', '.join(temp_str1)
create_table = f'CREATE TABLE IF NOT EXISTS {table} ({columns})'
cursor.execute(create_table)
category = ','.join(data.keys())
values = []
for val in list(data.value()):
if isinstance(val,(list,dict,set)):
values.append(str(val))
else:
values.append(val)
q_marks = []
for _ in range(len(data)):
q_marks.append('?')
q_marks = ', '.join(q_marks)
string_execute = f'INSERT INTO {table}({category}) VALUES({q_marks})'
cursor.execute(string_execute,values)
return string_execute + " "+ str(values)
###BELOW IS THE COMPRESSED VERSION OF THIS CODE (WHICH I USE)
def db_give(db_name=DFLT_path, table=DFLT_table, data=DFLT_data):
data['date'] = strftime("%D %T", localtime())
data['date_sec'] = time()
table_data = []
for data_name in data:
if isinstance(data[data_name], str):
table_data.append(('TEXT', data_name, data[data_name]))
elif isinstance(data[data_name], int):
table_data.append(('INTEGER', data_name, data[data_name]))
elif isinstance(data[data_name], float):
table_data.append(('REAL', data_name, data[data_name]))
elif isinstance(data[data_name], (list,dict,set)):
table_data.append(('NUMERIC', data_name, str(data[data_name])))
else: table_data.append(('BLOB', data_name, data[data_name]))
conn = sqlite3.connect(db_name)
cursor = conn.cursor()
with conn:
table = 'db' + str(table)
columns = 'id INTEGER PRIMARY KEY, ' + ', '.join([f'{data_n} {data_t} NOT NULL' for data_t, data_n, _ in table_data])
create_table = f'CREATE TABLE IF NOT EXISTS {table}({columns})'
cursor.execute(create_table)
category = ','.join(list(data.keys()))
cat_data = [str(i) if isinstance(i, (list,dict,set)) else i for i in list(data.values())]
q_marks = ','.join(["?" for _ in range(len(data))])
string_execute = f'INSERT INTO {table}({category}) VALUES({q_marks})'
cursor.execute(string_execute, cat_data)
return string_execute+f', {cat_data}'
PAT: / rezatahirkheli
PP: https://www.paypal.com/paypalme/rezat...
BTC: 3EUQBWZKX9Vcwdffd3cUGATQopxrAQQxJ9
LTC: MBXE6hJgxxFYSD8SjmR7sHCHGTqFXmNGoU
GFM: https://gofund.me/7d6500bd
Смотрите видео Python's SQLITE3 Creating Table (and Database) and Inserting Data онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь ZeroLife 25 Март 2021, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 44 раз и оно понравилось 1 людям.