Ejemplos de Golang SQLite

Ejemplos De Golang Sqlite



Golang es un lenguaje de programación de código abierto. Es compatible con diferentes tipos de herramientas de base de datos. SQLite es un motor de base de datos relacional popular y Golang tiene un paquete de base de datos/SQL que se puede usar para conectarse con la base de datos SQLite y realizar diferentes tipos de tareas de base de datos. Se muestra la forma de conectarse con la base de datos SQLite y realizar diferentes tipos de operaciones de la base de datos, como crear la tabla, insertar los registros en la tabla, leer los datos de la tabla, actualizar los datos de la tabla y eliminar los registros de la tabla. en este tutorial usando el script Golang.

requisitos previos:

Debe completar las siguientes tareas antes de practicar los ejemplos de este tutorial:

A. Instale el idioma Golang en el sistema si no se instaló antes. Ejecute el siguiente comando para verificar la versión instalada de Golang:







$ ir a la versión



B. Instale el sqlite3 en el sistema si no se ha instalado antes. Sqlite3 está instalado de forma predeterminada en Ubuntu 20+. Ejecute el siguiente comando para verificar la versión instalada de sqlite3:



$ sqlite3 --versión





C. Ejecute los siguientes comandos para crear una carpeta llamada 'golang-sqlite' y vaya a esa carpeta donde se almacenarán el archivo de la base de datos SQLite y el archivo Golang:

$ mkdir golang-sqlite
$ cd golang-sqlite

D. Ejecute el siguiente comando para descargar el paquete Golang necesario para usar SQLite con Golang:



$ ir a obtener github.com/mattn/go-sqlite3

Operaciones de base de datos usando Golang y SQLite

Las operaciones básicas de la base de datos utilizando la base de datos SQLite y el script Golang se muestran en este tutorial. La lista de tareas de base de datos que se tratan en este tutorial se menciona a continuación:

  1. Crear una base de datos SQLite
  2. Hacer una conexión de base de datos SQLite
  3. Crear una nueva tabla
  4. Insertar los datos en la tabla
  5. Leer los datos de la tabla
  6. Actualizar los Datos de la Tabla
  7. Eliminar los datos de la tabla

Crear una base de datos SQLite usando Golang

Cree un archivo Golang con el siguiente script que crea un nuevo archivo de base de datos SQLite llamado 'test.db'. Se importan cuatro módulos al script. El módulo 'fmt' se utiliza para imprimir la salida en el terminal. El módulo de 'registro' se utiliza para abortar el programa cuando aparece algún error. El módulo 'os' se usa para crear la base de datos SQLite y manejar el error. El módulo “go-sqlite3” se utiliza para realizar conexiones con la base de datos SQLite a través de Golang. El método Create() del módulo 'os' se usa aquí para crear una base de datos SQLite. Si la base de datos se crea correctamente, se imprime un mensaje de éxito en el terminal. De lo contrario, el programa se cerrará. Se llama al método Close() para cerrar la conexión con la base de datos.

paquete principal

//Importar los módulos necesarios
importar (
        'fmt'
        'registro'
        'tú'
        _ 'github.com/mattn/go-sqlite3'
)

función principal () {

        //Crear una nueva base de datos SQLite
base de datos , errar := . Crear ( 'prueba.db' )
        //Comprobar si hay algún error
        si errar != nulo {
                //Agregue el mensaje de error al registro
registro . Fatal ( errar )
        } demás {
                // Imprime el mensaje de exito
fmt . Imprimir ( 'Se crea la base de datos'. )
        }
        //Cerrar la conexión a la base de datos
base de datos . Cerca ()
}

Ejecute el siguiente comando para ejecutar el archivo 'db_connect.go':

$ ve a ejecutar db_connect.go

Ejecute el comando 'ls' para verificar si el archivo de base de datos 'test.db' se creó o no:

$ ls

El siguiente resultado muestra que el mensaje de éxito, 'Se creó la base de datos', se imprime en el resultado y el archivo 'test.db' se crea en la ubicación actual:

Conéctese con una base de datos SQLite usando Golang

Cree un archivo Golang con el siguiente script que abre el archivo de base de datos 'test.db' y establece la conexión con la base de datos. El módulo de base de datos/SQL de Golang se importa aquí para realizar esta tarea. El método open() se usa aquí para hacer la conexión con la base de datos SQLite existente. Si la base de datos se conecta correctamente, se imprime un mensaje de éxito en el terminal. De lo contrario, el programa se cerrará.

paquete principal

//Importar los módulos necesarios
importar (
        'fmt'
        'registro'
        'base de datos/sql'
        _ 'github.com/mattn/go-sqlite3'
)

