Creare ed eliminare le tabelle CONNECT
Le istruzioni CREATE TABLE sulle tabelle CONNECT sono dei normali comandi per MySQL che specificano "engine=CONNECT". Esistono delle opzioni aggiuntive per le tabelle e per le colonne.
Opzioni di tabella:
(Probabilmente nuove opzioni verranno aggiunte nelle future versioni dell'handler.)
Opzione | Tipo | Spiegazione |
---|---|---|
TABLE_TYPE | Stringa | Il tipo di tabella esterna: DOS, FIX, BIN, CSV, FMT, XML, INI, DBF, VEC, ODBC, MYSQL, TBL, DIR, WMI, MAC e EOM. Il preferinito è DOS. |
FILE_NAME | Stringa | Il nome e il percorso del file, per tutte le tabelle basate sui file. Può essere assoluto, oppure relativo rispetto alla directory dei dati corrente. |
XFILE_NAME | Stringa | Il nome e il percorso dei file degli indici. Può essere assoluto, oppure relativo rispetto alla directory dei dati corrente. Il predefinito è il nome del file. |
TABNAME | Stringa | La tabella di destinazione, o il nodo per le tabelle ODBC, MYSQL, XML e catalog. |
TABLE_LIST | Stringa | La liste, separata da virgole, delle sottotabelle di una tabella TBL. |
DBNAME | Stringa | Il database di destinazione per le tabelle ODBC, MYSQL e catalog. |
DATA_CHARSET | Stringa | Il set di caratteri usato dal file o dalla sorgente dati. |
SEP_CHAR | Stringa | Specifica il carattere che separa i campi per le tabelle CSV. |
QCHAR | Stringa | Specifica il carattere usato per virgolettare alcuni campi di una tabella CSV o gli identificatori per le tabelle ODBC. |
MODULE | Stringa | Il nome e il percorso della DLL o della libreria condivisa che implementa l'accesso a una tabella non-standard (OEM). |
SUBTYPE | Stringa | Il sottotipo di una tabella OEM. |
CATFUNC | Stringa | La funzione catalog usata in una tabella catalog. |
OPTION_LIST | Stringa | Usato per specificare le altre opzioni che non sono direttamente definite. |
MAPPED | Booleano | Specifica se si usa il "file mapping" per gestire il file. |
HUGE | Booleano | Specifica che il file della tabella supera i 2GB. |
COMPRESS | Booleano | True se il file dei dati è compresso. Il predefinito è NO. |
SPLIT | Booleano | True per le tabelle VEC quando ogni colonna si trova in un file separato. |
READONLY | Booleano | True se il file dei dati non deve essere modificato o cancellato. |
SEPINDEX | Booleano | Se è true, gli indici sono salvati in file differenti. |
LRECL | Intero | Le dimensioni dei record nel file (spesso calcolato per default). |
BLOCK_SIZE | Intero | Il numero di righe contenuto in ogni blocco nelle tabelle FIX, BIN, DBF e VEC. Per le tabelle ODBC è la dimensione del RowSet. |
MULTIPLE | Intero | Specifica file multipli per una sola tabella. |
HEADER | Intero | Si applica ai file CSV, VEC e HTML. Il suo significato dipende dal tipo di file. |
QUOTED | Intero | Il livello delle virgolette nei file delle tabelle CSV. |
ENDING | Intero | Lunghezza della fine delle righe. Il predefinito è 1 per Unix/Linux e 2 per Windows. |
Siccome CONNECT gestisce molti tipi di tabelle, nella lista sopra mancano molte opzioni specifica di un tipo, che devono essere inserite utilizzando l'opzione OPTION_LIST. La sintassi è la seguente:
... option_list='nomeopz1=valoreopz1,nomeopz2=valoreopz2...'
Si ricordi che nessuna spaziatura deve essere presente tra i caratteri uguale (=) e virgola (,). Il nome dell'opzione è tutto ciò che si trova tra l'inizio delle stringa, o l'ultima virgola, e il successivo segno uguale, mentre il valore è tutto ciò che si trova tra il carattere uguale e la virgola successiva, o la fine della stringa. Per esempio:
option_list='name=TABLE,coltype=HTML,attribute=border=1;cellpadding=5,headattr=bgcolor=yellow';
Si sono definite quattro opzioni: name, coltype, attribute e headattr, con i valori 'TABLE', 'HTML', 'border=1;cellpadding=5' e 'bgcolor=yellow'. L'unica restrizione è che i valori non possono contenere virgole, ma possono contenere segni di uguale.
Opzioni di colonna
Opzione | Tipo | Spiegazione |
---|---|---|
FLAG | Intero | Un intero il cui significato dipende dal tipo della tabella. |
FIELD_LENGTH | Intero | Imposta la lunghezza interna delle colonne di tipo DATE. |
DATE_FORMAT | Stringa | Il formato nel quale le date sono registrate nel file. |
FIELD_FORMAT | Stringa | Il formato delle colonne per alcuni tipi di tabella. |
SPECIAL | Stringa | Il nome della colonna SPECIAL che determina il valore di questa colonna. |
Nota 1: Creando una tabella CONNECT basata su un file non si elimina né si crea il file stesso se il nome del file è specificato nell'istruzione CREATE TABLE (tabella "esterna"). Se il file non esiste, verrà popolato dai comandi INSERT o dalla clausola "AS select" di CREATE TABLE. Diversamente da CSV, CONNECT permette di creare facilmente tabelle basate su file già esistenti, per esempio file creati da altre applicazioni. Tuttavia, se il nome del file non è specificato, verrà creato nella directory dei dati un file chiamato nome_tabella.tipo_tabella
(tabella "interna").
Nota 2: Per eliminare una tabella CONNECT si usa una normale istruzione DROP. Per le tabelle esterna, l'istruzione elimina solo la definizione della tabella CONNECT ma non il file dei dati né il file degli indici. Per eliminarli si può usare DELETE
o TRUNCATE
. Invece, per le tabelle interne, l'istruzione DROP elimina il file dei dati e quello degli indici esattamente come accade con gli altri Storage Engine di MariaDB.