[C#] Uso de SQLike y conceptos básicos bajo el marco de .Net Framework

2023, semana 32, artículo 2. Ponte una meta y luego insiste en que siempre habrá un recibo, si no me crees, ¡pruébalo!
Bajo el marco .NET Framework de C#, hay muchas opciones de bases de datos ligeras, como: SQLike es una de ellas, aprendamos sobre el uso simple de SQLike.

1. Base de datos ligera

inserte la descripción de la imagen aquí

1.1 Conceptos básicos

Una base de datos liviana se refiere a un sistema de base de datos que tiene pequeños requisitos de almacenamiento, bajo consumo de recursos y es fácil de implementar y usar.
Por lo general, se enfocan en proporcionar funciones básicas de almacenamiento y consulta de datos, adecuadas para aplicaciones pequeñas, sistemas integrados o proyectos con necesidades de almacenamiento temporal.

1.2, SQLite

SQLite es un motor de base de datos relacional transaccional autónomo, sin servidor, sin configuración.
Se caracteriza por el almacenamiento a nivel de archivo y puede usar directamente un solo archivo como base de datos.
SQLite se utiliza en una amplia variedad de plataformas y lenguajes de programación, incluido el desarrollo de aplicaciones móviles, el desarrollo de aplicaciones de escritorio y los sistemas integrados.

1.2, base de datos de Berkeley

Berkeley DB es un motor de base de datos para sistemas integrados.
Proporciona funciones de consulta y almacenamiento de pares clave-valor rápidas y confiables, y admite operaciones de transacciones ACID.
Berkeley DB es muy flexible y se puede usar para muchos propósitos, como almacenamiento persistente, almacenamiento en caché, archivos de registro y más.

1.3, base de datos de nivel

LevelDB es un motor de almacenamiento de valores clave desarrollado por Google.
Se basa en la estructura de datos de árbol de combinación estructurada por registro (combinación estructurada por registro, LSM), con un rendimiento rápido de escritura y consulta.
LevelDB es de código abierto y admite enlaces para varios lenguajes de programación.

1.4, Redis

Redis es un sistema de almacenamiento de estructura de datos de memoria de código abierto que se puede utilizar para múltiples propósitos, como base de datos, caché y middleware de mensajes.
Admite una variedad de estructuras de datos (como cadenas, tablas hash, listas, conjuntos, conjuntos ordenados, etc.), con alto rendimiento, alta concurrencia y escalabilidad.

1.5, Base de datos H2

H2 es un motor de base de datos relacional integrado escrito en Java.
Es compatible con el estándar de base de datos SQL y la API de JDBC, y proporciona funciones ricas, que incluyen base de datos de memoria, base de datos persistente, base de datos de clúster, etc.

Estas bases de datos livianas tienen sus propias características y puede elegir una base de datos adecuada según las necesidades específicas del proyecto.
Por lo general, son fáciles de implementar, configurar y usar, y son adecuados para aplicaciones pequeñas o entornos con recursos limitados.
Tenga en cuenta que, si bien estas bases de datos pueden manejar las necesidades de almacenamiento de datos a menor escala, los escenarios de mayor escala y alta simultaneidad pueden requerir el uso de sistemas de bases de datos más potentes.
Por lo tanto, al seleccionar una base de datos, debe evaluarse en función de factores como el tamaño del proyecto, los requisitos de rendimiento y la escalabilidad.

inserte la descripción de la imagen aquí

2. Ventajas de SQLike

SQLike es un motor de base de datos SQL incorporado ligero con las siguientes características:

2.1, fácil de usar

La sintaxis de SQLike es similar a la sintaxis de SQL estándar, lo que facilita su aprendizaje y uso. Proporciona operaciones SQL comunes como SELECCIONAR, INSERTAR, ACTUALIZAR y ELIMINAR, así como uniones de tablas múltiples, funciones agregadas y más.

2.2 Compacto y ligero

El código central de SQLike es relativamente pequeño y solo depende de una pequeña cantidad de bibliotecas externas. Esto lo hace de bajo consumo de recursos del sistema y adecuado para su uso en entornos con recursos limitados, como dispositivos integrados o aplicaciones móviles.

2.3, soporte integrado

SQLike se puede integrar directamente en las aplicaciones como un motor de base de datos integrado. De esta forma, se puede distribuir con la aplicación, sin necesidad de un servidor de base de datos independiente y sin la configuración y el mantenimiento de un sistema de gestión de base de datos (DBMS) independiente.

2.4 Independencia de la plataforma

SQLike está escrito en lenguaje C y puede ejecutarse en múltiples sistemas operativos y plataformas, como Windows, Linux, macOS, etc. Esto hace que tenga una mejor compatibilidad multiplataforma.

3. Desventajas de SQLike

3.1 Funciones limitadas

Dado que el objetivo principal de SQLike es proporcionar un motor de base de datos SQL simple, puede estar limitado en algunas características avanzadas y extensibilidad. Por ejemplo, su capacidad para admitir algunas consultas complejas y técnicas de optimización puede ser relativamente débil.

3.2, rendimiento limitado

Dado que el diseño de SQLike se centra en la ligereza y la simplicidad, es posible que no funcione tan bien como algunos motores de bases de datos diseñados específicamente para un alto rendimiento. Para escenarios como alta simultaneidad, gran volumen de datos o consultas complejas, el rendimiento de SQLike puede ser débil.

3.3 Falta de funciones avanzadas

En comparación con algunos sistemas de bases de datos maduros, SQLike puede carecer de funciones avanzadas, como procesamiento de transacciones, procedimientos almacenados, disparadores, etc. Estas funciones son necesarias en algunos escenarios, pero es posible que no estén disponibles en SQLike.

En general, SQLike es un motor de base de datos incorporado conveniente, fácil de usar y de implementación liviana para necesidades simples de almacenamiento y consulta de datos. Sin embargo, en escenarios de bases de datos complejas, de alto rendimiento y altamente escalables, es posible que se deban considerar otras soluciones de bases de datos más potentes.

Cuatro, operación similar a SQL

3.1 Crear archivo de base de datos

De manera predeterminada, puede usar la base de datos para nombrar el nombre de la base de datos, por supuesto, también puede nombrarla de acuerdo con su situación comercial.
El archivo de base de datos predeterminado se crea en el mismo directorio donde se ejecuta el programador, y la ruta se puede especificar para la salida

string connectionString = "Data Source=database.db;Version=3;";
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
    
    
    connection.Open();
    // 判断数据库文件
    string databasePath = "database.db";

    if (!File.Exists(databasePath))
    {
    
    
        SQLiteConnection.CreateFile(databasePath);
    }
}

inserte la descripción de la imagen aquí

3.2, crea una tabla

Aquí puede agregar un juicio lógico, si la tabla no existe, cree la tabla, de lo contrario no opere

// 判断表
bool isTable = true;
string tableName = "MyTableName";
string query = $"SELECT name FROM sqlite_master WHERE type='table' AND name='{
      
      tableName}'";
using (SQLiteCommand command = new SQLiteCommand(query, connection))
{
    
    
    var result = command.ExecuteScalar();
    if (result == null)
    {
    
    
        isTable = false;
    }
}
// 创建表
if (!isTable)
{
    
    
    string createTableQuery = $"CREATE TABLE {
      
      tableName} (Id INTEGER PRIMARY KEY, countValue int,name Text)";
    using (SQLiteCommand command = new SQLiteCommand(createTableQuery, connection))
    {
    
    
        command.ExecuteNonQuery();
    }
}

3.3 Agregar registros de tabla

根据上一步判断,都会确保存在表
// 并添加一条记录
if (!isTable)
{
    
    
    string insertDataQuery = $"INSERT INTO {
      
      tableName} (countValue,name) VALUES (99,'张三')";
    using (SQLiteCommand command = new SQLiteCommand(insertDataQuery, connection))
    {
    
    
        command.ExecuteNonQuery();
    }
}

3.4 Registros de la tabla de consulta

// 查询表
string tableName = "MyTableName";
string queryText = $"SELECT * FROM {
      
      tableName}";
using (SQLiteCommand command = new SQLiteCommand(queryText, connection))
{
    
    
    using (SQLiteDataReader reader = command.ExecuteReader())
    {
    
    
        while (reader.Read())
        {
    
    
            // 获取每行的数据
            int id = reader.GetInt32(0);

            int CountValue = reader.GetInt32(1);
            string name = reader.GetString(2);
        }
    }
}

3.5 Actualizar registros de tablas

Al agregar o actualizar registros de tablas, también se puede operar a través de la parametrización

string databasePath = "database.db";
string connectionString = $"Data Source={
      
      databasePath};Version=3;";

using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
    
    
    connection.Open();

    // 创建 UPDATE 语句
    string updateQuery = "UPDATE MyTableName SET CountValue = @CountValue WHERE Id = @Id";

    using (SQLiteCommand command = new SQLiteCommand(updateQuery, connection))
    {
    
    
        // 设置 UPDATE 语句中的参数
        command.Parameters.AddWithValue("@CountValue", CountValue);
        command.Parameters.AddWithValue("@Id", IdValue);

        // 执行 SQL 语句
        int rowsAffected = command.ExecuteNonQuery();

        if (rowsAffected > 0)
        {
    
    
            // 更新成功
        }
        else
        {
    
    
            // 更新失败            
        }
    }

    connection.Close();
}

5. Herramientas de gestión visual

SQLike no tiene una herramienta de visualización oficial porque es un motor de base de datos SQL incorporado ligero.
SQLike es más adecuado para su uso como un motor de base de datos incrustado directamente en aplicaciones C#, en lugar de ejecutarse como un servidor de base de datos independiente.

Sin embargo, puede administrar y operar bases de datos SQLike con la ayuda de otras herramientas de visualización de terceros.
Estas herramientas pueden proporcionar interfaces visuales y funciones similares a las que se utilizan en otros sistemas de bases de datos, como editores de consultas, vistas de datos, vistas de tablas, visualizaciones de gráficos, etc.

Aquí hay algunas herramientas comunes de administración de bases de datos SQL que se pueden usar con SQLike

5.1, Castor

DBeaver es una herramienta de administración de base de datos SQL de propósito general gratuita y de código abierto que admite múltiples motores de base de datos. Puede conectarse y administrar la base de datos SQLike a través de DBeaver y usar la interfaz visual que proporciona para la manipulación y consulta de datos.

5.2, HeidiSQL

HeidiSQL es una herramienta de visualización diseñada para motores de bases de datos como MySQL, MariaDB, SQL Server y PostgreSQL. Aunque su posicionamiento principal es la base de datos relacional, también puede intentar usar HeidiSQL para conectar y administrar la base de datos SQLike.

5.3, Navicat (recomendado)

Navicat es una herramienta comercial de administración de bases de datos que admite múltiples motores de bases de datos, incluidos MySQL, SQL Server, SQLite y PostgreSQL, etc. Puede usar la interfaz y las funciones proporcionadas por Navicat para administrar la base de datos SQLike.

Estas herramientas proporcionan una interfaz visual fácil de usar que puede ayudarlo a administrar bases de datos, ejecutar consultas y manipular datos con mayor facilidad.
Puede elegir la herramienta que más le convenga y utilizarla conectándose a la base de datos SQLike.
Tenga en cuenta que estas herramientas generalmente están diseñadas para bases de datos relacionales y es posible que no proporcionen funciones u optimizaciones específicas de SQL.
Por lo tanto, puede haber algunas limitaciones funcionales o problemas de compatibilidad al usar estas herramientas.

Supongo que te gusta

Origin blog.csdn.net/lmy_520/article/details/132097947
Recomendado
Clasificación