SQLite3:
不区分大小写,除了特殊命令(glob)
1.存储类:
NULL,
INTEGER, 带符号的整数,存储在1,2,3,4,6或8字节中
REAL, 浮点值,存储为8字节的IEEE浮点数字
TEXT, 文本字符串,使用数据库编码(UTF-8,UTF-16BE或UTF-16LE)存储
BLOB, blob数据,完全根据它的输入存储
2.亲和类型
sqlite3查看版本信息
sqlite3 testDB.db 创建数据库
.databases 查看数据库
.quit 推出
sqlite3 testDB.db .dump > aaa.sql 导出数据库
create table table_name(column1 datatype primary key, column2 datatype,); 创建表
.table 查看库中的表
.schema table_name 查看表摘要
drop table table_name 删除表
insert into table_name [(column1, column2)] values(value1, value2); 插入数据
select column1, column2 from table_name; 查询数据
select * from table_name;
算数运算符 + - * / %
比较运算符 == = != <> > < >= <= !< !>
位运算符
& (有0得0) | (有1得1) ~(得补码,0变1,1变0) <<(左移) >>(右移)
逻辑运算符
and between exists in not in like glob(和like一样,不过大小写敏感)
not or is null is is not ||(连接两个字符串得到一个新字符串) unique(去重)
eg:
select * from table_name where salary != 2000 and age >= 25 ;
select * from table_name where name like ‘KI%’;
select * from table_name where age in (25, 30);
select * from aaa where age > (select age from bbb where salary > 20000);
like子句
%代表零个。一个或多个数字或字符,_代表一个单一的数字或字符,这两通配符与like一起使用
select * from table_name where age like ‘2%’;
select * from table_name where address like ‘%-%’;
glob子句
*代表零个,一个或多个数字或字符,?代表一个单一的数字或字符,这两通配符与glob一起使用,与like不同,glob是大小写敏感的.
select * from table_name where address glob ‘A%’;
select * from table_name where address glob ‘%-%’;
limit子句
select column1, column2 from table_name limit 5 offset 10; 返回从第10条记录后,提取5条记录。
order by子句
select * from table_name order by name, salary ask; 将结果按照name和salary升序排列。
group by子句:来对相同的数据进行分组。必须放在where 子句之后,order by子句之前
select name, sum(salary) from table_name group by name order by name;
having子句:where子句在所选列上设置条件,having子句则在由group by子句创建的分组上设置条件。
having子句必须放在group by子句之后,必须放在order by子句之前。
select * from table_name group by name having count(name) < 2; 显示名称计数小于2的所有记录。
select distinct name from table_name; distinct和select一起使用,来消除所有重复记录,并只获取唯一一次记录。
avg() sum() count() max() min() random() abs() upper() lower() length()常用函数
select current_timestamp 返回系统日期时间
update table_name set column1 = value1; 更新记录
delete from table_name; 删除所有记录
delete from table_name where id = 7;