可以用于查询获得表中的数据 ;
关键字select是DQL(也是所有SQL)用得最多的操作 ;
其他DQL常用的关键字有where,order by,group by和having创建.
创表:
create table if not exists t_student (id integer, name text, age inetger, score real) ;
删表:
drop table if exists t_student;
插入数据(insert):
insert into t_student (name, age) values ('JN', 22) ;
注意:数据库中的字符串内容应该用单引号''括住.
更新数据(updata):
pupdate t_student set name = 'jack', age = 20 ;
注意:上面的更新会将t_student表中所有记录的name都改为jack,age都改为20;
删除数据(delete):
delete from t_student;
会将t_student表中所有记录都删掉.
如果只想更新或者删除某些固定的记录,那就必须在DML语句后加上一些条件.示例如下:
// 将t_student表中年龄大于10 并且 姓名不等于jack的记录,年龄都改为 5
update t_student set age = 5 where age > 10 and name != ‘jack' ;
// 删除t_student表中年龄小于等于10 或者 年龄大于30的记录
delete from t_student where age <= 10 or age > 30 ;
查询语句(DQL):
select * from t_student where age > 10 ; // 条件查询条件语句:
主键约束:
每张表都必须有一个主键,用来标识记录的唯一性.
什么是主键:
主键(Primary Key,简称PK),用来唯一的标识某一条记录.
例如t_student可以增加一个id字段作为主键,相当于人的身份证.
主键可以是一个字段或多个字段.
外键约束:
利用外键约束可以来建立表与表之间的联系.
外键的一般情况是:一张表的某个字段引用着另一张表的主键字段.
打开,关闭数据库
创建或打开数据库:
// path为:~/Documents/person.db
sqlite3 *db;int result = sqlite3_open([path UTF8String], &db);
代码解析:
sqlite3_open()将根据文件路径打开数据库,如果不存在,则会创建一个新的数据库.如果result等于常量SQLITE_OK,则表示成功打开数据库.
sqlite *db:一个打开的数据库实例.
数据库文件的路径必须以C字符串(而非NSString)传入.
关闭数据库:sqlite3_close(db);
执行不返回语句的SQL语句
char *errorMsg; // 用来存储错误信息
char *sql = "create table if not exists t_person(id integer primary key autoincrement, name text, age integer);";
int result = sqlite3_exec(db, sql, NULL, NULL, &errorMsg);










