sqlite数据库学习1

一.简介:

      SQLite,是一款轻型的数据库,是关系型数据库管理系统。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/ Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。

二.SQLite 的优点 

基于文件: 
        整个数据库都包含在磁盘上的一个文件中,因此它有很好的迁移性。
标准化: 
     尽管它看起来像个“简化版”的数据库,SQLite 确实支持 SQL。它略去了一些功能(RIGHT OUTER JOIN 和 FOR EACH STATEMENT),但是,又同时增加了一些其他功能。 
对开发乃至测试都很棒: 
    在绝大多数应用的开发阶段中,大部分人都非常需要解决方案能有并发的灵活性。SQLite 含有丰富功能基础,所能提供的超乎开发所需,并且简洁到只需一个文件和一个 C 链接库。 

三.SQLite的缺点 

没有用户管理: 
   高级数据库都能支持用户系统,例如,能管理数据库连接对数据库和表的访问权限。但由于 SQLite 产生的目的和本身性质(没有多用户并发的高层设计),它没有这个功能。

缺乏额外优化性能的灵活性:
   仍然是从设计之初,SQLite 就不支持使用各种技巧来进行额外的性能优化。这个库容易配置,容易使用。既然它并不复杂,理论上就无法让它比现在更快,其实现在它已经很快了。 

四.sqlite数据库的操作命令

1,创建数据库
$sqlite3 DatabaseName.db

上面的命令将在当前目录下创建一个文件 testDB.db。该文件将被 SQLite 引擎用作数据库。如果您已经注意到 sqlite3 命令在成功创建数据库文件之后,将提供一个 sqlite> 提示符。

2,查看数据库
sqlite>.databases
seq  name             file
---  ---------------  ----------------------
0    main             /home/sqlite/testDB.db

3,退出数据库  .quit 或者.q
sqlite>.quit
$


4,创建表

   CREATE TABLE 语句的基本语法如下:
   CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

5,删除表 
DROP TABLE database_name.table_name;

6,查看表是否存在以及表的结构 
  显示表                        .tables
  显示 CREATE 语句    .schema database_name.table_name


7,插入内容到表中
INSERT INTO 语句有两种基本语法,如下所示:

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

在这里,column1, column2,...columnN 是要插入数据的表中的列的名称。
如果要为表中的所有列添加值,您也可以不需要在 SQLite 查询中指定列名称。但要确保值的顺序与列在表中的顺序一致。
SQLite 的 INSERT INTO 语法如下:

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

8,查找表中的内容
SELECT column1, column2, columnN FROM table_name;
SELECT * FROM table_name;
SELECT column1 FROM table_name where  column2 ='xxx';
SELECT FROM table_name order by column  ASC/DESC; 正/逆序


9,更新表中的内容

SQLite 的 UPDATE 查询用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。
UPDATE table_name SET column1 = value1  WHERE [condition];

10,删除表中的内容
SQLite 的 DELETE 查询用于删除表中已有的记录。可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。
  DELETE FROM table_name WHERE [condition];


11,导出导入完整的数据库
.dump 命令
您可以在命令提示符中使用 SQLite .dump 点命令来导出完整的数据库在一个文本文件中,如下所示:
$sqlite3  testDB.db  .dump > testDB.sql

上面的命令将转换整个 testDB.db 数据库的内容到 SQLite 的语句中,并将其转储到 ASCII 文本文件 testDB.sql 中。您可以通过简单的方式从生成的 testDB.sql 恢复,如下所示:
$sqlite3 testDB.db < testDB.sql



实用命令:
.help                                        帮助
.show                                      显示各种设置的当前值
.header(s) ON|OFF         开启或关闭头部显示
.mode column                        设置输出模式
.backup    main  /tmp/*.bak   备份数据库并保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值