Sqlite 3 di luar asas

William Shakespeare
William Shakespeareasal
2025-02-17 10:11:09253semak imbas

Tutorial ini menyelidiki SQLite 3, membina konsep pengenalan pangkalan data dan penciptaan jadual. Kami akan meneroka ciri -ciri dan fungsi canggih, membandingkannya dengan yang terdapat dalam sistem pangkalan data lain.

SQLite 3 Beyond the Basics

Panduan ini menganggap kebiasaan dengan asas SQLite 3.

Konsep Utama:

  • pematuhan SQL standard: SQLITE 3 menyokong perintah SQL teras (pilih, di mana, pesanan oleh, had) untuk manipulasi data yang cekap.
  • sifat asid: Transaksi Memastikan integriti data melalui atom, konsistensi, pengasingan, dan ketahanan.
  • Pengurusan Multi-Database: melampirkan dan melepaskan pangkalan data membolehkan operasi serentak merentasi pelbagai dataset.
  • Transaksi bersarang (SavePoints): Kawalan butiran ke atas perubahan pangkalan data dengan keupayaan rollback ke titik tertentu dalam transaksi.
  • Import/Eksport Data: sandaran dan pemulihan data yang diselaraskan menggunakan dan .dump arahan. .read

pilih pertanyaan dan klausa:

pernyataan

mengambil data. Kami akan membuat jadual SELECT dalam pangkalan data Users untuk menggambarkan: Library.db

<code class="language-sql">CREATE TABLE Users (
  SerialNo INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  Name TEXT NOT NULL,
  Id TEXT NOT NULL UNIQUE,
  Age INTEGER NOT NULL,
  DOJ TEXT NOT NULL
);</code>
Penyisipan data boleh dilakukan secara individu menggunakan

, atau dengan cekap menggunakan INSERT INTO untuk melaksanakan arahan SQL dari fail (mis., .read). Pertanyaan newusers.sql mengambil data, dengan pilihan untuk menyesuaikan paparan lajur menggunakan SELECT, .header ON, dan alias lajur: .mode column

<code class="language-sql">SELECT Id AS 'User ID', Name, DOJ AS 'Date of Joining'
FROM NewUsers;</code>

Memaparkan struktur jadual. .schema

di mana klausa dan pengendali:

hasil penapis klausa

. SQLite menyokong pelbagai pengendali: WHERE (concatenation), pengendali aritmetik, pengendali perbandingan, pengendali logik (||, AND, OR), NOT, BETWEEN, IN, LIKE, GLOB, EXISTS, IS. Contoh: IS NOT

<code class="language-sql">SELECT * FROM NewUsers WHERE Age >= 20;  -- Age 20 or greater
SELECT * FROM NewUsers WHERE DOJ BETWEEN '2011-12-30' AND '2014-12-30'; -- Date range</code>

Pesanan oleh dan hadkan klausa:

jenis hasil (ASC/DESC). ORDER BY mengehadkan bilangan baris yang dikembalikan, dengan pilihan dengan LIMIT untuk melangkau baris awal. OFFSET

kumpulan oleh dan mempunyai klausa:

Kumpulan baris berdasarkan lajur yang ditentukan. GROUP BY penapis dikumpulkan hasil. HAVING

<code class="language-sql">SELECT Name, COUNT(Name) FROM NewUsers GROUP BY Name HAVING COUNT(Name) > 1; -- Duplicate names</code>

Kata kunci yang berbeza:

mengembalikan nilai unik. DISTINCT

melampirkan dan melepaskan pangkalan data:

ATTACH DATABASE Menambah pangkalan data dengan alias, membolehkan pertanyaan merentasi pelbagai pangkalan data dalam satu sesi. .databases menyenaraikan pangkalan data yang dilampirkan. DETACH DATABASE membuang alias.

SQLite 3 Beyond the Basics

Transaksi:

SQLite menyokong urus niaga (mematuhi asid).

, BEGIN TRANSACTION, COMMIT aliran transaksi kawalan. ROLLBACK mencipta urus niaga bersarang untuk kawalan berbutir, yang membolehkan rollback ke titik tertentu menggunakan SAVEPOINT dan melepaskan menggunakan ROLLBACK TO SAVEPOINT. Mod AutoCommit adalah lalai, melaksanakan setiap pertanyaan sebagai urus niaga yang berasingan. RELEASE SAVEPOINT

Mengeksport pangkalan data:

Kandungan pangkalan data mengeksport ke format SQL, secara pilihan untuk jadual tertentu. .dump mengalihkan output pertanyaan ke fail. .output

SQLite 3 Beyond the Basics

Kesimpulan:

Tutorial ini meliputi ciri -ciri SQLite 3 Advanced, meningkatkan keupayaan anda untuk mengurus dan menanyakan data dengan cekap. Bahagian FAQ selanjutnya menjelaskan SavePoint Management.

Atas ialah kandungan terperinci Sqlite 3 di luar asas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn