CREATE TABLE table_name (property type);
eg:CREATE TABLE myTable (id INTEGER PRIMARY KEY, name TEXT, quantity INTEGER, aisle INTEGER);
Insert items
INSERT INTO table_name VALUES (id, name, quantity);
eg:INSERT INTO myTable VALUEs (1, “apple”, 3, 2);
Query items
SELECT item FROM table_name WHERE conditions ORDER BY property;
eg:SELECT * FROM myTable WHERE quantity > 1 ORDER BY quantity;
Aggregating data
SELECT functions FROM table_name GROUP BY property;
eg:SELECT SUM(quantity) FROM myTable GROUP BY aisle;
Some special conditions
we can use AND, OR, IN, LIKE in conditions
eg:SELECT * FROM myTable WHERE aisle > 1 AND quantity < 5;
SELECT * FROM myTable WHERE name LIKE “%apple%”; // 查询所有名字中包含apple的条目
AS, HAVING
eg:SELECT AVG(quantity) AS avg_number FROM myTable GROUP BY aisle HAVING avg_number > 2; // 按照aisle分类计算平均数量并显示为新的property:avg_number,并选出新特性大于2的条目
CASE (similar to GROUP BY)
CASE
WHEN condition1 THEN “discription1”
WHEN condition2 THEN “discription2”
WHEN condition3 THEN “discription3”
ELSE “discription”
END AS “group_name”
eg:SELECT name,
CASE
WHEN quantity > 10 THEN “large quantity”
WHEN quantity > 5 THEN “mid quantity”
WHEN quantity > 0 THEN “small quantity”
ELSE “zero”
END AS “quantity_level”
FROM myTable;
JOIN tables (inner join)
SELECT * FROM table1
JOIN table2
ON conditions;
JOIN tables (outer join)
SELECT name FROM table1
LEFT OUTER JOIN table2
ON condition;
//在inner join的基础上,将不存在与表2的但存在于表1的条目选出
//若两个表含有相同属性,选择时应该指出选择哪个表的属性:table1.name,若表与自己join,可以取别名,即:table1 t1
DELETE and UPDATE
UPDATE table_name SET property = new_content WHERE condition;
DELETE FROM table_name WHERE condition;
eg:UPDATE myTable SET name = “myApple” WHERE id = 1;
DELETE FROM myTable WHERE id = 1;
ALTER
ALTER TABLE table_name ADD property type default “default_value”;
eg:ALTER TABLE myTable ADD favorite_level INTEGER default 0; //给表中新添一属性:favorite 并设默认值为0