Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

Database gratis per siti web: dove trovarli

Introduzione

In questo articolo parleremo di database gratuiti per i siti web, come connettersi e come funzionano a livello base.


Cerchi un hosting economico per il tuo sito o blog? Tophost ti aspetta (clicca qui) - Puoi anche usare il coupon sconto esclusivo 7NSS5HAGD5UC2 per spendere di meno ;-)

Come funziona MySQL

MySQL è il database molto noto, tra l’altro, per garantire il funzionamento di WordPress o Joomla!: nel caso dei siti web, infatti, MySQL memorizza e gestisce le informazioni dinamiche contenute negli stessi. Ad esempio in WordPress le tabelle di MySQL servono a memorizzare sia gli articoli che le pagine del sito, ma anche le impostazioni personalizzate di WordPress, le opzioni dell’utente e del tema, le categorie, i tag, i dati di accesso degli utenti del sito e molto altro ancora. Usualmente MySQL viene “interrogato” mediante apposite query ottimizzate, in grado ad esempio di fornire gli ultimi articoli pubblicati sul blog.

Tecnicamente MySQL è un sistema di gestione di database relazionali free e open source (RDBMS), che può essere utilizzato per gestire e memorizzare grosse quantità  di dati (sia testuali che immagini o video), sfruttando una struttura interrogabile mediante query, ovvero “domande” atte ad estrarne di un certo tipo o quantità . Una grande quantità  di aziende dell’IT, attualmente, sfrutta attivamente MySQL 5.6 (l’ultima versione stable, ad oggi) per far funzionare i propri software.

Cosa sono i database relazionali

Il modello relazionale è ampiamente diffuso in ambito database, per quanto non si tratti dell’unico modello disponibile: sicuramente è il più diffuso per garantire il funzionamento dei più diffusi CMS sul web, ad esempio, e la sua flessibilità  / velocità . Di base questo modello di rappresentazione ed accesso ai dati permette di utilizzare tabelle di dati organizzate per righe e colonne, oltre ad un grande insieme di operatori che permettono di accedere allo stesso in lettura, aggiornamento e scrittura.

Database gratuiti: MySQL

Esistono molti servizi che danno MySQL gratuitamente: in molti casi, se si possiede un hosting condiviso, MySQL viene fornito nel pacchetto in quote limitate senza sovrapprezzo (tranne alcuni casi come il piano di hosting Aruba, ad esempio, che si paga il db a parte), per cui basta procurarsi un servizio di questo tipo per poterne disporre. Ci sono comunque moltissimi altri database MySQL free, che vengono descritti nel dettaglio di seguito e che sono utilizzabili da chiunque (soprattutto, in versione gratuita, per test e prototipi).

Attenzione: il sito ufficiale di MYSQL non fornisce hosting per database, ma soltanto il pacchetto gratuito che andrebbe scaricato ed installato. Se vi serve un database MySQL già  pronto all’uso, dovrete rivolgervi ad uno dei servizi riportati nel seguito.

Vediamo un po’ di questi servizi utili che sono riuscito a trovare ad oggi.

  • Molti servizi di hosting gratuito offrono MySQL nel pacchetto, anche se in quantità  e spazio database limitato: per avere un’idea basta consultare la pagina del nostro sito dedicata agli hosting gratis (anche solo italiani)
  • (consigliato) db4free.net è uno dei servizi di MySQL gratuito più famosi, molto utilizzare per fare dei test da parte degli sviluppatori. Questo servizio è molto comodo anche perchè viene aggiornato in automatico e fornisce il comodo software consultabile da web PhpMyAdmin per modificare ed agire a vari livelli sulle vostre tabelle.
  • Free MySQL Hosting richiede una registrazione gratuita con il vostro indirizzo email, e vi fornisce automaticamente ed in pochi secondi un database MySQL di 5 MB (non tantissimi, ma comunque sufficienti per fare test).
  • Freesqldatabase è un altro buon servizio di database gratuito, che invece offre 1 singolo database anche se molto piccolo (massimo 1 MB di spazio sfruttabile)

