1.写在前面的话
最近一直在复习基础,发现自己工作这么就竟然没写过数据库的东西。然后一想好像似乎以前学的数据库几乎全都忘记了。于是抽空复习一下,把这些基础的东西捡起来。其实这也是很多人工作以后容易发生的问题,发现很多东西在工作以后不怎么用就渐渐淡忘了,但是这些东西确实是很重要很基础的东西,作为一个开发人员是不应该就这么丢掉的,毕竟你也不知道哪一天又需要用到。所以我们平时还是需要慢慢的积累,我也会把复习过程记录下来。接下来进入主题,关于Sqlite我就不介绍了,Android开发的同学都知道,sqlite是Android中内置的数据库,重要的一种数据存储方式。
2.Sqlite命令
cmd | description |
---|---|
create | 创建表、视图,或者数据库中其他对象 |
alert | 修改数据库中的某个已有的数据库对象,比如一个表。 |
drop | 删除整个表,或者表的视图,或者数据库中的其他对象。 |
(DDL)数据定义语言:
cmd | description |
---|---|
create | 创建表、视图,或者数据库中其他对象 |
alert | 修改数据库中的某个已有的数据库对象,比如一个表。 |
drop | 删除整个表,或者表的视图,或者数据库中的其他对象。 |
cmd | description |
---|---|
insert | 创建一条记录 |
delete | 删除一条记录 |
update | 修改一条记录 |
(DML)数据操作语言:
cmd | description |
---|---|
insert | 创建一条记录 |
delete | 删除一条记录 |
update | 修改一条记录 |
cmd | description |
---|---|
select | 从一张或多张表中检索某些记录 |
(DQL)数据查询语言:
cmd | description |
---|---|
select | 从一张或多张表中检索某些记录 |
3.基本操作
(1)创建数据库:
sqlite3 test.db
(2)创建表:
CREATE TABLE 语句用于创建数据库中的表。
CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);
下面的例子中创建了一个person的表用来表示一个人的个人信息
(3)删除表
DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除)
DROP TABLE database_name.table_name;
(4)修改表
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
如需在表中添加列,请使用下列语法:
ALTER TABLE table_name
ADD column_name datatype
修改的表的名称,请是使用如下语法:
ALTER TABLE database_name.table_name RENAME TO new_table_name;
(5)Insert语句
SQLite的INSERT INTO语句用于向数据库的某个表中添加新的数据行。
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);
如果要为表中的所有列添加值,您也可以不需要在SQLite查询中指定列名称。但要确保值的顺序与列在表中的顺序
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
也可以通过在一个有一组字段的表上使用select语句填充数据到另一个表中(使用一个表来填充另一个表)。下面是
INSERT INTO first_table_name [(column1, column2, ...columnN)] SELECT column1, column2, ...columnN FROM second_table_name [WHERE condition];
(6)Delete语句
SQLite的DELETE查询用于删除表中已有的记录。可以使用带有WHERE子句的DELETE查询来删除选定行,否则所有的记录都会被删除。
语法:
DELETE FROM table_name WHERE [condition];
(6)Select语句
SELECT column1, column2, columnN FROM table_name;
如果您想获取所有可用的字段,那么可以使用下面的语法:
SELECT * FROM table_name;
(7)Update语句
SQLite的UPDATE查询用于修改表中已有的记录。可以使用带有WHERE子句的UPDATE查询来更新选定行,否则所有的行都会被更新。
语法:
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
(8)备份和恢复
备份数据使用.dump进行备份,语法如下:
sqlite3 db_name .dump > file
恢复数据库使用.read,具体操作如下:
1.创建一个新的数据库sqlite3 new.db
- .read file
(8)导出数据
从数据库中导出数据,需要如下操作:
1.使用.output把输出定向到文件.output file
2.使用select语句确定要导出的内容
3.将输出重定向回屏幕.output stdout
(9)导入数据
导入数据到表中,需要如下操作:
1.指定分隔符.separator ""
2.导入文件内容到表中.import file table_name
关于Sqlite的基本操作大概就这么多吧,当然还有其他的高级用法,本文就不继续了。本文参考资料http://www.codeceo.com/article/sqlite-learning-03.html、http://www.yiibai.com/sqlite/sqlite_overview.html,对Sqlite进行了深入和详细的介绍,大家可以自行查看。