SQLite的基本语法和MySQL的类似。
1.数据库操作
1.1 创建/打开数据库
直接使用sqlite3 DatabaseName.db就可以打开数据库了,如果数据库不存在,则创建。
.help:查看帮助.databases:显示数据库列表.exit/.quit:退出.header on: 显示表头.mode column: 左对齐的列,长太时会被忽略
如例:
[root@guoke3915 ~]# sqlite3 guoke.db
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
1.2 附加数据库
用时需要用到多库操作的时候,需要附加数据库了。
attach database 'file_name' as 'database_name';
例如
sqlite> attach database 'test.db' as 'test';
sqlite> .database
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /root/guoke.db                                            
2    test             /root/test.db    
1.3 分离数据库
只能分离attach添加的数据库,不能分离main。
detach database 'name';
- name为
.satabase时显示的name 
例如
sqlite> detach database 'test';
sqlite> .database
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /root/guoke.db                                            
2. 表操作
2.1 创建表
create table 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。
create table database_name.table_name(
   column1 datatype  primary key(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);
- 如果只有一个db时,
database_name可以不写,多可以时为.satabase时显示的name 
例如:
sqlite> create table test(
   ...> id int primary key not null,
   ...> name text not null,
   ...> age int not null
   ...> );
sqlite> .tables
test
2.2 删除表
drop table 语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范
drop table database_name.table_name;
例如:
sqlite> drop table test;
sqlite> .tables
2.3 增
insert into 语句用于向数据库的某个表中添加新的数据行。
insert into table_name [(column1, column2, column3,...columnn)]  
values (value1, value2, value3,...valuen);
如果是全值添加可以简单化为
insert into table_name values (value1,value2,value3,...valueN);
例如:
sqlite> insert into test values(1,'guoke',30);
sqlite> insert into test values(2,'abc',25);
2.4 查
select 语句用于从 SQLite 数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集
select column1, column2, columnn from table_name;
如果查所有的可以用
select * from table_name;
可以在后面使用where显示查询的过滤条件
例如:
sqlite> .header on
sqlite> .mode column
sqlite> select * from test;
id          name        age       
----------  ----------  ----------
1           guoke       30        
2           abc         25        
   
sqlite> select * from test where age>28;
id          name        age       
----------  ----------  ----------
1           guoke       30        
2.5 改
update 查询用于修改表中已有的记录。可以使用带有 where 子句的 update 查询来更新选定行,否则所有的行都会被更新。
update table_name
set column1 = value1, column2 = value2...., columnn = valueN
where [condition];
例如:
sqlite> update test set age=31 where name='guoke';
sqlite> select * from test;
id          name        age       
----------  ----------  ----------
1           guoke       31        
2           abc         25  
2.6 删
delete 查询用于删除表中已有的记录。可以使用带有 where 子句的 delete 查询来删除选定行,否则所有的记录都会被删除。
delete from table_name where [condition];
例如:
sqlite> delete from test where name='abc';
sqlite> select * from test;
id          name        age       
----------  ----------  ----------
1           guoke       31   
                      
                      
                    
          
            
            
评论区