sqlite3
以点开头的为控制命令,后面不加分号。对表的操作语句后面得加引号。
一般的数据库都是固定数据类型,而这个数据库是动态数据类型。
sqlite3支持五种数据类型:
1,integer 带符号的整型(最多64位)
2,real 8字节表示的浮点类型
3,text 字符串类型,支持多种编码,大小不限制。
4,blob 不限制的二进制格式,可以为任意类型。
5,null 空值
创建库
sqlite3 *.db
//*为合法字符串当这个库文件存在时,为打开命令。当这个库文件不存在时,为创建打开命令。
退出库
.quit 或 .exit
创建表
create table 表名(字段名1 字段类型 primary key, 字段名n 字段类型)
其中primary key 为主键,这是确保库中数据的唯一性,一般不把有用的数据当成主键。
例:create table stu_info(id interger primary key, name text, age integer, addr text)
三条约束
在创建表时可以对表中每列数据声明限制,以确保数据高可靠性。
a,主键,primary key确保主键在整个表中不重复性,一个表中只有一个主键列,最好由机器自动生成,主键取值主要用于索引,它对用户无用数据,不要更新主键,也不要用动态数据类型定义主键。
b,唯一性,unique确保在唯一性列中数据不重夏,与主键类似,但一个表中可以定义数个列为唯一性列,常用于约束银行卡或身份证信息等数据。当插入重复数据时会报错。
c,合法性,check常用规范数据合法性,比如,分数或年龄不能小于0,当插入不合法数据时,报错。
例子:create table info(id INT primary key,name text,age INT check(age>0),addr text unique);
查询表文件
.table 或 .schema.table
查询表文件信息
.schema还能查表文件数据结构信息
检查表文件内容信息
select * from 表文件名 ;
默认以行形式显示
.mode columnselect * from 表文件名 ;
以列方式查询表内容。
.header on 显示表头默认是不显示表头的。
备份表,
as拷贝一份新表并重命名
格式:
create table 新表 as select *from 原表 where 条件;(不加条件时,复制整表)
create table info_1 as select * from info;
删除表,
dropdrop table info;
表改名或插入新列,
arlter对已有表的列增加或修改表名字,不能对已存在的列的名字修改。
重命名表 rename to
格式:arlter table 旧表 rename to 新表arlter table info rename to info_2;
对表增加新列:add
格式:arlter table 表名 add 列名 数据类型alter table info add num integer;
插入新行,
insert into
新插一行并全部赋值,如果对应的列为text类型,则应把值加引号。
create table info(id integer primary key,name text,age integer);
insert into info values(5,‘周二爷’,40);
新插一行并部分赋值:
create table info(id integer primary key,name text,age integer);
insert into info (id,age) values(5,40);
修改表内容,
update格式:update 表名 set 列字段 where 行字段;(行字段应为行的主键号)
例:update info set name=‘周二爷’ where id=5;
删除表内容,
delete,删除符合条件查找到一行或多行,如果没有条件,则删除整个表。
格式:delete from 表名 where 条件;
delete from info where id>10;
查询表内容,
select,返回各种条件下的查询结果。
格式:select 条件 from 表名 where 条件;
查询整个表内容:select * from info;
查询某一列:select id from info;
查询某一行:select * from info where id=5;
where条件基本条件:>,<,≥,≤,=
高级条件:in,and,or,between and,like,not。