SQLite es una base de datos liviana. Su objetivo de diseño está integrado y se ha utilizado en muchos productos integrados. Ocupa muy pocos recursos en dispositivos integrados y es posible que solo requiera unos pocos cientos de K. La memoria es suficiente. Puede admitir sistemas operativos convencionales como Windows/Linux/Unix y se puede combinar con muchos lenguajes de programación, como Tcl, PHP, Java, etc., así como con interfaces ODBC. También se compara con Mysql y PostgreSQL, dos. Software de código abierto de fama mundial. En términos de sistemas de gestión de bases de datos, su velocidad de procesamiento es más rápida que todos ellos.
Aunque SQLite es muy pequeño, las declaraciones SQL que admite no son inferiores a otras bases de datos de código abierto. El SQL que admite incluye:
ATTACH DATABASE.
COMENZAR LA TRANSACCIÓN
comentario
COMPROMETER TRANSACCIÓN
COPIAR
CREAR ÍNDICE
CREAR TABLA
CREAR DISPARADOR
CREAR VISTA
BORRAR
SEPARAR BASE DE DATOS
ÍNDICE DE CAÍDA
MESA DE CAÍDA
GATILLO DE GOTA
VISTA CAÍDA
FINALIZAR TRANSACCIÓN
EXPLICAR
expresión
INSERTAR
Cláusula SOBRE CONFLICTO
PRAGMA
REEMPLAZAR
TRANSACCIÓN DE ROLLBACK
SELECCIONAR
ACTUALIZAR
Al mismo tiempo, también admite funciones de procesamiento de transacciones, etc. Algunas personas también dicen que es como Access de Microsoft. A veces se siente un poco similar, pero en realidad son muy diferentes. Por ejemplo, SQLite admite multiplataforma, es fácil de operar y puede crear bases de datos directamente en muchos idiomas, a diferencia de Access, que no requiere el soporte de Office. Si tiene una aplicación muy pequeña o desea realizar un desarrollo integrado y no tiene un sistema de base de datos adecuado, puede considerar usar SQLite ahora. Actualmente su última versión es 3.2.2 y su sitio web oficial es: http://www.sqlite.org , donde se puede obtener el código fuente y la documentación. Al mismo tiempo, debido a que la estructura de la base de datos es simple y no hay mucho código fuente del sistema, también es adecuada para profesionales que desean estudiar el desarrollo de sistemas de bases de datos.
Ahora comencemos con una breve introducción. Principalmente quiero aclarar algunos temas, uno es cómo instalarlo y usarlo, y el otro es cómo desarrollarlo junto con PHP.
1. Instalación
1. La plataforma Windows
descarga archivos en Windows, que en realidad es un programa de línea de comandos (dirección de descarga: sqlite>
# Mensaje de SQLite. Si desea ver la ayuda del comando, ingrese .help. En sqlite, todos los comandos del sistema comienzan con .:
sqlite> .ayuda
.databases Listar nombres y archivos de bases de datos adjuntas
.dump ?TABLE? ... Volcar la base de datos en formato de texto SQL
.echo ON|OFF Activa o desactiva el eco del comando
.exit Salir de este programa
.explain ON|OFF Activa o desactiva el modo de salida adecuado para EXPLAIN.
.header(s) ON|OFF Activar o desactivar la visualización de encabezados
.help Mostrar este mensaje
.import FILE TABLE Importar datos de ARCHIVO a TABLA
.indices TABLE Muestra los nombres de todos los índices en TABLE
.mode MODE ?TABLE? Establece el modo de salida donde MODE es uno de:
csv Valores separados por comas
columna Columnas alineadas a la izquierda (Ver .ancho)
html código HTML <tabla>
insertar sentencias de inserción SQL para TABLA
línea Un valor por línea
lista de valores delimitados por una cadena .separadora
tabs Valores separados por tabulaciones
tcl elementos de la lista TCL
.nullvalue STRING Imprime STRING en lugar de valores NULL
.output FILENAME Enviar salida a FILENAME
.output stdout Enviar salida a la pantalla
.prompt PRINCIPAL CONTINUAR Reemplace las indicaciones estándar
.quit Salir de este programa
.leer NOMBRE DE ARCHIVO Ejecutar SQL en NOMBRE DE ARCHIVO
.schema ?TABLE? Mostrar las sentencias CREATE
.separator STRING Cambia el separador utilizado por el modo de salida y .import
.show Muestra los valores actuales para varias configuraciones.
.tables ?PATTERN? Listar nombres de tablas que coinciden con un patrón LIKE
.timeout MS Intente abrir tablas bloqueadas durante milisegundos de MS
.width NUM NUM ... Establecer anchos de columna para el modo "columna"
SQLite>
www.knowsky.com
# Creamos un catlog de base de datos
sqlite> crear catálogo de tablas (
...> id entero clave primaria,
...> pid entero,
...> nombre varchar(10) ÚNICO
...> );
SQLite>
# Si la tabla existe, solicitará:
Error de SQL: el catálogo de tablas ya existe
# Creamos información de índice.
crear índice catalog_idx en el catálogo (id asc);
# Comprobamos la información de la tabla para ver cuántas tablas hay.
sqlite>.tabla
un catálogo
# Ver la estructura de la tabla:
sqlite> .schema catálogo
CREAR TABLA catálogo(
ID de clave primaria entera,
entero pid,
nombre varchar(10) ÚNICO
);
CREAR ÍNDICE catalog_idx en el catálogo (id asc);
#Insertar un registro en la tabla de datos
sqlite> insertar en el catálogo (ppid,nombre) valores ('001','heiyeluren');
#No hay mensajes si tiene éxito. Si la expresión es incorrecta, se mostrará un mensaje de error:
Error de SQL: cerca de "set": error de sintaxis
# Recuperar cuantos registros hay
sqlite> seleccione recuento (*) del catálogo;
1
# Recuperar registros de búsqueda
sqlite> seleccione * del catálogo;
1|1|heiyeluren
De todos modos, no hay problema si usa SQL estándar para operar. Si no está seguro, puede consultar la información de ayuda en el sitio web oficial. Además, cabe señalar que SQLite no admite la modificación de la estructura de la tabla. Si desea modificar la estructura de la tabla, solo puede eliminar la tabla y volver a crearla, por lo que debe considerar la escalabilidad al crear la tabla. Se estima que esta función se reforzará en el futuro.
2. Error de plataforma Linux/Unix
: aún no lo he instalado, jaja, pero probablemente sea similar a Windows, ya inventaré esta parte otro día.
2. Desarrollo PHP de SQLite.
PHP 5 ya no es compatible con Mysql de forma predeterminada, pero es compatible con SQLite. Esto muestra lo influyente que es. Entonces, si desea desarrollar PHP para SQLite, se recomienda utilizar PHP 5.0.0 o. arriba. Actualmente estoy usando PHP versión 5.0.4, que admite directamente las extensiones SQLite. No explicaré en detalle cómo instalar las extensiones PHP aquí. Si no está seguro, puede consultar los documentos relacionados con PHP.
Aquí me refiero principalmente al desarrollo de SQLite. Actualmente, todas las clases de base de datos principales en PHP admiten controladores SQLite, incluidas la clase PEAR::DB y la clase ADOdb, por lo que usar DB para el desarrollo también es una buena opción.
aras de la simplicidad, todas
las
operaciones siguientes se realizan en Windows
. Hay muchas funciones de procesamiento para SQLite en PHP. Puede consultar el manual de PHP para obtener información detallada.Usamos la función sqlite_open() para abrir una base de datos sqlite. Devuelve un recurso de operación con éxito y devuelve falso si falla. Luego, todas las operaciones posteriores se realizan en este recurso. Para ejecutar una consulta SQL, use la función sqlite_query.
A continuación, supongo que tiene un archivo de base de datos sqlite abc.db en el directorio actual del programa PHP. Operamos este archivo:
<?php
//Abrir base de datos sqlite
$db = @sqlite_open("abc.db");
// Manejo de excepciones
if (!$db) die("Error de conexión Sqlite.n");
//Añadir una base de datos llamada foo
@sqlite_query($db, "CREAR TABLA foo (barra varchar(10))");
//Insertar un registro
@sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
//Recuperar todos los registros
$resultado = @sqlite_query($db, 'seleccionar barra de foo');
//Imprime los resultados obtenidos
print_r(sqlite_fetch_array($resultado))
;
El resultado que vemos es:
Matriz
(
[0] => fiordo
[barra] => fiordo
)
demuestra que nuestro código se ejecutó correctamente. Si no hay entrada, verifique el programa o si el archivo de su base de datos existe.
Luego, con esta operación básica, puedes considerar usar operaciones más complejas y SQL para operarlo y dejar que te ayude a administrar la información. Creo que no habrá ningún problema.
2. Utilice PHP para crear y operar la base de datos
. Si no tiene herramientas como sqlite.exe, también puede crear una base de datos sqlite a través de PHP y administrarla.
De hecho, el contenido de la base de datos creada a través del programa sqlite.exe está vacío. De hecho, el archivo de la base de datos solo existe después de que se crea la tabla y se agregan los datos. Entonces, ¿podemos agregar manualmente un archivo, como una prueba vacía? archivo db? Y operar en él. Esto es completamente posible. A continuación usaremos el programa PHP para crear una base de datos y realizar funciones simples de crear tablas de datos, insertar datos y recuperar datos.
Primero veamos el código: (el código es más largo, pero más fácil de entender)
<?php
/**
* Archivo: sqlite.php
* Función: Procesamiento de base de datos sqlite
* Autor: heiyeluren
* Hora: 2005-8-5
*/
define("LN", __LINE__);//Número de línea
define("FL", __FILE__);//Archivo actual
define("DEBUG", 0);//Conmutador de depuración
$db_name = "heiyeluren.db";
//Crea un archivo de base de datos, el contenido del archivo está vacío
si (!file_exists($db_name)) {
si (!($fp = fopen($db_name, "w+"))) {
salir(código_error(-1, LN));
}
fclose($fp);
}
//Abrir archivo de base de datos
si (!($db = sqlite_open($db_name))) {
salir(código_error(-2, LN));
}
//Generar estructura de tabla de datos
if (!sqlite_query($db, "prueba DROP TABLE")) {
salir(código_error(-3, LN));
}
if (!sqlite_query($db, "CREAR TABLA prueba (id clave primaria entera, pid entero, nombre varchar(10) ÚNICO)")) {
salir(código_error(-3, LN));
}
//Inserta un dato
if (!sqlite_query($db, " INSERT INTO test (nombre) VALUES ('heiyeluren') ")) {
salir(código_error(-4, LN));
}
//Recuperar los datos
if (!($resultado = sqlite_query($db, "SELECCIONAR * DE prueba"))) {
salir(código_error(-5, LN));
}
//Obtener los datos recuperados y mostrarlos
mientras ($matriz = sqlite_fetch_array($resultado)) {
echo "ID: ". $matriz[id] ."<br>Nombre: ". $matriz[nombre];
}
/* Función de código de mensaje de error */
función código_error($código, $número_línea, $depuración=DEBUG)
{
si ($código<-6 || $código>-1) {
devolver falso;
}
cambiar($código) {
case -1: $errmsg = "Error al crear el archivo de base de datos.";
romper;
case -2: $errmsg = "Error al abrir el archivo de base de datos sqlite.";
romper;
case -3: $errmsg = "Error al crear la tabla, la tabla ya existe.";
romper;
case -4: $errmsg = "Error al insertar datos.";
romper;
case -5: $errmsg = "Error en la consulta de datos de la base de datos.";
romper;
case -6: $errmsg = "Error al recuperar datos.";
romper;
caso -7: $errmsg = "";
romper;
predeterminado: $errmsg = "Error desconocido.";
}
$m = "<b>[ Error ]</b><br>Archivo: ". nombre base(FL) ." <br>Línea: "LN".<br>Mensaje: "$errmsg". ;
si (!$depurar) {
($m = $errormensaje);
}
devolver millones de dólares;
}
?>
Si opera correctamente, el programa finalmente generará:
ID: 1
Nombre: heiyeluren
Nuestro programa anterior incluye funciones relativamente completas, incluida la depuración, el manejo de excepciones, el acceso a la base de datos, etc. Se considera una aplicación simple. También puedes ampliarlo si estás interesado.
* Fin:
Nuestras operaciones básicas están aquí. Completaré el contenido cuando tenga tiempo en el futuro. Si está interesado, puede investigarlo. Tal vez su página de inicio personal necesite una base de datos tan pequeña para ayudarlo.
* Documentos de referencia:
http://www.donews.net/limodou/archive/2004/03/21/7997.aspx
http://www.linuxsir.org/bbs/showthread.php?p=1213668#post1213668
* Sitio web oficial de recursos SQLite: http://www.sqlite.org
Sintaxis SQL: http://www.sqlite.org/lang.html
Documentación de desarrollo: http://www.sqlite.org/docs.html
Preguntas frecuentes: http://www.sqlite.org/faq.html
Dirección de descarga: http://www.sqlite.org/download.html
Autor: heiyeluren
Fecha: 2005-8-5