sqlite 在Ubuntu中的下载和使用
1、下载
2、创建一张表
进入这个模式后如果想要退出可以执行
.quit 命令
查看表的结构图命令:
.schema
查看表的命令
.table
3、其他命令数据库系统命令:
使用 .help 查看所有的系统命令。都是以 . 开头的。sql命令与其他QML没什么区别。
基本的sql命令:
//创建表
create table stu(id Integer,name varchar,score Integer);
//插入所有字段
insert into stu values(1001,'张三',18);
//插入部分字段
insert into stu (name,score)values("李四",100)
//基本查询 可以使用 where and or等
select id from stu where name='张三' and score = 100;
//其他命令
update, delete
//修改表 增加一列
alter table stu add column address char;
//sqlite3 不支持删除一列,但是可以拷贝出来一张定制的新表。方法如下:
create table stu as select id,name,socore from stu;
//删除原来的表
drop table stu
//改表名
alter table stu1 rename to stu;
SQLite编程接口 (C类语言)
序号 | API & 描述 |
---|---|
1 | *int sqlite3_open(const char *filename, sqlite3 *ppDb) 该例程打开一个指向 SQLite 数据库文件的连接,返回一个用于其他 SQLite 程序的数据库连接对象。如果 filename 参数是 NULL 或 ‘:memory:’,那么 sqlite3_open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。如果文件名 filename 不为 NULL,那么 sqlite3_open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,sqlite3_open() 将创建一个新的命名为该名称的数据库文件并打开。 ppDb是sqlite句柄指针 返回值类型int,返回成功则为0, 如果失败则返回错误代码(非零值) |
2 | *int sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char *errmsg) 该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。在这里,第一个参数 sqlite3 是打开的数据库对象,sqlite_callback 是一个回调,data 作为其第一个参数,errmsg 将被返回用来获取程序生成的任何错误。sqlite3_exec() 程序解析并执行由 sql 参数所给的每个命令,直到字符串结束或者遇到错误为止。 |
3 | const sqlite3_close(sqlite3*) 该例程关闭之前调用 sqlite3_open() 打开的数据库连接。所有与连接相关的语句都应在连接关闭之前完成。如果还有查询没有完成,sqlite3_close() 将返回 SQLITE_BUSY 禁止关闭的错误消息。 |
其他语言接口可参考
runoob.com
SQLite API 网址:
https://tool.oschina.net/apidocs/apidoc?api=sqlite
https://tool.oschina.net/apidocs/apidoc?api=sqlite
遇到的问题:
-
再次打开数据库看不到之前的sqlite3数据库库:(test.db)
先.quit退出数据库然后执行:
sqlite3 test.db #就像创建库的命令,如果有这个库直接用,没有就创建。
#然后执行.database就可以看到之前创建的库了。
sqlite> .database
seq name file
0 main /root/test.db
sqlite> .schema
CREATE TABLE TABLE_PRO(PROJECT VARCHAR,TASK VARCHAR, address varchar);