sqlite数据库及常用命令

来源:互联网 发布:软件资质 公司 编辑:程序博客网 时间:2024/05/16 08:49

嵌入式数据库

一.数据库综述

数据库(DataBase,简记为DB)就是一个有结构的集成的可共享的统一管理的数据集合。它不仅包括数据本身,而且包括相关数据之间的联系。数据库技术主要研究如何存储、使用和管理数据;

* 有结构的,指的是数据是按一定的模型组织起来的。

*  集成的指的是数据库中集中存放着企业各种各样的数据,集中存放的好处是:一个数据只需一个备份,重复存储少,即消除了数据的冗余。

*  可共享是指数据库中的数据可以被不同的用户使用。

*  统一管理的,指的是数据库由DBMS统一管理,任何数据访问都是通过DBMS来完成的。

 

数据库特点:

数据结构化

*共享性高,冗余度低,易扩充

*数据独立性高

*数据有DBMS统一管理和控制

 

数据模型的组成要素:数据结构、 数据操作及数据的完整性约束

数据模型:层次型 网状 关系 面向对象

 

二.数据库系统简述

1.数据库系统的三级模式


外模式(子模式或用户模式):数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式一般是模式的子集。一个模式可以有多个外模式。一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施

*  模式(逻辑模式或概念模式):数据库中全体数据的逻辑结构和特征的描述,一个数据库只有一个模式。

*  内模式(存储模式):数据库在物理存储器上具体实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和存储方式的描述。一个数据库只有一个内模式


2.关系术语及定义:   关系:一个关系就是一张二维表 元组:表中的行称为元组

属性:关系中的一列称为一个属性  域:属性的取值范围

 

4.关系的候选键与主键

候选键:表中某一列(或若干列的最小组合)的值能惟一标识一个行,称该列或列组为候选键。(候选键取决于应用范围,如没有重复的学生姓名,则姓名是学生基本情况表的一个候选键)

主键:候选键其中之一作为区分行的惟一性标识符,称为主键(

外键:若一个表R1中的一个列或列组对应另一个表R2的主键,那么该列或列组称为表R1的外键

 

三、sqlite3数据库命令

1、创建数据库:数据库的文件格式 .db文件

① 创建库 :sqlite3 DB.db

② 创建关系:sqlite> create  [TEMP]  table   table_name (column_definitions  [constraints]);

其中table_name为关系名,column_definitions为各个属性

例如:create  table  test(id integer primary key,value text);创建了一个test关系,属性为id号(主键)和value值,为一字符串类型,但用' str '而不用“str”,这与C语言有些区别.


2、插入数据

格式:INSERT  INTO  table_name  {   [ ( column_list ) ]   { VALUES ( {  expression } [ ,...n] )  }  }

*table_name:将要接收数据的表或 table 变量的名称。
* (column_list):要在其中插入数据的一列或多列的列表。必须用圆括号将column_list括起来,并且用逗号进行分隔。
*VALUES:引入要插入的数据值的列表。对于column_list(如果已指定)中或者表中的每个列,都必须有一个数据值。必须用圆括号将值列表括起来。如果 VALUES 列表中的值与表中列的顺序不相同,或者未包含表中所有列的值,那么必须使用column_list明确地指定存储每个传入值的列。 

例如:insert  into  test (id,value)  values(2,'xiaoming');


3、查询数据

格式:select  <目标列名序列>   from   <表名序列>    where  <查询条件>   

(1)查询指定列

SELECT  Sno,Sname   FROM Student

例如:以上面为例,在test表中查询'xiaoming'的value值

    select  value  from  test  where value='xiaoming';

(2)查询全部列

  SELECT * FROM Student

 例如: select  * from  test  where value='xiaoming';


(3)有条件的查询(比如说性别女的信息或者年龄小于17)

  SELECT Sname FROM Student WHERE Sdept=’CS’

  例如: select  value  from  test  where id<=6;

(4)有范围的查询

    BETWEEN … AND …      包括临界值

   NOT BETWEEN… AND …不包括临界值

   BETWEEN后是范围的下限(低值)

   AND后是范围的上限(高值)

   查找属性值在或不在指定范围内的元组

例:

SELECT Sname, Sdept, Sage FROM Student WHERE Sage >=20 AND Sage<=23

SELECT Sname, Sdept, Sage FROM Student WHERE Sage <20 OR Sage>23

 

5)字符匹配

一般形式为: 列名 [NOT ] LIKE 匹配串

作用:查找指定列名与匹配串常量匹配的元组。

 

%(百分号):匹配0个或多个字符。

    _(下划线):匹配一个字符。

  [ ]:匹配括号中的字符

  [∧ ]:不匹配括号中的字符


4、删除数据

Delete From <表名>[Where <条件>]

例如: 删除id为2的所有记录

Delete From  test  Where id=2;


5、修改数据

格式:Update <表名> Set  <列名>=<表达式>[{, <列名>=<表达式>}] Set  列名 表达式 [{,  列名 表达式 }]  [Where <条件>]

例如:修改value为'xiaoming'的id为4

update test set id=4 where value='xiaoming';


6、退出:

sqlite> .exit





            

                                                                              

0 0
原创粉丝点击