一、創建表的基本概念
在SQLite中,表是一個二維數組,由若干行和若干列組成。每行代表一個記錄,每列代表一個字段。在表中,每個字段都有一個指定的數據類型,例如整型、文本類型等等。
在創建表之前,我們要考慮表名、字段名、數據類型以及字段屬性等等因素。
下面是一個簡單的創建表的例子:
CREATE TABLE test (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
);
上面的例子創建了一個表名為test的表,其中包含三個字段:id、name和age。id字段為INTEGER類型,並設置為表中的主鍵,name字段為TEXT類型,並設置為非空字段,age字段為INTEGER類型。
二、創建表的語法
SQLite中創建表的語法如下:
CREATE TABLE [IF NOT EXISTS] 表名 (
列名1 數據類型1 [列級約束條件],
列名2 數據類型2 [列級約束條件],
...,
列名n 數據類型n [列級約束條件]
[表級約束條件]
);
其中,IF NOT EXISTS是一個可選項,他的作用是判斷表是否存在,如果存在,則不執行創建表命令,否則執行創建表命令。
列級約束條件包括:
- NOT NULL:該字段不能為空
- UNIQUE:該字段唯一,不能出現相同的值
- PRIMARY KEY:該字段為表的主鍵,不能出現重複值
- DEFAULT:指定該字段的默認值
表級約束條件包括:
- PRIMARY KEY:指定該表的主鍵
- FOREIGN KEY:指定該表的外鍵
- CHECK:指定該表的條件約束
- UNIQUE:指定該表的唯一性約束
下面是一個包含表級約束條件的例子:
CREATE TABLE student (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER,
class_id INTEGER,
FOREIGN KEY(class_id) REFERENCES class(id)
);
上面的例子創建了一個名為student的表,包含四個字段:id、name、age和class_id。其中,id字段為主鍵,name字段不能為空,class_id字段為引用了id字段的class表的外鍵。
三、創建表的示例
1、創建包含多個字段的表
下面是一個創建包含多個字段的表的例子:
CREATE TABLE person (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
email TEXT,
create_date DATE DEFAULT (datetime('now','localtime'))
);
上面的例子創建了一個名為person的表,包含五個字段:id、name、age、email和create_date。其中,id字段為表的主鍵,create_date字段為日期類型,並設置為默認當前時間。
2、創建包含外鍵的表
下面是一個創建包含外鍵的表的例子:
CREATE TABLE employee (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
department_id INTEGER,
FOREIGN KEY (department_id) REFERENCES department(id)
);
上面的例子創建了一個名為employee的表,包含四個字段:id、name、age和department_id。其中,id字段為表的主鍵,department_id字段為引用了id字段的department表的外鍵。
3、創建包含多個唯一字段的表
下面是一個創建包含多個唯一字段的表的例子:
CREATE TABLE student (
id INTEGER PRIMARY KEY,
name TEXT UNIQUE NOT NULL,
email TEXT UNIQUE
);
上面的例子創建了一個名為student的表,包含三個字段:id、name和email。其中,id字段為表的主鍵,name字段為非空唯一字段,email字段為唯一字段。
總結
本文詳細介紹了SQLite創建表的基本概念、創建表的語法和創建表的示例。通過本文的學習,我們可以了解到如何正確地創建表,並加深對SQLite的理解。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/183229.html