SQLite3 里面的數據類型4種:
integer 整型 text 文本字符串 real 實數(浮點型數據)blob存放一些較大的二進制數據
SQLite Manager:
SQLite Manager的作用
創建了一個數據庫 數據庫的后綴名一般為 .sqlite或.db
創建一張表 表中添加了5個字段并設置了字段數據類型
插入記錄
查詢記錄
修改記錄
刪除記錄
1、創建表
CREATE TABLE 表名 (字段名1 字段類型,字段名2 字段類型,……)
CREATE TABLE Teacher (name text,sex text,age integer)
在寫SQL語句時 注意輸入法中英文切換問題
execute 執行
syntax 語法
2、插入一條記錄
INSERT INTO 表名 (字段1,字段2,字段3,字段4)VALUES (值1,值2,值3,值4)
下方形式必須值跟字段一一對應 一個都不能少
INSERT INTO 表名 VALUES (值1,值2,值3,值4,值5)
INSERT INTO Students VALUES('張三','男', 23,175,70)
當值為文本時 需要加引號(雙引號或單引號)當值為整型或浮點型時 不需要加引號
3、查詢
SELECT 字段名 FROM 表名
SELECT 字段名,字段名,字段名,…… FROM 表名
SELECT * FROM 表名
WHERE語句用于有條件地從表中選取數據 可將WHERE子句添加到SELECT語句
語法
在SELECT查詢語句后+WHERE 字段名 運算符 值
SELECT * FROM Students WHERE name = '張三';
數據庫提供內置函數:MAX(最大值), MIN(最小值), AVG(平均值)SUM(總值)
SELECT MAX(字段名) FROM 表名
SELECT * FROM Students WHERE age BETWEEN 10 AND 100
運算符有=,<>(不等于 !=),>,<,>=,<=,BETWEEN(在某個范圍內 前閉后閉),LIKE(搜索某種模式 %可以代表任意一串字符 _代表一個任意字符)
abcd
_b%
查詢有d的字符串 %d%
SELECT * FROM AAA WHERE column1 LIKE '%d%'
查詢第二位有b的字符串 _b%
SELECT * FROM AAA WHERE column1 LIKE '_b%'
引號:SQL使用單引號(也支持雙引號)來環繞文本值。如果是數值,則不要使用引號
4、修改
UPDATE語句用來修改表中的數據
語法:
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值 (where后是一個條件)
UPDATE 表名稱 SET 列名稱 = 新值,列名稱 = 新值 WHERE 列名稱 = 某值
UPDATE Students SET age = 20 WHERE name = '李雷'
UPDATE Students SET age = 20,height = 190.5 WHERE name = '李雷'
5、刪除
DELETE用于刪除表中的行
語法:
DELETE FROM 表名稱 WHERE 列名稱 = 值
DELETE FROM Students WHERE name = '小芳'
刪除所有行 即在不刪除表的情況下刪除所有的行,表的結構、索引、字段都是完整的
DELETE FROM 表名
DELETE FROM Teacher
6、約束
SQL約束 用于限制加入表的數據的類型。可以在創建表時規定約束,或者表創建過后也可以,主要有以下幾種約束
NOT NULL 約束強制列不接受空值 空值無法插入新紀錄或更新紀錄
UNIQUE 約束唯一標識數據庫表中的某個字段
PRIMARY KEY 主鍵 每個表中都應有且只能有一個主鍵 主鍵列不能為NULL值
FOREIGN KEY 外鍵 關鍵表
DEFAULT 給字段添加默認值
AUTOINCREMENT 自動增長
7、SELECT DISTINCT 查詢不重復的數據
語法:
SELECT DISTINCT 列名稱 FROM 表名稱
SELECT DISTINCT name FROM Students
SELECT DISTINCT * FROM Students
8、AND和OR運算符 用于基于一個或多個條件對數據進行過濾
如果兩個條件都成立 AND運算符返回一條數據
SELECT * FROM Students WHERE name='張三' AND weight = '50'
只要一個條件成立 OR運算符就返回一條數據
SELECT * FROM Students WHERE name='張三' OR weight = '50'
9、ORDER BY語句用于對結果集進行排序
根據指定列對結果集進行排序 默認按照升序對記錄進行排序 降序使用關鍵字DESC 升序ASC
SELECT 字段名 FROM 表名稱 ORDER BY 字段名 條件(DESC或ASC)
SELECT 字段名,字段名 FROM 表名稱 ORDER BY 字段名 條件,字段名 條件(DESC或ASC)
SELECT * FROM Students ORDER BY name DESC, age DESC
desending 降序
asending 升序
常用的SQL語句
1,創建表
CREATE 創建
TABLE 表
PRIMARY KEY主鍵
AUTOINCREMENT自動增長
NOT NULL 非空
UNIQUE 唯一的
CREATE TABLE Teacher1 (teacher_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, teacher_name TEXT,teacher_sex BOOLEAN)
CREATE TABLE Teacher2 (teacher_id INTEGER PRIMARY KEY AUTOINCREMENT, teacher_name TEXT,teacher_sex BOOLEAN)
2, 刪除表
DROP TABLE Teacher1
3,給表添加列
ALTER TABLE Teacher2 ADD teacher_age INTEGER
4,插入數據
INSERT INTO Teacher VALUES(1,'zhangsan',1)
INSERT INTO Students (name,sex)VALUES('zhangsan',0)
5,查詢數據
SELECT 查詢
* 全部
FROM
SELECT * FROM Students
SELECT * FROM Students WHERE number<10
SELECT * FROM Students WHERE number<10 OR sex=1
SELECT * FROM Students WHERE number<10 AND number>5
like 匹配
SELECT * FROM Students WHERE name like 'zhang%'
SELECT * FROM Students WHERE name like 'zhang_'
%通配 多個字符,_通配一個字符
SELECT count(*) FROM student,查詢表中數據的條數。
SELECT * FROM student WHERE student_age = (SELECT max(student_age) FROM student)
max(列名) min(列名) 查詢這一列的最大,最小值.
SELECT * FROM student ORDER BY student_age ASC
ORDER BY 把查詢結果排序 ,ASC順序,DESC倒序
LIMIT 限制
從第六條開始 往后的15條
SELECT * FROM Students LIMIT 5,15
6,修改數據
UPDATE 更新
set 設置
UPDATE Students set name='lisi',sex=1 where number < 10 AND number>5
7,刪除數據
DELETE 刪除
DELETE FROM Students WHERE number > 25