Sqlite3常用语句

本文列举了一些sqlite3数据库操作的常用sql语句 


1.建表:
     1) 缺省写法,确定是新表

​​​​​​​create table mytable (id integer, name text not null);         

     2) 标准写法,如果是已存在的表则不会创建

create table if not exists mytable (id integer, name text not null);  

      补充:integer为整形,text为字符型,这些是数据类型。not null为标识,意思非空即必须有值。除此之外的标识还有unique,意为唯一不可重复;primary key,作用是设为主键,相当于not null+unique,例:(id integer primary key,name text not null unique)

2.删表:

drop table mytable;

3.查看表中数据:

select * from mytable;         //简易写法,直接遍历显示表格内容
select * from mytable order by  asc/desc;     //  按照 升序/降序 显示表格内容
select * from mytable where ...;        //where后面跟的是筛选条件,如" where id = 024 "或者" where name = 'leo' "
select * from mytable where id = 1 and name = 'leo'; //sqlite可以用and连接多个的where限定语句

4.插入数据:

insert into mytable values (001,'leo');        //缺省写法,此种写法括号内参数个数不可缺省,必须与表格实际字段对应
insert into mytable (id,name) values (001,'leo');    //此写法可省参,按照前一个括号内给出的参数,在后一个括号内给出相应值

5.修改数据:

update mytable set id = 5 where name = 'leo';      //将表格中"name"为"leo"的记录(行)的"id"字段的值改为"5"

6.删除数据:

delete from mytable where id = 2;              //删除表格中id为2的一条或多条记录
delete from 表名;        //清空表内所有数据,但是表还在,注意不要在delete后加‘*’

7.添加字段(列):

alter table mytable add column newcolumn text;         //新增一个类型text的字段newcolumn

     注:sqlite3给已存在的表格新增字段无法设置为非空,因为无法在增加字段的同时赋值,即使是空表也不可以,如果新增的字段必须为非空,

              可以参考以下步骤实现:

                     1) 在原表加入字段,按照普通类型插入,如上面的例句
                     2) 给表中每条记录的该字段赋予相应的值(非空字段必须保证有值,否则一定会出错)
                     3) 建立一张与旧表对应的表,只需将需要新增的字段设置为非空
                     4) 将旧表的数据导入到新表(可参考下面的不同表格之间的复制操作)
8.重命名表格:

alter table mytable rename to newtable;          //将表格“mytable”重命名为“newtable”

9.两张表关联查找:

select * from table1,table2 where table1.id = table2.id;     //将两张表中id相等的记录挑选出来,可以增加额外条件如“where id = 2”
select * from table1 inner join table2 on XXX=XXX;      //同1)

10.两张表关联复制:

insert into mytable select * from table2    ; 可加上‘where’的限定语句;  

将table2中的数据拷贝到mytable中去,前提是两个表格结构相同,可以宽松,但不可缺省,即原字段是not null限制的,新表对应字段可以是普通可空字段,但是不可以缺省该字段(可以附加条件)

 

附加辅助命令:
     1.查看当前数据库下有哪些表格

sqlite> .table

     2.查看表格创建结构,如果不加表格名,默认查看所有表格结构

sqlite> .schema mytable

     3.筛选表格内容的时候显示出字段名(列名)

sqlite> .head on        //显示字段名
sqlite> .mode column    //按照一定格式显示

     4.退出数据库

sqlite> .q

  注:命令不可省略前面的“.”,并且后面不要加“;”,和sql语句不同

以上就是我总结的一些关于sqlite3的操作语句,不是很多,不过也足够实现多数基本需求了。

​​​​​​​                                                          ​​​​​​​

 

 



你可能感兴趣的:(sqlite3)