función principal () {

        //Crear una nueva base de datos SQLite
base de datos , errar := sql . Abierto ( 'sqlite3' , 'prueba.db' )
        //Comprobar si hay algún error
        si errar != nulo {
                //Agregue el mensaje de error al registro
registro . Fatal ( errar )
        } demás {
                // Imprime el mensaje de exito
fmt . Imprimir ( 'La base de datos se conectó correctamente'. )
        }
        //Cerrar la conexión a la base de datos
base de datos . Cerca ()
}

Ejecute el siguiente comando para ejecutar el archivo 'db_connect2.go':

$ ve a ejecutar db_connect2.go

El siguiente resultado muestra que el archivo de base de datos 'test.db' se abrió y se conectó correctamente. El mensaje de éxito, 'La base de datos se conectó correctamente', se imprime en la salida:

Crear una tabla en una base de datos SQLite usando Golang

Cree un archivo Golang con el siguiente script que crea una tabla de base de datos llamada 'miembros' dentro del archivo de base de datos 'test.db'. El método Exec() se usa aquí para ejecutar la consulta CREATE TABLE que crea la tabla de 'miembros' con seis campos y una clave principal. Si la tabla se crea correctamente en la base de datos, se imprime un mensaje de éxito. De lo contrario, el programa se cerrará.

paquete principal

//Importar los módulos necesarios
importar (
        'fmt'
        'registro'
        'base de datos/sql'
        _ 'github.com/mattn/go-sqlite3'
)

función principal () {

        //Crear una nueva base de datos sqlite
base de datos , errar := sql . Abierto ( 'sqlite3' , 'prueba.db' )
        //Comprobar si hay algún error
        si errar != nulo {
                //Agregue el mensaje de error al registro
registro . Fatal ( errar )
        } demás {
                constante consulta cadena = `
CREAR TABLA SI NO EXISTE miembros (
id ENTERO NO NULO CLAVE PRINCIPAL,
nombre CHAR(40) NO NULO,
mtype CHAR(100) NO NULO,
enviar por correo electrónico CHAR(50),
dirección TEXTO NO NULO,
móvil CHAR(25) NO NULO);`

                _ , errar := base de datos . Ejecutivo ( consulta );

                si errar != nulo {
                    //Agregue el mensaje de error al registro
registro . Fatal ( errar )
                } demás {
                    // Imprime el mensaje de exito
fmt . Imprimir ( 'La tabla se creó con éxito'. )
                }

          }
          //Cerrar la conexión a la base de datos
base de datos . Cerca ()
}

Ejecute el siguiente comando para ejecutar el archivo 'create_table.go':

$ ve a ejecutar create_table.go

El siguiente resultado muestra que la tabla se creó correctamente en la base de datos. El mensaje de éxito, 'La tabla se creó con éxito', se imprime en la terminal:

Puede iniciar sesión en SQLite para verificar si la tabla se crea o no en la base de datos.

Ejecute el siguiente comando para ejecutar SQLite con la base de datos 'test.db':

$ sqlite3 prueba.db

Ejecute el comando SQLite '.tables' desde el símbolo del sistema de SQLite para verificar los nombres de las tablas de la base de datos:

sqlite3 > .tablas

El siguiente resultado muestra que la base de datos contiene la tabla de 'miembros' que se crea al ejecutar el script de Golang:

Inserte los registros en la tabla SQLite usando Golang

Se pueden insertar varios registros en la tabla ejecutando la consulta INSERT varias veces o agregando varios valores en una sola consulta INSERT. Cree un archivo Golang con la siguiente secuencia de comandos que inserta tres registros en la tabla de 'miembros' del archivo de base de datos 'test.db' mediante una sola consulta INSERT. El método Exec() se usa aquí para ejecutar la consulta INSERT. Si los registros se insertan correctamente en la tabla, se imprime un mensaje de éxito. De lo contrario, el programa se cerrará.

paquete principal

//Importar los módulos necesarios
importar (
        'fmt'
        'registro'
        'base de datos/sql'
        _ 'github.com/mattn/go-sqlite3'
)

