import sqllex as sx
db = sx.SQLite3x(path='database.db')
# db = sx.PostgreSQL(...)
db.create_table(
'users',
{
'id': [sx.INTEGER],
'name': [sx.TEXT, sx.NOT_NULL]
}
)
id_col = db['users']['id'] # !!!!
name_col = db['users']['name'] # !!!!
db.update(
TABLE='users', # table name
SET=['username', 'Updated_name_0'], # set username 'Updated_name_0'
WHERE=(
id_col == 1 # where id == 1
)
)
db.update(
'users', # table name
['username', 'Updated_name_1'], # set username 'Updated_name_1'
id_col > 1 # where id > 1
)
db.update(
'users',
SET={
'name': 'Updated_name_1'
},
WHERE=(
id_col == 1
)
)
db.update(
'users',
SET={
name_col: name_col + '__UPDATED' # SET id column name value == old value + '__UPDATED'
},
WHERE=(
id_col == 1
)
)
db.update(
'users',
SET={
id_col: id_col + 420 # SET id column new value == old value + 420
},
WHERE=(
id_col == 1
)
)
db.update(
'users',
SET={
'name': 'Updated_name_id<2'
},
WHERE=(
id_col < 2
)
)
db.update(
'users',
SET={
'name': 'Updated_name_!=1_and_!=2'
},
WHERE=(
(id_col != 1) & (id_col !=2)
),
OR=sx.IGNORE
)
db.update(
'users',
SET=['name', 'Updated_name_<4_or_=1'],
WHERE=(
(id_col < 4) | (id_col == 1)
)
)
# OLD variants
# for WHERE
#
# WHERE=['id', 4]
#
# WHERE={
# 'id': ['!=', [1,2]]
# }
#
# WHERE={
# 'id': ['<', 2]
# }
#
# WHERE="id>2"
#