Créer une base de donnée:
duckdb database.sql -c "CREATE TABLE IF NOT EXISTS table_name (name VARCHAR PRIMARY KEY, value VARCHAR, param VARCHAR)"
Afficher la table:
duckdb database.sql -list -c "SELECT name FROM table_name"
Afficher la table avec une condition:
duckdb database.sql -list -c "SELECT name FROM table_name WHERE name LIKE '%john%"
Insérer des valeurs:
duckdb database.sql -c "INSERT INTO table_name (name, value) values ('john', '1234')"
Itérer les valeurs et mettre à jour:
while read -r LINE; do
# some code
duckdb database.sql -c "UPDATE table_name SET value = '${VALUE}', param = '${PARAM}' WHERE name = '${LINE}'"
done < <(duckdb database.sql -list -c "SELECT name FROM table_name" | tail -n +2)
Faire des requêtes SQL sur un fichier json:
Lecture des données:
duckdb -c 'SELECT * FROM data.json;'
Ajout de données:
duckdb -c "CREATE TABLE data AS SELECT * FROM 'data.json'; INSERT INTO data (name, value, param) values ('product3','dark','color'); COPY (SELECT * FROM data) TO 'data.json';"
Mises à jour des données:
duckdb -c "CREATE TABLE data AS SELECT * FROM 'data.json'; UPDATE data SET name = 'productZ' WHERE value = 'red'; COPY (SELECT * FROM data) TO 'data.json';"