iOS中sqlite3操作
声明:下面命令我没有所有使用过, 仅用于收藏, 欢迎大家指出当中的错误
- 'SELECT count(*) FROM sqlite_master WHERE type="table" AND name = "table_name" //从sqlite_master这个系统表中查找名字为"table_name"的表的数量,没错, 是数量,所以,假设结果大于0,说明这个表存在
- 'SELECT
name, sql FROM sqlite_master WHERE type="table" AND name = "table_name" //这个语句据说能够返回创建"table_name"的语句,没错,是语句,当然包括了"table_name"的每一个字段名
- select * from "table_name", [rs columnNameForIndex:i] //rs是返回的结果集, 该语句返回index == i的字段名, 没错, 是字段名
- CREATE TABLE "table_name" (first_col integer) //创建数据表; CREATE TABLE "table_name" (first_col integer DEFAULT 0, second_col varchar DEFAULT 'hello')//创建数据表, first_col字段有缺省值;
- 1)ATTACH
DATABASE 'd:/mydb.db' AS mydb
//当前链接为"d:/mydb.db"数据库,之后的操作都会在该数据库下是生效 2).exit //退出当前数据库;
- CREATE
TABLE IF NOT EXISTS "table_name" (first_col integer) //假设创建的"table_name"已经存在, 会产生冲突, 导致语句运行失败,IF
NOT EXISTS能够避免这样的错误;
- CREATE TABLE "table_name2" AS
SELECT * FROM "table_name1";
//该语句将依照table_name1的模式创建table_name2, 不包括主键约束和缺省值; 使用 .schema "table_name2"能够返回创建数据表的语句;
- CREATE
TABLE "table_name" (first_col integer PRIMARY
KEY ASC); //创建数据表, 包括逐渐约束;
- CREATE
TABLE "table_name"
(first_col integer UNIQUE);
//创建表, 包括字段值唯一性约束;
- CREATE
TABLE "table_name" (first_col
integer NOT NULL);
//创建表, 包括字段值禁止为NULL的约束;
- CREATE
TABLE "table_name"
(first_col integer CHECK (first_col
< 5)); //创建表, 包括字段值范围约束;
- ALTER
TABLE "table_name1" RENAME
TO "table_name2"; //改动表"table_name1"的名字为"table_name2"
- ALTER
TABLE "table_name" ADD
COLUMN second_col integer; //为数据表"table_name"添加字段second_col
- DROP
TABLE "table_name"; //删除数据表"table_name"
- DROP
TABLE IF EXISTS "table_name"; //删除不存在的数据表会产生错误, 所以用IF EXISTS来避免错误;
- CREATE
VIEW "table_name" AS SELECT
* FROM "table_name" WHERE first_col > 100; //创建视图
- DROP
VIEW IF EXISTS "view_name"; //删除视图