Postata in: 'Export ed Import di campi e dati da una tabella in output su e da file'

Arturo Padova

Oltre a quanto illustrato dal collega Orfiesi per fare l'export su file, aggiungo che la COPY è comoda anche per fare l'operazione inversa, ossia l'import dei dati da un file ad una tabella di PostgreSQL. La sintassi per l'import è la seguente:COPY myTable FROM '/path/table_data.txt'; Nel fare l'import si usano spesso i file

Pubblica
30-03-2020 18:01:25 +1

Postata in: 'Export ed Import di campi e dati da una tabella in output su e da file'

Alberto Orfiesi

Per fare quello che chiedi in PostgreSQL devi usare COPY, ti consente di copiare in output i 'dati' dalle tabelle ad un file.Se vuoi copiare un'intera tabella ti basta specificarne il nome, in questo modo:COPY myTable TO '/mypath/table_data.txt'; Puoi anche copiare in un file il risultato di una query SQL, così:COPY (SELECT column FROM

Pubblica
30-03-2020 17:51:00 +2

Postata in: 'Quali caratteri speciali sono permessi in un campo VARCHAR di Sql Server'

Saverio Buccellato

I caratteri speciali che possono essere inseriti all'interno di un campo (colonna) VARCHAR sono tutti quelli ammessi per il charset specificato. Mi spiego meglio, se la tua colonna di tipo VARCHAR è stata definita con un charset di tipo ASCII, allora accetterà tutti i caratteri previsti per questo insieme, che sappiamo essere 256

Pubblica
27-03-2020 11:07:58 -2

Postata in: 'Convertire stringa in numero sql'

Federico Di Sutta

Puoi usare la CAST() per convertire il tipo string nel tipo integer, l'uso sql è questo:SELECT CAST('132' AS INTEGER);ovviamente puoi specificare anche gli attributi del tipo per una coversione ancora più specificaSELECT CAST('132' AS SIGNED INTEGER);o ancoraCAST('132' AS UNSIGNED INTEGER);e come già detto dal collega, la CAST

Pubblica
26-03-2020 09:32:33 -3

Postata in: 'Convertire stringa in numero sql'

Giacomo Barrile

Per convertire una stringa in numero in sql (MySql), esistono due funzioni predefinite del linguaggio, CONVERT e CAST che svolgono proprio questo compito.Sia l'una che l'altra sono in grado di convertire non solo una stringa in numero, ma qualsiasi tipo in un altro che tu specifichi come secondo parametro, la signature (firma) delle due funzioni &e

Pubblica
26-03-2020 09:26:08 +2

Postata in: 'Convalidare Mongoose Mixed schema type'

Bruno Verzinesi

Stai trattando "value" come un oggetto, senza prima aver verificato che esso lo sia realmente, prova ad effettuare un controllo prima di utilizzarlo, potresti scrivere così:if(typeof value !== "undefined" && value !== null){ return value.length > 0}

Pubblica
24-03-2020 12:26:17 0

Postata in: 'Selezionare record per anno da data sql'

Michele Ladonia

E se invce vuoi selezionare i dati dell'anno precedente ti basterà scrivere la query sql in questo modo:SELECT * FROM my_table WHERE campo_data = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)) 

Pubblica
23-03-2020 19:40:52 +1

Postata in: 'Selezionare record per anno da data sql'

Federico Di Sutta

Selezionare (estrarre) dei dati in base all'anno di una data in sql è semplicissimo, in MySql andresti a scrivere una query del genere:SELECT * FROM my_table WHERE campo_data = YEAR(CURDATE())in questo modo otterrai tutti i records della tua tabella il cui anno nella colonna 'campo_data' è uguale all'anno corrente, la CURDATE() ti res

Pubblica
23-03-2020 19:37:41 0

Postata in: 'Importare manualmente un database mysql'

Giacomo Barrile

In linea teorica no, in pratica puoi copiare direttamente la cartella contenente i file del tuo database (le tabelle con estensione .frm .MYD .MYI, tre file per ogni tabella) dentro la cartella 'data' di MySql, ti ritroverai il database copiato dentro phpMyAdmin. Ti sconsiglio però di fare un copia incolla brutale, poiché il data

Pubblica
20-03-2020 17:39:31 0

Postata in: 'Differenza tra NOW() vs CURDATE()'

Giacomo Barrile

La differenza tra CURDATE() e NOW() è che la prima ti ritorna la data corrente, mentre la seconda la data e l'ora corrente.Completano la famiglia delle funzioni per la gestione delle date in MySql assieme alla DATE() ed alla CURTIME(), e per capirne meglio le date trattate, guarda gli esempi di query sottostanti:CURDATE() = DATE(NOW()) 

