SQLite3基础

来源:互联网 发布:电信网络新型违法犯罪 编辑:程序博客网 时间:2024/06/06 12:47
  • 创建或进入一个数据库
$sqlite3 dbName.db
  • 退出sqlite提示符
sqlite>.quit
  • 导出完整的数据库到一个文本文件中
$sqlite3 dbName.db .dump > test.sql
  • 从SQL文件中恢复
$sqlite3 dbName.db < test.sql
  • 选择数据库,附加数据库。当同一时间有多个数据库可用,想使用其中的任何一个
sqlite>ATTACH DATABASE "dbName.db" as "test";

如果数据库未创建,则创建一个数据库,如果 数据库已经存在,则把数据库文件名称与逻辑数据库”test”绑定在一起。
- 分离数据库

SQLite的DETACH DTABASE语句是用来把命名数据库从一个数据库连接分离和游离出来,连接是之前使用 ATTACH 语句附加的。如果同一个数据库文件已经被附加上多个别名,DETACH 命令将只断开给定名称的连接,而其余的仍然有效。您无法分离maintemp数据库。

DETACH DATABASE "test";

这里test与之前使用 ATTACH 语句附加数据库时所用到的别名相同。

  • 创建表
create table student(    ID int preimary key not null,    name text not null,    age int not null);

可以用.tables命令来验证表是否已经成功创建

sqlite>.tablesstudent

可以使用.schema命令得到表的完整的信息

sqlite>.schema studentCREATE TABLE student(ID int preimary key not null,name text not null,age int not null);
  • 删除表

DROP TABLE语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。

sqlite>.tablesstudentsqlite>drop table student;sqlite>sqlite>.tablessqlite>

成功将表student从数据库删除

  • 插入insert
insert into student(id,name,age) values(1,"python",18);insert into student values(2,"python3",20);
  • 查询 select
sqlite>.header onsqlite>.mode columnsqlite>select * from student;ID          name        age----------  ----------  ----------1           python      182           python3     20
  • GLOB

SQLite 的GLOB运算符是用来匹配通配符指定模式的文本值。如果搜索表达式与模式表达式匹配,GLOB 运算符将返回真(true),也就是 1。与 LIKE 运算符不同的是,GLOB 是大小写敏感的。

星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用。

SELECT FROM table_nameWHERE column GLOB 'XXXX*'or SELECT FROM table_nameWHERE column GLOB '*XXXX*'orSELECT FROM table_nameWHERE column GLOB 'XXXX?'orSELECT FROM table_nameWHERE column GLOB '?XXXX'orSELECT FROM table_nameWHERE column GLOB '?XXXX?'orSELECT FROM table_nameWHERE column GLOB '????'
WHERE column GLOB '200*'查找以 200 开头的任意值WHERE column GLOB '*200*'查找任意位置包含 200 的任意值WHERE column GLOB '?00*'查找第二位和第三位为 00 的任意值WHERE column GLOB '2??'查找以 2 开头,且长度至少为 3 个字符的任意值WHERE column GLOB '*2'查找以 2 结尾的任意值WHERE column GLOB '?2*3'查找第二位为 2,且以 3 结尾的任意值WHERE column GLOB '2???3'查找长度为 5 位数,且以 2 开头以 3 结尾的任意值
  • limit

SQLite 的LIMIT子句用于限制由 SELECT 语句返回的数据数量

SELECT column1, column2, columnN FROM table_nameLIMIT [no of rows] OFFSET [row num]sqlit>select * from student limit 3 offset 1
原创粉丝点击