Query MySQL utili

Di seguito vengono riportate un po’ di query MySQL classiche, molto utili in svariate circostanze di sviluppo e test.

# scoprire le dimensioni delle tabelle del database
SELECT table_name AS "Tabelle", 
round(((data_length + index_length) / 1024 / 1024), 2) "Dimensione in MB" 
FROM information_schema.TABLES 
WHERE table_schema = "NOME+TABELLA"
ORDER BY (data_length + index_length) DESC;

# scoprire quanto occupa il database in termini di spazio
SELECT table_schema "Nome_Database", 
Round(Sum(data_length + index_length) / 1024 / 1024, 1) "Dimensione database in MB" 
FROM   information_schema.tables 
GROUP  BY table_schema

# WordPress: trova le dimensioni di ogni singola opzione di wp_options, in modo da poterla ottimizzare
SELECT
     opts.option_id 'Option ID',
     opts.option_name 'Option Name',
     LENGTH(opts.option_value) "Size in bytes",
     round(((length(opts.option_value)) / 1024), 2) "Size in KB",
          round(((length(opts.option_value)) / 1024 / 1024), 2) "Size in MB"
FROM
     wp_options opts
ORDER BY CHAR_LENGTH(option_value) DESC;

Test rapido di connessione MySQL – PHP

In molti casi si usa MySQL mediante un linguaggio come PHP, sfruttando una libreria di collegamento allo stesso. Per testare se la connessione con il db è funzionante o no, si può sfruttare questo snippet di codice.

<?php
# Fill our vars and run on cli
# $ php -f db-connect-test.php

$dbname = 'name';
$dbuser = 'user';
$dbpass = 'pass';
$dbhost = 'host';

$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
mysql_select_db($dbname) or die("Could not open the db '$dbname'");

$test_query = "SHOW TABLES FROM $dbname";
$result = mysql_query($test_query);

$tblCnt = 0;
while($tbl = mysql_fetch_array($result)) {
  $tblCnt++;
  #echo $tbl[0]."<br />\n";
}

if (!$tblCnt) {
  echo "There are no tables<br />\n";
} else {
  echo "There are $tblCnt tables<br />\n";
}

Comandi principali di MySQL

Da linea di comando MySQL, dopo aver eseguito l’accesso ad esempio via SSH o con un client MySQL, potete dare i seguenti comandi.

Monitor di accesso: mysql -u [username] -p; (nota: bisogna inserire la password di username)

Mostra tutti i database del sistema: show databases;

Primo accesso al database: mysql -u [username] -p [database] (nota: bisogna inserire la password di username)

Crea un nuovo database pippo: create database [pippo];

Seleziona database1 (prima di farne uso la prima volta): use [database1];

Vedere quale database è in uso attualmente: select database();

Vedere tutte le tabelle del database: show tables;

Vedere la struttura (colonne) di una tabella table1: describe [table1];

Vedere gli indici di una tabella: show index from [table “” not found /]
;

Creare una nuova tabella da zero: CREATE TABLE [table “” not found /]
([column] VARCHAR(120), [another-column] DATETIME);

Aggiungere una colonna ad una tabella: ALTER TABLE [table “” not found /]
ADD COLUMN [column] VARCHAR(120);

Aggiungere una colonna ad una tabella con ID auto-incrementale: ALTER TABLE [table “” not found /]
ADD COLUMN [column] int NOT NULL AUTO_INCREMENT PRIMARY KEY;