Pubblica
20-03-2020 17:15:20 0

Postata in: 'Differenza tra NOW() vs CURDATE()'

Michele Brughese

Non è un discorso di qual'è migliore tra le due funzioni NOW() o CURDATE(), entrambe servono per recuperare le date in un database MySql, e mentre la prima, la NOW ritorna un DATETIME (date + time) la seconda ovvero la CURDATE ritorna un DATE (date). Se provi a fare una SELECT in MySql invocando queste funzioni ti accorgerai dell

Pubblica
20-03-2020 17:05:29 +1

Postata in: 'Errore: column count doesn't match value count at row 1 - fix'

Federico Di Sutta

Puoi risolvere l'errore fornendo l'esatto numero di colonne per i dati che vuoi inserire, una query insert strutturata in questo modo:INSERT INTO my_table (column1,column2,column3) VALUES (230,'asdf sdaf','asdfs');

Pubblica
19-03-2020 16:54:06 0

Postata in: 'Errore: column count doesn't match value count at row 1 - fix'

Michele Ladonia

Il messaggio di errore restituitoti da MySql:column count doesn't match value count at row 1significa che il numero dei valori (dati) che tu stai cercando di inserire tramite la insert non corrisponde con il numero di colonne presenti nella tabella, e questo può accadere per 2 motivi:Hai definito meno colonne nella tabella rispetto ai dati c

Pubblica
19-03-2020 16:48:25 +2

Postata in: 'Aggiornare i campi di una tabella mysql tramite subquery da un'altra tabella'

Michele Brughese

Se vuoi aggiornare i campi di una prima tabella, anziché usare una subquery per selezionare i valori da una seconda tabella, potresti usare direttamente un JOIN tra le tabelle, in questo modo:UPDATE table1 t1 JOIN table2 t2 ON t1.id=t2.id SET t1.name=t2.name;anche questa è una query sql molto pulita e veloce per fare un UPDATE dei cam

Pubblica
13-03-2020 10:32:22 0

Postata in: 'Aggiornare i campi di una tabella mysql tramite subquery da un'altra tabella'

Federico Di Sutta

Potresti fare la subquery con una SELECT che vada direttamente a selezionare il valore da prelevare per aggiornare il campo interessato sulla prima tabella, in questo modo:UPDATE table1 SET name = (SELECT table2.name FROM table2 WHERE table2.id = table1.id) WHERE table1.id>10Ecco un semplice UPDATE della prima tabella selezionando i valori da un

Pubblica
13-03-2020 10:28:12 0

Postata in: 'Aggiornare i campi di una tabella mysql tramite subquery da un'altra tabella'

Michele Ladonia

Potresti farlo anche con un JOIN sulle due tabelle, se vuoi farlo con una SELECT (subquery) sulla seconda tabella, puoi farlo in questo modo:UPDATE table1 t1, (SELECT id, name FROM table2) t2 SET t1.name = t2.name WHERE t1.id = t2.idNon è poi così difficile aggiornare i data con una subquery ;)

Pubblica
13-03-2020 10:23:40 +1

Postata in: 'Concatenare stringhe MySql'

Michele Brughese

In MySql il tipo string viene rappresentato dai tipi: CHAR, VARCHAR e TEXT (con i suoi sottotipi). Come in tutti i linguaggi sql (e non) le stringhe rivestono un ruolo fondamentale per la trattazione dei dati, e come giustamente sottolinei tu, poterle trattare direttamente a livello di database è una ottimizzazione a livello di performance d

Pubblica
12-03-2020 10:09:54 +1

Postata in: 'Apex Oracle cos'è?'

Silvio Perfinelli

Apex è una sigla che sta per Oracle Application Express, ossia è una piattaforma supportata ovviamente da un datasource Oracle per facilitare lo sviluppo di applicazioni enterprise (applicativi web dinamici basati su architettura client-server) basato sul linguaggio OOP (Object Oriented Program) Salesforce. Il punto di forza prin

Pubblica
11-03-2020 09:32:35 +1

Postata in: 'Rinominare database PostgreSQL'

Andrea Rimpezzi

Ciao, per rinominare un database postgres in sql ti basta utilizzare lo statemen ALTER, in questo modo:ALTER DATABASE "old_dbname" RENAME TO "new_dbname"e per verificare che il cambio di nome del db sia andato a buon fine, ti basta lanciare il comando list per mostrare la lista dei database presenti nella tua istanza di postgreSQL.

Pubblica
10-03-2020 12:30:46 +1