加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite入门

发布时间:2020-12-12 19:28:09 所属栏目:百科 来源:网络整理
导读:SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。 可以到网上下载sqlite的dll和exe。 解压后我们可以得到 可以将sqlite3添加到path中,
WHERE SALARY GLOB ‘200*’ 查找以 200 开头的任意值 WHERE SALARY GLOB ‘200’ 查找任意位置包含 200 的任意值 WHERE SALARY GLOB ‘?00*’ 查找第二位和第三位为 00 的任意值 WHERE SALARY GLOB ‘2??’ 查找以 2 开头,且长度至少为 3 个字符的任意值 WHERE SALARY GLOB ‘*2’ 查找以 2 结尾的任意值 WHERE SALARY GLOB ‘?2*3’ 查找第二位为 2,且以 3 结尾的任意值 WHERE SALARY GLOB ‘2???3’ 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

所以我们可以

SELECT NAME ADDRESS FROM COMPANY WHERE NAME GLOB '*l' AND ADDRESS GLOB 'C*';

还有我们可能需要按照薪水的高低进行排序,此时有排序语句

SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1,.. columnN] [ASC | DESC];

比如这里按照薪水进行升序排序

SELECT * FROM COMPANY ORDER BY SALARY ASC;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。
可以到网上下载sqlite的dll和exe。
解压后我们可以得到

可以将sqlite3添加到path中,这样就可以直接在CMD中运行。

下面开始学习一些语法。有个重要的点值得注意,SQLite 是不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB 和 glob 在 SQLite 的语句中有不同的含义。

首先创建一个数据库

sqlite3 DatabaseName.db

这里创建一个测试的数据库test.db

sqlite3 test.db


查看是否创建好了

.databases


接着我们在这个数据库中创建一个表

CREATE TABLE database_name.table_name( column1 datatype PRIMARY KEY(one or more columns),column2 datatype,column3 datatype,..... columnN datatype,);

这里需要输入很多内容,如果在命令行中输入很容易输入错误。我们可以建立一个test.sql文件,在这个文件中输入命令,然后将命令读入。注意将test.sql与test.db放在一起.test.sql内容为

CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL );
CREATE TABLE DEPARTMENT( ID INT PRIMARY KEY NOT NULL,DEPT CHAR(50) NOT NULL,EMP_ID INT NOT NULL );

接着我们用.read读取

.read test.sql


用.tables命令来查看是否成功创建这两个表

可以用 .schema来查看表的结构。

表已经创建完成,接着就可以插入数据了。

INSERT INTO TABLE_NAME (column1,column2,column3,...columnN)] VALUES (value1,value2,value3,...valueN);

INSERT INTO TABLE_NAME VALUES (value1,...valueN);

插入语句很多也直接放在sql文件中

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1,'Paul',32,'California',20000.00 );

INSERT INTO COMPANY (ID,SALARY) VALUES (2,'Allen',25,'Texas',15000.00 );

INSERT INTO COMPANY (ID,SALARY) VALUES (3,'Teddy',23,'Norway',SALARY) VALUES (4,'Mark','Rich-Mond ',65000.00 );

INSERT INTO COMPANY (ID,SALARY) VALUES (5,'David',27,85000.00 );

INSERT INTO COMPANY VALUES (6,'Kim',22,'South-Hall',45000.00 );

INSERT INTO COMPANY VALUES (7,'James',24,'Houston',10000.00 );

如果某条记录多插入了,比如第七条,此时我们需要删除这条记录

DELETE FROM table_name WHERE [condition];

这里就可以

DELETE FROM COMPANY WHERE ID = 7;

然后.read test.sql,这个时候表内就导入了数据。如果我们想要删除一个表

DROP TABLE database_name.table_name;

我们可以先用.tables来查看数据库中有哪些表,然后DROP TABLE table_name;就可以了。

好了接着来看如何查看表中的数据。使用的SELECT 语句。

SELECT column1,columnN FROM table_name;

columnN就是表中的字段,用*可以返回所有的字段,例如这里

SELECT * FROM COMPANY


输入语句后没有输入结束语句的标识符;,这时就会显示…>让我们接着输入,这里可以直接输入;来结束。
这里可以看到将所有插入的数据所有字段全都返回显示出来,但是都紧挨在一起很不好看,这里我们可以设置mode。首先

.show


查看一下所有的默认配置,我们发现headers是off,这里headers就是字段的名称。mode是list,我们设置成column,width没有设置,我们可以设置也可以不设置。这里格式化为

.headers on
.mode column

然后输入select查询一下

接着是WHERE语句,WHERE相当于if,当数据符合某些条件时就按照select显示出来

SELECT column1,columnN FROM table_name WHERE [condition]

比如这里选择出年纪大于25薪水大于60000的

SELECT * FROM COMPANY WHERE AGE > 25 AND SALARY > 60000;

有时候某个数据的字段我们赋值出错了,想要修改,这时就可以用UPDATE 语句。

UPDATE table_name SET column1 = value1,column2 = value2....,columnN = valueN WHERE [condition];

比如我们需要修改Paul的薪水为80000,地址是中国

UPDATE COMPANY SET ADDRESS = 'China',SALARY=80000 WHERE ID = 1;


我们看到此时已经更正过来了。

有时候我们需要查找某些特定的信息,比如地址是以C开头的,名字是以l结尾的记录,此时就需要匹配,这里可以用Like和GLOB,只介绍GLOB语句

星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用。
例如

语句 描述
    推荐文章
      热点阅读