función principal () {

        //Crear una nueva base de datos SQLite
base de datos , errar := sql . Abierto ( 'sqlite3' , 'prueba.db' )
        //Comprobar si hay algún error
        si errar != nulo {
                //Agregue el mensaje de error al registro
registro . Fatal ( errar )
        } demás {
                constante consulta cadena = `
INSERTAR EN miembros (id, nombre, tipo de m, correo electrónico, dirección, móvil)
VALORES (1, 'Nehal Ahmed', 'Plata', 'nehal@gmail.com', '36, Dhanmondi 2, Dhaka', '01844657342'),
(2, 'Abir Chowdhury', 'Oro', 'abir@gmail.com', '102, Mirpur 10, Dhaka', '01994563423'),
(3, 'Mirza Abbas', 'Plata', 'abbas@gmail.com', '12, Jigatala, Dhaka', '01640006710');


                //Ejecutar la consulta
                _ , errar := base de datos . Ejecutivo ( consulta );

                si errar != nulo {
                    //Agregue el mensaje de error al registro
registro . Fatal ( errar )
                } demás {
                    // Imprime el mensaje de exito
fmt . Imprimir ( 'Registros insertados correctamente'. )
                }
        }

  //Cerrar la conexión a la base de datos
base de datos . Cerca ()
}

Ejecute el siguiente comando para ejecutar el archivo 'insert_table.go':

$ ve a ejecutar insert_table.go

El siguiente resultado muestra que los registros se insertaron correctamente en la tabla. El mensaje de éxito, 'Registros insertados con éxito', se imprime en la salida:

Puede iniciar sesión en SQLite para verificar si los tres registros se insertaron correctamente o no en la tabla de 'miembros'.

Ejecute el siguiente comando para ejecutar SQLite con la base de datos 'test.db':

$ sqlite3 prueba.db

Ejecute la siguiente consulta SELECT para leer todo el contenido de la tabla 'miembros':

sqlite3 > SELECCIONAR * DE miembros ;

El siguiente resultado muestra que la tabla 'miembros' contiene tres registros insertados por el script Golang:

Lea los datos de la tabla SQLite usando Golang

Cree un archivo Golang con el siguiente script que lea los registros de la tabla 'miembros'. Debe definir las variables en Golang para almacenar los valores que se devuelven de la consulta SELECT. En este script, se recuperan cinco campos de la tabla 'miembros' mediante la consulta SELECT. Entonces, se definen cinco variables en el script para almacenar los valores de los cinco campos de la tabla 'miembros' donde el valor del campo 'mtype' es 'Silver'. El método Query() se usa aquí para ejecutar la consulta SELECT. A continuación, el bucle 'for' se utiliza para leer el conjunto de resultados que devuelve la consulta SELECT. La función printf() se usa para imprimir los valores formateados del conjunto de resultados.

paquete principal

//Importar los módulos necesarios
importar (
        'fmt'
        'registro'
        'base de datos/sql'
        _ 'github.com/mattn/go-sqlite3'
)

función principal () {

        //Crear una nueva base de datos SQLite
base de datos , errar := sql . Abierto ( 'sqlite3' , 'prueba.db' )

        //Comprobar si hay algún error
        si errar != nulo {
              //Agregue el mensaje de error al registro
registro . Fatal ( errar )
        } demás {

                //Declarar variables para almacenar los valores de fila
                era identificación En t
                era nombre cadena
                era tipom cadena
                era DIRECCIÓN cadena
                era móvil cadena
                constante consulta cadena = `SELECCIONE id, nombre, tipo de m, dirección, móvil
DE miembros
DONDE mtype = 'Plata';`


                //Ejecutar la consulta
filas , errar := base de datos . Consulta ( consulta );

                si errar != nulo {
                    //Agregue el mensaje de error al registro
registro . Fatal ( errar )
                } demás {

                    // Imprime el mensaje de exito
fmt . Imprimir ( 'Registros de todos los miembros de plata:' )
fmt . Imprimir ( 'IDENTIFICACIÓN \t Nombre \t \t Tipo de miembro \t DIRECCIÓN \t \t Contact No' )
                    para filas . Próximo () {
filas . Escanear ( &identificación , &nombre , &mtype , &DIRECCIÓN , &móvil )
fmt . Imprimir ( '%d \t %s \t %s \t %s \t %s \norte ' , identificación , nombre , tipo m , DIRECCIÓN , móvil )
                    }
                }
        }
        //Cerrar la conexión a la base de datos
base de datos . Cerca ()
}

Ejecute el siguiente comando para ejecutar el archivo 'select_table.go':

$ ve a ejecutar select_table.go

Existen dos registros en la tabla 'miembros' que contienen 'Plata' en el campo 'mtype'. El siguiente resultado muestra dos registros de la tabla 'miembros' que devuelve la consulta SELECT:

Actualice los datos de la tabla SQLite usando Golang

Cree un archivo Golang con la siguiente secuencia de comandos que cambia el valor del campo móvil de la tabla 'miembros' que contiene el valor de identificación de 2. El método Exec() se usa aquí para ejecutar la consulta de ACTUALIZACIÓN. Si el registro se actualiza correctamente en la tabla, se imprime un mensaje de éxito. De lo contrario, el programa se cerrará.

paquete principal

//Importar los módulos necesarios
importar (
        'fmt'
        'registro'
        'base de datos/sql'
        _ 'github.com/mattn/go-sqlite3'
)

función principal () {

        //Crear una nueva base de datos SQLite
base de datos , errar := sql . Abierto ( 'sqlite3' , 'prueba.db' )
        //Comprobar si hay algún error
        si errar != nulo {
                //Agregue el mensaje de error al registro
registro . Fatal ( errar )
        } demás {
                constante consulta cadena = `
ACTUALIZAR miembros SET mobile = '018563452390' WHERE id = 2;`

                _ , errar := base de datos . Ejecutivo ( consulta );

                si errar != nulo {
                    //Agregue el mensaje de error al registro
registro . Fatal ( errar )
                } demás {
                    // Imprime el mensaje de exito
fmt . Imprimir ( 'El registro se actualizó correctamente'. )
                }
        }
        //Cerrar la conexión a la base de datos
base de datos . Cerca ()
}

Ejecute el siguiente comando para ejecutar el archivo 'update_table.go':

$ ve a ejecutar update_table.go

En la tabla de 'miembros', la segunda fila contiene el valor de identificación de 2. El siguiente resultado muestra que el registro de la tabla se actualizó correctamente. El mensaje de éxito, 'El registro se actualizó con éxito', se imprime en la terminal:

Puede iniciar sesión en SQLite para verificar si algún registro de la tabla de miembros está actualizado o no.

Ejecute el siguiente comando para ejecutar SQLite con la base de datos 'test.db':

$ sqlite3 prueba.db

Ejecute la siguiente consulta SELECT para leer todo el contenido de la tabla 'miembros':

sqlite3 > SELECCIONAR * DE miembros ;

El valor del campo móvil de los 2 Dakota del Norte El registro de la tabla de miembros es '01994563423' antes de ejecutar el script. El siguiente resultado muestra que el valor del campo móvil de los 2 Dakota del Norte El registro de la tabla de miembros se cambia a '018563452390' después de ejecutar el script:

Eliminar los datos de la tabla SQLite usando Golang

Cree un archivo Golang con el siguiente script que elimina los 3 rd registro de la tabla de 'miembros' que contiene el valor de identificación de 3. El método Exec() se usa aquí para ejecutar la consulta DELETE. Si el registro se elimina con éxito de la tabla, se imprime un mensaje de éxito. De lo contrario, el programa se cerrará.

paquete principal

//Importar los módulos necesarios
importar (
        'fmt'
        'registro'
        'base de datos/sql'
        _ 'github.com/mattn/go-sqlite3'
)

función principal () {

        //Crear una nueva base de datos SQLite
base de datos , errar := sql . Abierto ( 'sqlite3' , 'prueba.db' )
        //Comprobar si hay algún error
        si errar != nulo {
                //Agregue el mensaje de error al registro
registro . Fatal ( errar )
        } demás {
                //Definir la consulta de borrado
                constante consulta cadena = `DELETE FROM miembros DONDE id = 3;`
                //Ejecutar la consulta
                _ , errar := base de datos . Ejecutivo ( consulta );

                si errar != nulo {
                    //Agregue el mensaje de error al registro
registro . Fatal ( errar )
                } demás {
                    // Imprime el mensaje de exito
fmt . Imprimir ( 'El registro se eliminó con éxito'. )
                }
        }
        //Cerrar la conexión a la base de datos
base de datos . Cerca ()
}

Ejecute el siguiente comando para ejecutar el archivo 'delete_table.go':

$ ve a ejecutar delete_table.go

El siguiente resultado muestra que los 3 rd El registro de la tabla 'miembros' se elimina con éxito. El mensaje de éxito, 'El registro se eliminó con éxito', se imprime en la terminal:

Puede iniciar sesión en SQLite para comprobar si se elimina o no algún registro de la tabla de miembros.

Ejecute el siguiente comando para ejecutar SQLite con la base de datos 'test.db':

$ sqlite3 prueba.db

Ejecute la siguiente consulta SELECT para leer todo el contenido de la tabla 'miembros':

sqlite3 > SELECCIONAR * DE miembros ;

El siguiente resultado muestra que el valor de 3 rd El registro de la tabla de miembros se elimina después de ejecutar el script y los otros dos registros se imprimen en la salida:

Conclusión

Tanto SQLite como Golang son populares ahora por su simplicidad y características livianas. Cualquier aplicación simple basada en una base de datos puede implementarse fácilmente usando estas herramientas. La parte principal de cualquier aplicación es implementar la operación CRUD. Los métodos para implementar la operación CRUD utilizando el script Golang y la base de datos SQLite se explican en este tutorial utilizando varios archivos Golang. Si es un nuevo aprendiz del lenguaje Go y la base de datos SQLite, este tutorial lo ayudará a aprenderlos desde lo básico.