Inserire un record dentro una tabella: INSERT INTO [table “” not found /]
([column], [column]) VALUES ('[value]', [value]');

Data di oggi: NOW()

Selezionare tutte le righe e tutte le colonne di una tabella: SELECT * FROM [table “” not found /]
;

Avere dettagli strutturali su una tabella: EXPLAIN SELECT * FROM [table “” not found /]
;

Selezionare tutte le righe e solo alcune colonne di una tabella: SELECT [column], [another-column] FROM [table “” not found /]
;

Contare il numero di righe: SELECT COUNT([column]) FROM [table “” not found /]
;

Contare e selezionare righe raggruppate: SELECT *, (SELECT COUNT([column]) FROM [table “” not found /]
) AS count FROM [table “” not found /]
GROUP BY [column];

Selezionare solo alcune righe: SELECT * FROM [table “” not found /]
WHERE [column] = [value];
(si possono usare anche: <, >, !=; e combinare le condizioni con gli operatori AND, OR)

Selezionare le righe che contengono [XXX]: SELECT * FROM [table “” not found /]
WHERE [column] LIKE '%[XXX]%';

Selezionare le righe che iniziano con[YYY]: SELECT * FROM [table “” not found /]
WHERE [column] LIKE '[YYY]%';

Selezionare le righe che iniziano con ant e finiscono con ani: SELECT * FROM [table “” not found /]
WHERE [column] LIKE '[ant_ani]';

Selezionare un intervallo di dati da X a Y: SELECT * FROM [table “” not found /]
WHERE [column] BETWEEN [X] and [Y];

Aggiornare solo alcune righe: UPDATE [table “” not found /]
SET [column] = '[updated-value]' WHERE [column] = [value];

Cancellare definitivamente solo alcune righe: DELETE FROM [table “” not found /]
WHERE [column] = [value];

Cancellare tutte le righe (senza cancellare la tabella): DELETE FROM [table “” not found /]
;

Cancellare una colonna: ALTER TABLE [table “” not found /]
DROP COLUMN [column];

Cancellare una tabella: DROP TABLE [table “” not found /]
;

Cancellare un database: DROP DATABASE [database];

Rinominare una colonna: SELECT [column] AS [custom-column] FROM [table “” not found /]
;

Esportare un dump di una tabella MySQL (vedi anche qui): mysqldump -u [username] -p [database] > db_backup.sql

Importare un dump esistente di una tabella MySQL (vedi anche qui): mysql -u [username] -p -h localhost [database] < db_backup.sql

Uscire dalla linea di comando MySQL: exit;

Funzioni MySQL avanzate

Selezionare righe senza duplicati: SELECT distinct name, email, acception FROM owners

Trovare il valore più grande di una [column]: SELECT MAX([column]) FROM [table “” not found /]
;

Trovare il valore più piccolo: SELECT MIN([column]) FROM [table “” not found /]
;

Trovare il valore medio / fare una media in MySQL: SELECT AVG([column]) FROM [table “” not found /]
;

Funzioni utente

Mostrare tutti gli utenti MySQL: SELECT User,Host FROM mysql.user;

Creare un utente MySQL: CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

Come trovare l’indirizzo IP dell’host MySQL

Utile ad esempio per capire cosa mettere nel campo DB_HOST del wp-config.php di WordPress.

SHOW VARIABLES WHERE Variable_name = 'hostname';

Convertire file CSV in MySQL

La funzionalità  di conversione da CSV a MySQl può essere utile per molti sviluppatori, e può essere fatta anche mediante strumenti automatici reperibili sul web. In questo caso non serve installare nulla: funziona tutto da browser.

Sito: CSV to MySQL

Convertire file Access in MySQL

Access to MySQL permette di convertire file in Microsoft Access (il database di Windows) in formato MySQL. Fornisce una comoda interfaccia wizard, permette di trasferire direttamente dati e sincronizzarli da un formato all’altro, crea un dump MySQl scaricabile, permette di selezionare colonne e tabelle specifiche escludendone altre e molto altro ancora.

Disponibile solo per Windows.

Sito: Access to MySQL

Guide MySQL / PHPMyAdmin

Trovate infine tutte le guide ed i tutorial utili sui database nella nostra sezione del sito.

Guide Database.

👇 Da non perdere 👇



Trovalost esiste da 4463 giorni (12 anni), e contiene ad oggi 6729 articoli (circa 5.383.200 parole in tutto) e 13 servizi online gratuiti. – Leggi un altro articolo a caso
5/5 (1)

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.