首页 > 代码库 > iOS中sqlite3操作

iOS中sqlite3操作

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

iOS中sqlite3操作