Ajout d'astuces sur l'utilisation de duckDB
This commit is contained in:
53
wiki/shell/commands/DuckDB.mdwn
Normal file
53
wiki/shell/commands/DuckDB.mdwn
Normal file
@@ -0,0 +1,53 @@
|
||||
# DuckDB dans un script shell
|
||||
|
||||
## 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';"
|
||||
```
|
||||
Reference in New Issue
Block a user