Untuk membuat tabel di SQLite, gunakan CREATE TABLE
pernyataan.
Pernyataan ini menerima nama tabel, nama kolom dan definisinya, serta beberapa opsi lainnya.
Contoh
Berikut ini contoh dasarnya.
CREATE TABLE Products(
ProductId INTEGER PRIMARY KEY AUTOINCREMENT,
ProductName TEXT NOT NULL,
Price NUMERIC
);
Jadi dalam hal ini, Products
adalah nama tabel, dan berisi tiga kolom; ProductId
, ProductName
, dan Price
.
Dalam contoh ini, saya telah menambahkan tipe data setiap kolom serta beberapa batasan, tetapi ini semua opsional.
Tentukan Skema
Nama tabel dapat (opsional) diawali dengan nama skema. Saat melakukan ini, nama skema harus berupa main
, temp
, atau nama database terlampir.
Jadi saya bisa melakukan ini sebagai gantinya:
CREATE TABLE Store.Products(
ProductId,
ProductName,
Price
);
Dalam hal ini, Store
adalah nama database terlampir tempat saya ingin membuat tabel.
Nama kolom dapat diikuti oleh tipe data dan batasan apa pun.
Jenis Data bersifat Opsional
Ya, Anda membacanya dengan benar – tipe data sebenarnya opsional.
SQLite menggunakan pengetikan dinamis sehingga jenis data nilai dikaitkan dengan nilai itu sendiri, bukan dengan penampungnya (kolom). Ini berbeda dengan kebanyakan sistem database SQL lainnya, di mana Anda harus menentukan tipe data saat membuat kolom.
Jadi saya bisa melakukan ini sebagai gantinya:
CREATE TABLE Products(
ProductId,
ProductName,
Price
);
Batasan &Opsi Lain
Anda memiliki opsi untuk menentukan batasan atau opsi lain yang ingin Anda terapkan pada setiap kolom. Ini termasuk yang berikut:
DEFAULT
ayat. Ini menentukan nilai atau ekspresi default untuk setiap kolom dalam tabel.COLLATE
klausa untuk menentukan nama urutan susunan untuk digunakan sebagai urutan susunan default untuk kolom. Nilai defaultnya adalah BINARY.PRIMARY KEY
ayat. Anda dapat secara opsional menentukan bahwa kolom adalah kunci utama. Kunci utama kolom tunggal dan komposit (banyak kolom) didukung di SQLite.- SQLite juga mendukung batasan UNIQUE, NOT NULL, CHECK, dan FOREIGN KEY.
- Sebuah batasan kolom yang dihasilkan (juga disebut kolom yang dihitung). Ini adalah kolom yang nilainya merupakan fungsi dari kolom lain di baris yang sama.
- Apakah tabel adalah
WITHOUT ROWID
meja. Ini adalah teknik pengoptimalan kinerja yang menghilangkan kolom "rowid" yang merupakan kolom khusus yang digunakan SQLite secara default. Untuk informasi lebih lanjut tentang teknik ini, lihat dokumentasi SQLite.
Tabel Sementara
Anda dapat menentukan bahwa tabel adalah tabel sementara dengan menggunakan TEMP
atau TEMPORARY
kata kunci.
Jika menggunakan salah satu kata kunci ini, kata kunci tersebut harus disisipkan di antara CREATE
dan TABLE
.
Ini contohnya:
CREATE TEMP TABLE Products(
ProductId,
ProductName,
Price
);
Anda juga dapat menambahkan temp
skema jika Anda mau.
Lihat Cara Membuat Tabel Sementara untuk lebih banyak contoh pembuatan tabel sementara di SQLite.
Membuat Tabel dari Tabel Lain
Anda juga dapat menggunakan CREATE TABLE ... AS SELECT
pernyataan untuk membuat tabel baru berdasarkan tabel lain. Saat Anda melakukan ini, tabel baru diisi dengan data dari SELECT
pernyataan (yang memilih data dari tabel atau tabel lain).
Berikut ini contoh dasarnya:
CREATE TABLE Store.Products2 AS
SELECT * FROM Store.Products;
Contoh ini membuat tabel baru bernama Products2
dan mengisinya dengan semua data dari Products
meja.
Semua nama kolom sama dengan tabel aslinya.
Penting untuk dicatat bahwa tabel yang dibuat dengan cara ini tidak memiliki KUNCI UTAMA dan tidak ada batasan apa pun. Juga, nilai default setiap kolom adalah NULL
. Juga, urutan susunan default untuk setiap kolom tabel baru adalah BINARY.