Giới Thiệu SQLite Và Thực Hành Lệnh SQL

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 C, Java, C#, 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ư Android, IOS ... đề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

Ở đây có một file CSDL mẫu dạng SQLite, bạn có thể tải về nghiên cứu, thực hành: CSDL SQLite mẫu. Hoặc sử dụng trực tiếp công cụ Online: Chạy 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ử

Đoạn mã PHP kết nối và thi hành lệnh SQL như sau:

<?php // Đường dẫn lưu trữ file dữ liệu $dbpath = '../sql-learning/sqlite/db.sqlite'; //Kết nối (PHP có extension sqlite) $db = new SQLite3($dbpath); //Truy vấn $results = $db->query('SELECT * FROM Danhmuc'); //Đọc kết quả truy vấn while ($row = $results->fetchArray()) { var_dump($row); } $db->close(); ?>

SQLite với Java Android

Đoạn mã sau trong một Activity kết nối, truy vấn đến file CSDL SQLite

//Kết nối SQLiteDatabase db = this.openOrCreateDatabase("db.sqlite", 0, null); //Truy vấn Cursor c = db.rawQuery("SELECT * FROM Danhmuc", null); //Đọc dữ liệu if(c.moveToFirst()){ do{ //assing values String column1 = c.getString(0); String column2 = c.getString(1); //Do something Here with values }while(c.moveToNext()); } c.close(); db.close();

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 System.Data.SQLite

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#

//Kết nối SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=db.sqlite;Version=3;"); m_dbConnection.Open(); //Truy vấn string sql = "SELECT * FROM Danhmuc"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); SQLiteDataReader reader = command.ExecuteReader(); //Đọc dữ liệu string r = ""; while (reader.Read()) { r += String.Format("{0} {1} {2} \n", reader[0], reader[1], reader[2]); } MessageBox.Show(r); m_dbConnection.Close();

SQLite với C++ trong VS

Một cách để sử dụng SQLite với C++ sử dụng Visual Studio là tích hợp mã nguồn SQLite vào dự án của bạn. Để tải mã này hãy vào trang chủ sqlite.org/download.html tìm tới mục Source Code và tải về, hoặc link phiên bản hiện tại sqlite-amalgamation-3210000.zip

Sau khi tải vể giải nén, lấy hai file: sqlite3.hsqlite.c để sử dụng trong dự án

Ví dụ dùng VS tạo ra dự án C++, Win32 Console Application có tên SQLiteConsole

Sau khi tạo dự án, copy file .h và .c ở trên vào thư mục dự án, rồi phải chuột vào tên dự án chọn chọn Add > Existing item để gộp hai file đó vào dự án.

Tiếp theo phải chuột vào sqlite.c chọn Properites, mục C/C++ bấm vào Precomplied Header chọn Not Using Precomplied Header

Như vậy bạn bắt đầu có thể sử dụng được các hàm của thư viện SQLite trong dự án C++/C của mình với Visual Studio. Các hàm thư viên tham khảo ở đây: SQLite C/C++ Interface

Giờ bạn copy thêm file dữ liệu mẫu db.sqlite ở trên để thực hiện thử một truy vấn trong ví dụ SQLiteConsole

// SQLiteConsole.cpp : Defines the entry point for the console application. #include "stdafx.h" #include <ios> #include <io.h> #include <fcntl.h> #include <iostream> #include "sqlite3.h" static int mycallback(void *data, int argc, char **argv, char **azColName) { int i; std::wcout

Từ khóa » đọc File Sqlite