sqlite3的SQL命令使用与实例

SQLite是一个实现一个自包含,无服务,零配置,事务SQL数据库引擎的轻量级SQL数据库。 除了一些命令的SQLite使用了类似MySQL,Oracle的命令语法。本文将帮助如何使用命令行操作SQLite数据库。
1.创建SQLite数据库
SQLite的提供了一个简单命令来创建数据库。使用下面的命令来创建一个SQLite数据库。
# sqlite3 youcl.db
基本上,SQLite数据库是在你的工作目录中创建一个文件。
# ls -l youcl.db
-rw-r--r--. 1 root root 3072 May 11 14:32 youcl.db
2.在SQLite数据库表
在创建数据库之后,让我们创建表。使用以下查询来创建数据库youcl.db两个表(用户,文章)。
# sqlite3 youcl.db
sqlite> create table users(uid integer,uname varchar(60),category varchar(50));
sqlite> create table posts(postid integer,postname varchar(50),content varchar(1000));
sqlite> create table tmp(id integer,tname varchar(50);
sqlite> .quit
3.查看和删除SQLite表
列出在SQLite数据库表名使用下面的命令。
sqlite> .tables
posts  tmp    users
有些时候,如果你需要删除表,使用下面的命令。 #drop table <tablename>; #drop table if exists <tablename>;
# drop table tmp;
# drop table if exists tmp;
4.在数据表里插入数据
以下SQLite命令用于SQLite数据库插入数据。
sqlite> INSERT INTO posts VALUES(1, 'Post 1','this is demo post 1');
sqlite> INSERT INTO posts VALUES(2, 'Post 2','this is demo post 2');
sqlite> INSERT INTO users VALUES(1,'Harry','staff');
sqlite> INSERT INTO users VALUES(2,'Rahul','Admin');
您也可以执行的命令放入文件中来执行。
# vi data.sql
INSERT INTO posts VALUES(10, 'Sample Post 10','this is sample post 10');
INSERT INTO posts VALUES(11, 'Sample Post 11','this is sample post 11');
INSERT INTO users VALUES(10,'Sarah','Support');
INSERT INTO users VALUES(11,'Nick','Sales');
下面的命令是导入data.sql文件中的所有命令并执行到数据库youcl.db里。
# sqlite3 youcl.db < data.sql
5.从表中查询获取数据
在SQLite数据库如下面的例子从表中查看数据使用SELECT命令。
sqlite> SELECT * FROM users;
1|Harry|staff
2|Rahul|Admin
10|Sarah|Support
11|Nick|Sales

sqlite> SELECT * FROM posts;
1|Post 1|this is demo post 1
2|Post 2|this is demo post 2
10|Sample Post 10|this is sample post 10
11|Sample Post 11|this is sample post 11

sqlite> SELECT * FROM posts WHERE postid = 1;
1|Post 1|this is demo post 1
6.改变输出格式
在sqlite3的显示查询的八个不同格式的结果:"csv", "column", "html", "insert", "line", "list", "tabs", 和 "tcl"。使用“.mode”命令可以改变输出格式。默认输出模式是“list”。
sqlite> .mode line
sqlite> select * from users;
     uid = 1
   uname = Harry
category = staff

     uid = 2
   uname = Rahul
category = Admin
sqlite> .mode column
sqlite> select * from users;
1           Harry       staff
2           Rahul       Admin
10          Sarah       Support
11          Nick        Sales
7.转换SQLite数据库到ASCII文本文件
你可以简单地导出SQLite数据库,使用.dump“命令导出纯文本文件。使用下面的命令。
# sqlite3 youcl.db '.dump' > backup.dump
从ASCII文件backup.dump中恢复数据库, SQLite数据库只需键入:
# cat backup.dump | sqlite3 youcl-1.db
参考文献: http://www.sqlite.org/sqlite.html
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