Per prima cosa dovremo creare una tabella all'interno del nostro database MySQL che conterrà i files. Questa tabella sarà costituita dai seguenti campi:
Campo Tipo
--------- --------------
id_file int(11) chiave primaria (autoincrement)
nome_file varchar(255)
tipo_file varchar(128)
dati_file blob
Vediamo il significato e l'utilità dei diversi campi:
Di particolare interessa è il campo dati_file di tipo blob. Il tipo blob (binary large object) è proprio quello che MySQL mette a disposizione per la memorizzazione di grosse quantità di dati binari ed è quindi adatto a conservare un intero file. In realtà ci sono diversi tipi blob, ciascuno caratterizzato da un valore massimo di byte che può contenere:
| Nome campo | Massima capacità |
| TINYBLOB |
256 Byte |
| BLOB |
64 KByte |
| MEDIUMBLOB |
16 MByte |
| LONGBLOB |
4 GByte |
Per creare la tabella possiamo eseguire la seguente query (ad esempio usando phpMyAdmin o direttamente con il MySQL Command Line Client):
CREATE TABLE tabella_files (
id_file int(11) NOT NULL auto_increment,
nome_file varchar(255) default NULL,
tipo_file varchar(128) default NULL,
dati_file blob,
PRIMARY KEY (`id_file`)
);