Para el caso específico del motor SQL utilizado por la página en W3Schools :
Navegadores Safari, Chrome y Opera
Si usa el navegador Safari (lo probé en Mac OS X 10.12), la página está usando SQLite, que parece estar integrado en el navegador. Cuando presiona el botón "Ejecutar SQL", no utiliza ningún recurso externo. La ingeniería inversa adicional revela que la página está inicializando la base de datos mediante el siguiente código JavaScript:
function w3WebSQLInit() {
var w3DBObj = this;
w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0', 'W3SchoolsDemoDatabase', 2 * 1024 * 1024);
...
}
window.openDatabase
significa que el código está usando una base de datos Web SQL . Esto fue definido por el W3C hace unos años, y fue puesto en práctica por Opera, Safari y Chrome (AFAIK), pero no por FireFox (o Explorer). Los tres navegadores parecen haber implementado la "Base de datos Web SQL" al incorporar diferentes versiones de SQLite dentro de ellos mismos.
En este punto, la página del W3C afirma:
"Cuidado. Esta especificación ya no se encuentra en mantenimiento activo y el Grupo de Trabajo de Aplicaciones Web no tiene la intención de mantenerla más".
Probé un navegador Chrome (versión 56.0.2924.87, en Windows 10), y parece que usa SQLite 3.10.2. Opera (versión 12.15, en Windows 10), utiliza SQLite 3.7.9.
Opera es lo suficientemente claro en su "acerca de":
Y la Guía de programación de aplicaciones fuera de línea y almacenamiento del lado del cliente de Safari también menciona que
A partir de Safari 3.1 e iOS 2.0, Safari admite la clase de base de datos HTML5 HTML5 La clase de base de datos JavaScript, basada en SQLite, proporciona una base de datos relacional destinada al almacenamiento local de contenido que es demasiado grande para almacenar convenientemente en cookies (o es demasiado importante para arriesgarse) eliminar accidentalmente cuando el usuario borra sus cookies).
No busqué en Chrome ... pero mi suposición es clara.
Firefox, Edge e Internet exploran los navegadores
Si usa el navegador Firefox (lo probé en Mac OS X 10.12); la misma página de W3School se comporta de una manera radicalmente diferente. No realiza las consultas en el navegador , pero envía solicitudes a su servidor . En el lado del servidor, creo que en realidad está usando una base de datos de MS Access . Una forma de verificarlo es verificando el (estándar) information_schema
.
Si emite la siguiente consulta (que, en una base de datos compatible con los estándares, daría la lista de tablas accesibles para el usuario):
SELECT * FROM information_schema.tables;
Obtiene la siguiente respuesta de error (demasiado reveladora) :
Could not find file 'C:\Windows\SysWOW64\inetsrv\information_schema.mdb'.
Si el software está buscando un archivo .MDB, eso significa que están usando el motor de base de datos Microsoft Jet (o algo equivalente) en el lado del servidor, y están usando archivos de formato Access .MDB , que corresponden a versiones de Access hasta y incluido 2003. (Access 2007 y versiones posteriores usan, por defecto, archivos de formato .ACCDB).
Microsoft Internet Explorer 11 se comporta de la misma manera (en Windows 10); y también Edge (en Windows 10).