从此处转载
以前学的sql语句忘得差不多了,但最近又在学sqlite数据库,所以重新抄到自己的blog。
1.建立表
Create table admin(username text,age integer);
2.插入数据
insert into 表名(字段列表) values(值列表);
例如:
insert into admin values(‘song’,25);
3.查询
select 字段名 from 表名;
例如:
select * from admin;
select distinct field from table_name;(distinct去掉重复项,将列中各字段值单个列出)
4.删除数据
Delete from 表名 where 条件子句。
例如:
delete from admin form where username=’song’;
5.修改
update 表名 set 字段名=值 where 条件子句。
例如:
update admin set username=’zhang’,age=24 where username=’song’ and age=25;
6.按条件分组
select * from 表名 where 条件子句 group by 分组子句 having …order by排子句
例如:
select * from admin;
select * from admin order by id desc(降序) | asc(升序);
select username from admin group by username having count(*)>1;
7.多条件查询语句
select 字段名 from 表名 where 子句1 按 子句二
例如:
select * from admin where username=’song’ and age=24;
select * from table_name where field in (‘val1’,’val2’,‘val3’ );
select * from table_name where field between val1 and val2;
select * from admin limit 5; –限制输出数据记录数量
8.多条件排序
select 字段名 from 表名 order by 字段1 (desc),字段2(desc);
例如:
select * from admin order by t1,t2 desc;
9.索引
例如:
建立复合索引:
create index idxT1 on admin(username,age);
各自建立索引:
create index idxUsername on admin(username);
create index idxAge on admin(age);
10.外键FOREIGN KEY(UNIQUE | PRIMARY KEY | NOT NULL)的用法()
create table a(
a1 INTEGER PRIMARY KEY | UNIQUE | NOT NULL,
a2 TEXT,
a3 INTEGER );
create table b()(
b1 INTEGER,
b2 TEXT,
b3 INTEGER,
foreign key(b3) references a(a1));
11.分页
select * from account limit 5 offset 3;
select * from account limit 5,3;
12.模糊查询
SELECT 字段 FROM 表 WHERE 某字段 LIKE 条件
(1)%:表示任意0个或多个字符
(2)_ :表示任意单个字符,匹配单个任意字符,常用来限制表达式的字符长度语句。
(3)[ ]:表示括号内所列字符中的一个(类似正则表达式)
select * from admin where username like ‘[张李王]三’;
表示搜索的是“张三”,“李三”或“王三”
(4):[^]表示不在括号所列之类的单个字符。
(5):查询内容包含通配符时,用“[ ]”括起来。
13.删除表 | 索引
drop table [ IF EXISTS] admin;
drop index index_name
14.查询记录数目
select count(*) from table_name;