SQLite adalah database ringan. Target desainnya tertanam, dan telah digunakan di banyak produk tertanam. Ini membutuhkan sumber daya yang sangat rendah. Pada perangkat yang tertanam, mungkin hanya memerlukan beberapa ratus K. Memori sudah cukup. Ini dapat mendukung sistem operasi mainstream seperti Windows/Linux/Unix, dan dapat dikombinasikan dengan banyak bahasa pemrograman, seperti Tcl, PHP, Java, dll., serta antarmuka ODBC, dua perangkat lunak sumber terbuka yang terkenal di dunia. Dalam hal sistem manajemen basis data, kecepatan pemrosesannya lebih cepat dari semuanya.
Meskipun SQLite berukuran sangat kecil, namun pernyataan SQL yang didukungnya tidak kalah dengan database open source lainnya. SQL yang didukungnya antara lain:
ATTACH DATABASE
MULAI TRANSAKSI
komentar
MELAKUKAN TRANSAKSI
MENYALIN
BUAT INDEKS
BUAT TABEL
BUAT PEMICU
BUAT TAMPILAN
MENGHAPUS
LEPASKAN DATABASE
JATUHKAN INDEKS
JATUHKAN MEJA
JATUHKAN PEMICU
JATUH LIHAT
AKHIR TRANSAKSI
MENJELASKAN
ekspresi
MENYISIPKAN
Klausul TENTANG KONFLIK
PRAGMA
MENGGANTI
TRANSAKSI KEMBALI
MEMILIH
UPDATE
Pada saat yang sama, ia juga mendukung fungsi pemrosesan transaksi dan sebagainya. Beberapa orang juga mengatakan bahwa ini seperti Microsoft Access. Terkadang terasa agak mirip, namun sebenarnya sangat berbeda. Misalnya, SQLite mendukung lintas platform, mudah dioperasikan, dan bisa langsung membuat database dalam banyak bahasa, tidak seperti Access, yang tidak memerlukan dukungan Office. Jika Anda memiliki aplikasi yang sangat kecil, atau Anda ingin melakukan pengembangan tertanam dan tidak memiliki sistem database yang sesuai, Anda dapat mempertimbangkan untuk menggunakan SQLite sekarang. Saat ini, versi terbarunya adalah 3.2.2, dan situs resminya adalah: http://www.sqlite.org , di mana kode sumber dan dokumentasinya dapat diperoleh. Pada saat yang sama, karena struktur databasenya sederhana dan tidak banyak kode sumber sistem, juga cocok untuk para profesional yang ingin mempelajari pengembangan sistem database.
Sekarang mari kita mulai dengan pengenalan singkat. Terutama saya ingin memperjelas beberapa masalah, satu adalah cara menginstal dan menggunakan, dan yang lainnya adalah bagaimana mengembangkannya bersama dengan PHP.
1. Instalasi
1. Platform Windows
mengunduh file di bawah windows, yang sebenarnya merupakan program baris perintah (alamat unduh: sqlite>
# Prompt SQLite. Jika Anda ingin melihat bantuan perintah, masukkan .help. Di sqlite, semua perintah sistem dimulai dengan .:
sqlite> .bantuan
.databases Daftar nama dan file database terlampir
.dump ?TABEL? ... Buang database dalam format teks SQL
.echo ON|OFF Mengaktifkan atau menonaktifkan perintah echo
.exit Keluar dari program ini
.explain ON|OFF Mengaktifkan atau menonaktifkan mode output yang sesuai untuk EXPLAIN.
.header(s) ON|OFF Mengaktifkan atau menonaktifkan tampilan header
.help Tampilkan pesan ini
.import FILE TABLE Impor data dari FILE ke TABLE
.indices TABLE Menampilkan nama semua indeks pada TABLE
.mode MODE ?TABLE? Atur mode keluaran di mana MODE adalah salah satu dari:
csv Nilai yang dipisahkan koma
kolom Kolom rata kiri. (Lihat .width)
html Kode HTML <tabel>
masukkan pernyataan sisipan SQL untuk TABLE
baris Satu nilai per baris
daftar Nilai dibatasi oleh string .separator
tab Nilai yang dipisahkan tab
tcl elemen daftar TCL
.nullvalue STRING Cetak STRING sebagai pengganti nilai NULL
.output FILENAME Kirim keluaran ke FILENAME
.output stdout Kirim output ke layar
.prompt MAIN CONTINUE Ganti perintah standar
.quit Keluar dari program ini
.read FILENAME Jalankan SQL di FILENAME
.schema ?TABLE? Tampilkan pernyataan CREATE
.separator STRING Ubah pemisah yang digunakan oleh mode keluaran dan .import
.show Menampilkan nilai saat ini untuk berbagai pengaturan
.tables ?POLA? Daftar nama tabel yang cocok dengan pola LIKE
.timeout MS Coba buka tabel terkunci selama milidetik MS
.width NUM NUM ... Tetapkan lebar kolom untuk mode "kolom".
sqlite>
www.knowsky.com
# Kami membuat catlog database
sqlite> membuat katalog tabel(
...> id kunci utama bilangan bulat,
...> pid bilangan bulat,
...> nama varchar(10) UNIK
...> );
sqlite>
# Jika tabel ada, maka akan muncul pesan:
Kesalahan SQL: katalog tabel sudah ada
# Kami membuat informasi indeks
membuat indeks catalog_idx pada katalog (id asc);
# Kami memeriksa informasi tabel untuk melihat berapa banyak tabel yang ada
sqlite>.tabel
sebuah katalog
# Lihat struktur tabel:
sqlite> .skema katalog
BUAT katalog TABEL(
kunci utama bilangan bulat id,
bilangan bulat pid,
nama varchar(10) UNIK
);
BUAT INDEKS catalog_idx pada katalog(id asc);
#Masukkan catatan ke dalam tabel data
sqlite> masukkan ke dalam nilai katalog (ppid,nama) ('001','heiyeluren');
#Tidak ada konfirmasi jika berhasil. Jika ekspresi salah, pesan kesalahan akan muncul:
Kesalahan SQL: dekat "set": kesalahan sintaksis
# Ambil berapa banyak catatan yang ada
sqlite> pilih hitungan(*) dari katalog;
1
# Ambil catatan pencarian
sqlite> pilih * dari katalog;
1|1|heiyeluren
Bagaimanapun, tidak ada masalah jika Anda menggunakan SQL standar untuk mengoperasikannya. Selain itu, perlu dicatat bahwa SQLite tidak mendukung modifikasi struktur tabel. Jika Anda ingin mengubah struktur tabel, Anda hanya dapat menghapus tabel dan membuatnya kembali, jadi Anda harus mempertimbangkan skalabilitas saat membuat tabel. Diperkirakan fungsi ini akan diperkuat di masa depan.
2. Kesalahan platform Linux/Unix
: Saya belum menginstalnya, haha, tapi mungkin mirip dengan Windows. Saya akan memperbaikinya di lain hari.
2. Pengembangan PHP dari SQLite.
PHP 5 tidak lagi mendukung Mysql secara default, tetapi mendukung SQLite secara default. Ini menunjukkan betapa berpengaruhnya hal tersebut. Jadi jika Anda ingin mengembangkan PHP untuk SQLite, disarankan agar Anda menggunakan PHP 5.0.0 atau di atas. Saat ini saya menggunakan PHP versi 5.0.4 yang secara langsung mendukung ekstensi SQLite. Saya tidak akan menjelaskan cara menginstal ekstensi PHP secara detail di sini.
Di sini saya terutama berbicara tentang pengembangan SQLite. Saat ini, semua kelas DB mainstream di PHP mendukung driver SQLite, termasuk kelas PEAR::DB dan kelas ADOdb, jadi menggunakan DB untuk pengembangan juga merupakan pilihan yang baik.
Demi kesederhanaan,
semua
operasi berikut dilakukan pada Windows
yang dioperasikannya. Ada banyak fungsi pemrosesan untuk SQLite di PHP. Anda dapat memeriksa manual PHP untuk informasi detailnya.Kami menggunakan fungsi sqlite_open() untuk membuka database sqlite. Fungsi ini mengembalikan sumber daya operasi dengan sukses, dan mengembalikan false jika gagal. Kemudian semua operasi selanjutnya dilakukan pada sumber daya ini.
Di bawah ini saya berasumsi bahwa Anda memiliki file database sqlite abc.db di direktori program PHP saat ini. Kami mengoperasikan file ini:
<?php
//Buka basis data sqlite
$db = @sqlite_open("abc.db");
//Penanganan pengecualian
if (!$db) die("Koneksi Sqlite gagal.n");
//Tambahkan database bernama foo
@sqlite_query($db, "BUAT TABEL foo (bar varchar(10))");
//Masukkan catatan
@sqlite_query($db, "MASUKKAN KE NILAI foo ('fnord')");
//Ambil semua catatan
$hasil = @sqlite_query($db, 'pilih bilah dari foo');
//Cetak hasil yang diperoleh
print_r(sqlite_fetch_array($hasil));
?>
Output yang kita lihat adalah:
Array
(
[0] => dunia
[bar] => fnord
)
membuktikan bahwa kode kami berhasil dieksekusi. Jika tidak ada input, silakan periksa program atau apakah file database Anda ada.
Kemudian dengan operasi dasar ini, Anda dapat mempertimbangkan untuk menggunakan operasi yang lebih kompleks dan SQL untuk mengoperasikannya dan membiarkannya membantu Anda mengelola informasi. Anda dapat membuat buku tamu atau sistem CMS.
2. Gunakan PHP untuk membuat dan mengoperasikan database
Jika Anda tidak memiliki alat seperti sqlite.exe, Anda juga dapat membuat database sqlite melalui PHP dan mengelolanya.
Faktanya, isi database yang dibuat melalui program sqlite.exe adalah kosong. Faktanya, file database hanya ada setelah tabel dibuat dan data ditambahkan. Jadi kita bisa menambahkan file secara manual, seperti tes kosong. file db? Dan mengoperasikannya. Ini sepenuhnya mungkin. Di bawah ini kita akan menggunakan program PHP untuk membuat database dan melakukan fungsi sederhana membuat tabel data, memasukkan data, dan mengambil data.
Pertama mari kita lihat kodenya: (kodenya lebih panjang, namun lebih mudah dipahami)
<?php
/**
* File: sqlite.php
* Fungsi : Memproses database sqlite
* Penulis: heiyeluren
* Waktu: 5-8-2005
*/
mendefinisikan("LN", __LINE__);//Nomor baris
mendefinisikan("FL", __FILE__);//Berkas saat ini
mendefinisikan("DEBUG", 0);//Sakelar debug
$db_name = "heiyeluren.db";
//Buat file database, isi file kosong
if (!file_exists($db_name)) {
jika (!($fp = fopen($db_name, "w+"))) {
keluar(kode_kesalahan(-1, LN));
}
fclose($fp);
}
//Buka file basis data
jika (!($db = sqlite_open($nama_db))) {
keluar(kode_kesalahan(-2, LN));
}
//Buat struktur tabel data
if (!sqlite_query($db, "DROP TABLE test")) {
keluar(kode_kesalahan(-3, LN));
}
if (!sqlite_query($db, "CREATE TABLE test (id integer primary key,pid integer,name varchar(10) UNIK)")) {
keluar(kode_kesalahan(-3, LN));
}
//Masukkan sepotong data
if (!sqlite_query($db, " INSERT INTO test (name) VALUES ('heiyeluren') ")) {
keluar(kode_kesalahan(-4, LN));
}
//Ambil datanya
if (!($hasil = sqlite_query($db, "PILIH * DARI tes"))) {
keluar(kode_kesalahan(-5, LN));
}
//Dapatkan data yang diambil dan tampilkan
while ($array = sqlite_fetch_array($hasil)) {
echo "ID: ".$array[id] ."<br>Nama: ".$array[nama] ;
}
/* Fungsi kode pesan kesalahan */
fungsi error_code($kode, $line_num, $debug=DEBUG)
{
if ($kode<-6 || $kode>-1) {
kembali salah;
}
beralih($kode) {
case -1: $errmsg = "Kesalahan pembuatan file database.";
merusak;
case -2: $errmsg = "Gagal membuka file database sqlite.";
merusak;
case -3: $errmsg = "Pembuatan tabel gagal, tabel sudah ada.";
merusak;
case -4: $errmsg = "Gagal memasukkan data.";
merusak;
case -5: $errmsg = "Data basis data kueri gagal.";
merusak;
case -6: $errmsg = "Pengambilan data gagal.";
merusak;
kasus -7: $errmsg = "";
merusak;
default: $errmsg = "Kesalahan tidak diketahui.";
}
$m = "<b>[ Kesalahan ]</b><br>File: ".basename(FL) ." <br>Baris: ".LN ."<br>Pesan: ". ;
jika (!$debug) {
($m = $errmsg);
}
kembalikan $m;
}
?>
Jika Anda mengoperasikannya dengan benar, program akhirnya akan menampilkan:
ID: 1
Nama: heiyeluren
Program kami di atas mencakup fungsi yang relatif lengkap, termasuk debugging, penanganan pengecualian, akses database, dll. Ini dianggap sebagai aplikasi sederhana. Anda juga dapat mengembangkannya jika tertarik.
* Selesai:
Operasi dasar kami ada di sini. Saya akan menyelesaikan konten ketika saya punya waktu di masa depan. Jika Anda tertarik, Anda dapat menelitinya. Mungkin beranda pribadi Anda memerlukan database sekecil itu untuk membantu Anda.
* Dokumen referensi:
http://www.donews.net/limodou/archive/2004/03/21/7997.aspx
http://www.linuxsir.org/bbs/showthread.php?p=1213668#post1213668
* Situs web resmi sumber daya SQLite: http://www.sqlite.org
Sintaks SQL: http://www.sqlite.org/lang.html
Dokumentasi pengembangan: http://www.sqlite.org/docs.html
Pertanyaan Umum: http://www.sqlite.org/faq.html
Alamat unduhan: http://www.sqlite.org/download.html
Penulis: heiyeluren
Tanggal: 2005-8-5