Gestire un database da riga di comando
Gestire un database da riga di comando
Qualche d'uno può consigliarmi un semplice database da gestire da riga di comando, senza dover scrivere password o cose simili?
Mi servirebbe per uno script che cataloga film.
So che ci sono Mysql e PostrgreSQL ma mi sembrano un po difficilotti.
Openoffice-base sembra si possa utilizzare solo dal lato grafica.
Grazie
Mi servirebbe per uno script che cataloga film.
So che ci sono Mysql e PostrgreSQL ma mi sembrano un po difficilotti.
Openoffice-base sembra si possa utilizzare solo dal lato grafica.
Grazie
Re: Gestire un database da riga di comando
Adesso non saprei dirti per i linguaggi di scripting,ma cmq la sintassi delle query mysql o postgresql non è difficilissima...dopo un po si impara e la si usa benissimo.. 
Re: Gestire un database da riga di comando
Però o letto che richiede password e configuraizoni varie.
Mi servirebbe un database privo di queste cose perchè lo script che sto scrivendo dovrebbe essere usato anche da terzi (su altri Pc) .
Il fatto che di database non ci capisco una "h", non li ho mai usati.
Mi servirebbe un database privo di queste cose perchè lo script che sto scrivendo dovrebbe essere usato anche da terzi (su altri Pc) .
Il fatto che di database non ci capisco una "h", non li ho mai usati.
Re: Gestire un database da riga di comando
Ma con Mysql puoi anche gestire un database senza impostare passw. Certo la cosa non è molto sicura, ma se se metti i privilegi dell'utente solo in lettura non possono fare casini. Diversa la cosa se devono aver accesso completo al db.
Saluti
JC54
Saluti
JC54
Linux is like a tepee: no windows, no gates, apache inside.
Re: Gestire un database da riga di comando
Ok sto provando con sqlite...ma ecco il problema.
Da riga di comando ho creato il database e la tabella con i rispettivi campi:
sqlite3 data_archivio.db
SQLite version 3.4.2
Enter ".help" for instructions
sqlite> create table Films (
...> Id integer,
...> Titolo char(80),
...> Regia_A char(40),
...> Regia_B char(40),
...> Autore_A char(40),
...> Autore_B char(40),
...> Genere char(40),
...> Data varchar(40),
...> Durata varchar(10),
...> Nazione char(40),
...> Voto_IMDb varchar(40)
...> );
Poi dentro uno script bash ho scritto il comando per inserire i dati nel database come nell'esempio del link che ha postato paperOK:
sqlite3 data_archivio.db "insert into Films (Id,Titolo,Regia_A,Autore_A,Genere,Data,Durata,Nazione,Voto_IMDb) values ('$titolo','$regista','$autore','$genere','$data','$durata','$nazione','$imdb');
....ma dentro al database non viene scritto niente.
Da riga di comando ho creato il database e la tabella con i rispettivi campi:
sqlite3 data_archivio.db
SQLite version 3.4.2
Enter ".help" for instructions
sqlite> create table Films (
...> Id integer,
...> Titolo char(80),
...> Regia_A char(40),
...> Regia_B char(40),
...> Autore_A char(40),
...> Autore_B char(40),
...> Genere char(40),
...> Data varchar(40),
...> Durata varchar(10),
...> Nazione char(40),
...> Voto_IMDb varchar(40)
...> );
Poi dentro uno script bash ho scritto il comando per inserire i dati nel database come nell'esempio del link che ha postato paperOK:
sqlite3 data_archivio.db "insert into Films (Id,Titolo,Regia_A,Autore_A,Genere,Data,Durata,Nazione,Voto_IMDb) values ('$titolo','$regista','$autore','$genere','$data','$durata','$nazione','$imdb');
....ma dentro al database non viene scritto niente.
Re: Gestire un database da riga di comando
Forse lo sbaglio è nel typeness. Al posto di char dovrei mettere TEXT.
Re: Gestire un database da riga di comando
L'errore è che sqlite non importa il carattere apostrofo ' . >:(
Come risolvo? ::)
Come risolvo? ::)
Re: Gestire un database da riga di comando
Però i dati vengono passati come variabile.paper0k ha scritto:?Codice: Seleziona tutto
\'![]()
Re: Gestire un database da riga di comando
Per aggirare il problema bisogna aggiungere un'altro apostrofo ' .
Quindi se il titolo di un film sarà L'arco diventerà l''arco.
Ma come faccio se i dati li passo come variabile?
Esiste un modo con sed per raddoppiare questo carattere?
Quindi se il titolo di un film sarà L'arco diventerà l''arco.
Ma come faccio se i dati li passo come variabile?
Esiste un modo con sed per raddoppiare questo carattere?
Re: Gestire un database da riga di comando
Trovato
sed -i s/\'/\'\'/g
sed -i s/\'/\'\'/g
- garak
- Entusiasta Emergente

- Messaggi: 1649
- Iscrizione: lunedì 13 giugno 2005, 13:37
- Desktop: Gnome
- Distribuzione: Ubuntu 24.04
- Sesso: Maschile
- Località: Roma
- Contatti:
Re: Gestire un database da riga di comando
Benvenuto nel mondo dei db. 
Quello che stai cercando di fare si chiama "escaping" e non può essere limitato ai soli apici, perlomeno se vuoi fare un'applicazione sicura. Dovresti preoccuparti anche dei puntievirgola, dei commenti e in generale di tutto ciò che potrebbe provocare una sql injection.
Quello che stai cercando di fare si chiama "escaping" e non può essere limitato ai soli apici, perlomeno se vuoi fare un'applicazione sicura. Dovresti preoccuparti anche dei puntievirgola, dei commenti e in generale di tutto ciò che potrebbe provocare una sql injection.
Re: Gestire un database da riga di comando
Conosci un manuale in italiano per sqlite?garak ha scritto: Benvenuto nel mondo dei db.
Quello che stai cercando di fare si chiama "escaping" e non può essere limitato ai soli apici, perlomeno se vuoi fare un'applicazione sicura. Dovresti preoccuparti anche dei puntievirgola, dei commenti e in generale di tutto ciò che potrebbe provocare una sql injection.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti

