Giới thiệu SQLite

SQLite là một hệ quản trị cơ sở dữ liệu quan hệ, khác với các hệ quản trị CSDL khác nó không cần client–server database engine (một dịch vụ, ứng dụng cài đặt đầy đủ thông qua nó kết nối, tương tác với các CSDL), nó được nhúng vào rất nhiều chương trình khác nhau, từ destop, mobile đến website. Hầu hết ngôn ngữ lập trình có các thư viện hỗ trợ kết nối, truy vấn đến SQLite như: PHP CJavaC#JavaScript… Nó được nhúng vào các trình duyệt, vào các hệ thống nhúng, hệ điều hành như AndroidIOS … đều đã nhúng mặc định.

Vì SQLite không cần client–server database engine nên có thể hiểu file CSDL đã tích hợp mọi thứ, sử dụng ngay không cần phải cài đặt thêm thứ gì.

SQLite tương thích với chuẩn SQL

Việc kết nối và thi các lệnh SQL với SQLite thật sự rất đơn giản, ví dụ:

SQLite với PHP

Ví dụ bạn cần thi hành một lệnh SQL trên CSDL SQLite với file có tên db.sqlite. Giả sử câu lệnh đó là:

SELECT * FROM Danhmuc

Chạy thử

SQLite với .NET

Đối với .NET thư viên truy cập SQLite được cung cấp tại http://sqlite.org/download.html, vào đó tìm đúng phiên bản binary cho .NET cần dùng, tải về và cài đặt. Sau đó thêm System.Data.SQLite ở thư mục cài đặt C:\Program Files\SQLite.NET\bin vào dự án của bạn để sử dụng.

Cách thứ 2 cài System.Data.SQLite vào dự án bằng Package Manager Console trong Visual Studio

Mở cửa sổ lệnh Package Manager Console, rồi gõ lệnh sau để cài:

PM> Install-Package Microsoft.EntityFrameworkCore.Sqlite
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.EntityFrameworkCore.Design

Add-Migration InitialCreate
Update-Database

Nếu cài đặt thành công, khai báo sử dụng thư viện trong file code:

using System.Data.SQLite;

Dưới đây là đoạn mã, kết nối và truy vấn đến SQLite bằng C#

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;

public class BloggingContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; }

    public string DbPath { get; }

    public BloggingContext()
    {
        var folder = Environment.SpecialFolder.LocalApplicationData;
        var path = Environment.GetFolderPath(folder);
        DbPath = System.IO.Path.Join(path, "blogging.db");
    }

    // The following configures EF to create a Sqlite database file in the
    // special "local" folder for your platform.
    protected override void OnConfiguring(DbContextOptionsBuilder options)
        => options.UseSqlite($"Data Source={DbPath}");
}

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }

    public List<Post> Posts { get; } = new();
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }

    public int BlogId { get; set; }
    public Blog Blog { get; set; }
}



using System;
using System.Linq;
using Microsoft.EntityFrameworkCore;

using var db = new BloggingContext();

// Note: This sample requires the database to be created before running.
Console.WriteLine($"Database path: {db.DbPath}.");

// Create
Console.WriteLine("Inserting a new blog");
db.Add(new Blog { Url = "http://blogs.msdn.com/adonet" });
await db.SaveChangesAsync();

// Read
Console.WriteLine("Querying for a blog");
var blog = await db.Blogs
    .OrderBy(b => b.BlogId)
    .FirstAsync();

// Update
Console.WriteLine("Updating the blog and adding a post");
blog.Url = "https://devblogs.microsoft.com/dotnet";
blog.Posts.Add(
    new Post { Title = "Hello World", Content = "I wrote an app using EF Core!" });
await db.SaveChangesAsync();

// Delete
Console.WriteLine("Delete the blog");
db.Remove(blog);
await db.SaveChangesAsync();

SQLiteStudio - Giao diện trực quan làm việc với SQLite
Để thực hành, học về SQL nói chung bạn có thể sử dụng CSDL mẫu bằng SQLite để thực hành, với mục đích tương tác với CSDL mà chưa cần áp dụng cho loại ngôn ngữ lập trình nào. Bạn có thể cài đặt công cụ SQLiteStudio, bạn có thể tải về cho macOS, Windows hay Linux.

Sau đó tải luôn dữ liệu mẫu tôi chuẩn bị sẵn, lưu file dữ liệu mẫu tên db.sqlite CSDL SQLite mẫu vào folder nào bạn thích.
Chạy file: SQLiteStudio, giao diện chương trình có dạng

SQLite Studio
Giao diện SQLiteStudio
<img src="https://raw.githubusercontent.com/xuanthulabnet/sql-learning/master/docs/sql-001.png" alt="SQLite Studio">
Bạn bắt đầu có thể tạo mới CSDL SQLite, thi hành các lệnh SQL trên giao diện này, ở đây bạn đã có file dữ liệu mẫu db.sqlite nên chỉ việc thêm nó vào và thực hành

Nhấn CTRL-0 thêm file db.sqlite mẫu vừa tải về để làm việc
Nhấn ALT+E mở cửa sổ soạn thảo lệnh SQL ví dụ nhập lệnh select * from Danhmuc
Nhấn F9 để chạy lệnh SQL nhập vào, kết quả trả về được thông báo hiện thị trực quan trong cửa sổ chương trình.
Đây là cách mà các bài hướng dẫn về SQL gợi ý dùng để thực hành trên website này. Ngoài ra bạn có thể dùng thẳng các chương trình khác như: MySQL console

Bạn có thể cài đặt XAMPP hoặc wampserver để có luôn cơ sở dữ liệu MariaDB, MySQL và công cụ PHPAdmin để tương tác trực quan với CSD

Bình luận

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *