請寫一個類來表示女孩子的年齡
最新版本的 Mac OS X 會預(yù)安裝 SQLite, 使用sqlite3查看當前版本.
屏幕快照 2017-01-22 下午1.48.23.png
打開終端
/**
* 創(chuàng)建一個數(shù)據(jù)庫
*/
sqlite3 DatabaseName.db
/**
* CREATE TABLE 是告訴數(shù)據(jù)庫系統(tǒng)創(chuàng)建一個新表的關(guān)鍵字
* IF NOT EXISTS 判斷是否存在該表(不是必須條件)
* Person 表名
* (字段1 屬性, 字段2 屬性) 表的字段屬性
*/
CREATE TABLE IF NOT EXISTS Person(字段1 屬性, 字段2 屬性);
/**
* 刪除表
*/
DROP TABLE 表名;
/**
* 給已創(chuàng)建的表添加字段, 只能添加新的字段, 但是卻不能刪除字段
*/
ALTER TABLE 表名 add 字段 字段屬性;
/**
* 添加一條數(shù)據(jù)
*/
--第一種方法
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)]
VALUES (value1, value2, value3,...valueN);
--這種方式可指定添加數(shù)據(jù)的字段
--第二種方式
--如果要為表中的所有列添加值,您也可以不需要在 SQLite 查詢中指定列名稱讯壶。但要確保值的順序與列在表中的順序一致膛壹。SQLite 的 INSERT INTO 語法如下:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
/**
* 查詢數(shù)據(jù), 查找該表中的所有數(shù)據(jù), 一般不要這樣寫, 這樣寫語義太模糊, 不利于團隊合作與維護代碼
*/
SELECT * FROM 表名;
--最好這樣寫
SELECT 字段1, 字段2, 字段N FROM 表名;
--這樣寫對于要查詢的字段一目了然
/**
* 更新數(shù)據(jù)
*/
UPDATE 表名
SET 字段1 = value1, 字段2 = value2...., 字段N = valueN
WHERE [condition];
e.g :
UPDATE Person SET name = '阿飛' WHERE id = 1;
/**
* 刪除數(shù)據(jù)
*/
DELETE FROM 表名
WHERE [condition];
e.g :
DELETE FROM Person WHERE id = 1;
設(shè)置別名
--首先, 這兩張寫法效果是一樣的
SELECT NAME FROM Person;
SELECT Person .NAME FROM Person;
/**
* AS作為關(guān)鍵詞來設(shè)置Person的別名為p
*/
SELECT p.name, p.id FROM Person AS p;
<==> SELECT name, id FROM Person;
數(shù)據(jù)分頁
/**
* LIMIT 數(shù)據(jù)量 offset 位置
* LIMIT 2 offset 1 , 表示從索引值1開始, 返回2條數(shù)據(jù)
*/
SELECT * FROM Person LIMIT 2 offset 1;
--次返回兩條數(shù)據(jù)
SELECT * FROM Person LIMIT 2;
UNION 操作符
SQL UNION 操作符合并兩個或多個 SELECT 語句的結(jié)果胁澳。
SQL UNION 操作符
UNION 操作符用于合并兩個或多個 SELECT 語句的結(jié)果集授药。
請注意重绷,UNION 內(nèi)部的每個 SELECT 語句必須擁有相同數(shù)量的列兵睛。列也必須擁有相似的數(shù)據(jù)類型典阵。同時苦丁,每個 SELECT 語句中的列的順序必須相同浸颓。
--SQL UNION 語法
SELECT 字段 FROM 表1
UNION
SELECT 字段 FROM 表2;
--默認地,UNION 操作符選取不同的值。如果允許重復(fù)的值产上,請使用 UNION ALL棵磷。
--SQL UNION ALL 語法
SELECT 字段 FROM 表1
UNION ALL
SELECT 字段 FROM 表2;
--UNION 結(jié)果集中的列名總是等于 UNION 中第一個 SELECT 語句中的列名。
e.g:
sqlite> select name from class
...> union all
...> select name from person;
備份表
1.兩個表的數(shù)據(jù)結(jié)構(gòu)一樣
第一步. 首先創(chuàng)建一個需要備份的表
--使用以下語句來拷貝表結(jié)構(gòu)
CREATE TABLE 新表 AS SELECT * FROM 舊表
或者
--創(chuàng)建一個表.
CREATE TABLE 新表 (字段1, 字段2);
第二步, 拷貝數(shù)據(jù)
insert into 新表 select * from 舊表;
2.如果兩個表的數(shù)據(jù)結(jié)構(gòu)不一樣則
第一步, 首先創(chuàng)建一個表
CREATE TABLE 新表 (字段1, 字段2);
第二步
insert into 新表 select 字段1, 字段2 from 舊表;
導(dǎo)出數(shù)據(jù)庫
sqlite3 test.db .dump > test.sql
通過sql文件恢復(fù)數(shù)據(jù)庫
--首先創(chuàng)建一個新的數(shù)據(jù)庫文件
sqlite3 aNew.db;
--恢復(fù)
sqlite3 aNew.db < test.sql