0、 引言
有了sqlite数据库,本节将总结以下常用的sql命令,本质上来说对于所有的数据库来说,sql命令都是基本一致的。因此此处仅仅用sqlite作为工具来总结一下
1、 创建数据库
创建数据库很简单,只需要执行qlite3 testDB.db
命令既可以。
C:\sqlite\test>sqlite3 testDB.db
sqlite version 3.19.2 2017-05-25 16:50:27
Enter ".help" for usage hints.
sqlite> .database
main: C:\sqlite\test\testDB.db
2、 创建表
创建完了数据库,如果没有表结构什么的,那么这个数据库也是没有什么用的,因为空的东西总是不够真实的,创建表则需要下面的命令
sqlite> create table tbl_User(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE
INT NOT NULL,PWD CHAR(50) NOT NULL);
我们可以使用.table命令查看表是否创建成功
sqlite> .table
tbl_Group tbl_User
然后可以使用.schema命令查看表的结构
sqlite> .schema tbl_User
CREATE TABLE tbl_User(ID INT PRIMARY KEY NOT NULL,AGE INT NOT
NULL,PWD CHAR(50) NOT NULL);
sqlite> .schema tbl_Group
CREATE TABLE tbl_Group(ID INT NOT NULL,USERID INT NOT NULL,DE
SC TEXT);
sqlite>
3、 删除表
删除表则只需要用下面的drop命令即可
sqlite> .table
tbl_ACC tbl_Group tbl_User
sqlite> drop table tbl_ACC;
sqlite> .table
tbl_Group tbl_User
4、插入数据
创建完了新的表后需要向表内插入数据,这里用insert语句
sqlite> insert into tbl_User(ID,NAME,AGE,PWD) values (1,'Ahmed',30,'Test1234');
或者是已下面的方式来插入数据
sqlite> insert into tbl_User values(2,'Bob',20,'Test123');
插入数据库,我们需要查看这些数据是否已经正确插入了,那么久需要select语句了
5、 查询语句
这里为了显示的好看,我们可以首先设置一下语句的输出格式,上一章节总结过的
sqlite> .header on
sqlite> .mode colum
sqlite> select * from tbl_User;
ID NAME AGE PWD
---------- ---------- ---------- ----------
1 Ahmed 30 Test1234
2 Bob 20 Test123
完美
这里我们的数据比较少,则直接用select * 查找就会非常的方便,但是如果我们的数据量很大的时候,就需要用where以及一些逻辑判断语句等进行条件查找了,如下所示
sqlite> select NAME from tbl_User where ID =1;
NAME
----------
Ahmed
6、 更新语句
sqlite> update tbl_User set AGE=19 where ID=3;
实际的运行结果如下所示
sqlite> select * from tbl_User;
ID NAME AGE PWD
---------- ---------- ---------- ----------
1 Ahmed 30 Test1234
2 Bob 20 Test123
3 Cristina 18 Test12
sqlite> update tbl_User set AGE=19 where ID=3;
sqlite> select * from tbl_User ;
ID NAME AGE PWD
---------- ---------- ---------- ----------
1 Ahmed 30 Test1234
2 Bob 20 Test123
3 Cristina 19 Test12
7、 delete语句
sqlite> delete from tbl_User where ID = 3;
sqlite> select * from tbl_User;
ID NAME AGE PWD
---------- ---------- ---------- ----------
1 Ahmed 30 Test1234
2 Bob 20 Test123
8、 导出数据库
为什么这里才想起来dump命令导出数据库呢?原因很简单,就是先用上面的命令给表里插入些数据,有点懒。
C:\sqlite\test>sqlite3 testDB.db .dump>testDB.sql
那么这里面的数据是个什么样子的呢,如下所示:
C:\sqlite\test>more testDB.sql
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE tbl_User(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT
NULL,PWD CHAR(50) NOT NULL);
INSERT INTO tbl_User VALUES(1,'Test1234');
INSERT INTO tbl_User VALUES(2,'Test123');
CREATE TABLE tbl_Group(ID INT NOT NULL,USERID INT NOT NULL,DE
SC TEXT);
COMMIT;