首页 > 代码库 > sqlite3 常用命令与 SQL 基本语句

sqlite3 常用命令与 SQL 基本语句

sqlite3


数据库的创建与删除:


$ sqlite3 stu.db

    sqlite3 是小型的数据库,所以直接以单个文件作为一个数据库,在命令行中加入的参数是将要打开并操作的数据库,"stu.db" 是数据库的文件名。如果没有此文件,则创建此文件用来保存将要操作的数据。如果没有参数则不打开任何数据库。因为 sqlite3 以单个文件存储数据库所以,直接删除此文件,数据库就不存在了。


sqlite3常用命令:


sqlite> .help
sqlite> .quit
sqlite> .exit
sqlite> .save
sqlite> .open

    数据库打开后,命令提示符变成了 "sqlite>"。sqlite3 的命令以点开头,如上最基本的几个命令,数据库的打开、保存、退出、帮助。其中 ".open" ".save" 可以带参数,参数是将要打开或保存的数据库即文件名。".help" 可以列出所有的命令。".quit" ".save" 退出数据库。


sqlite> .database
sqlite> .table
sqlite> .schema student

    ".database" 可以查看当前数据库名,即文件的全路径名。".table" 可以查看当前数据库的所有关系表。".schema" 是查看关系表的结构,即由哪些字段组成的,其中 "student" 是表名。   


关系表的创建与删除:


sqlite> create table student(id int, name text, score int);

    "create table" 是关键词,"student" 是表名,"id" "name" "score" 是段名,"int" "text" "int" 是对应段的数据类型。"create table" 是 SQL 标准语句,不是 sqlite 的内置命令所以不用加点,但每句 SQL 语句必须以分号结尾,每个字段以逗号分隔,用括号将所有字段包括进来。

    sqlite 常见的数据类型,int text date time,类型后面也可以跟位数,但基本无用处。

int integer smallint tinyint整数
decimal numeric
实数
char varchar text 字符串
date time日期时间


sqlite> drop table student;

    "drop table" 关键词用来删除关系表,"student" 是表名。


记录的插入与删除:


sqlite> insert into student values(10, ‘james‘, 99);

    "insert into" 是关键字,"student" 是表名,"values" 后面依次填写各个字段的值。


sqlite> insert into student(id, name) values(10, ‘james‘);

    如果不是所有字段都有数据,在表名的后面加上字段名,在 "values" 后面依次填写对应字段的值。


sqlite> delete from student where id=1;

    "delete from" 是关键字,"student" 是表名,"where" 是关键字,后面跟着是的条件,此语句是删除 "id" 值是 "1" 的记录。

    常用的判断运算符,如下表

"="等于
"<>"不等于

"<"

小于
">"大于
">="大于或等于
"<="小于或等于

    "where" 后面跟着的判断语句也可以有多个,以逗号分隔,是与的关系,同时满足的条件。


记录的查找与修改:


sqlite> select id, name from student;

    "select" 是关键字,"id" "name" 是字段名,"from" 是关键字,"student" 是表名,此语句是将表 "student" 中的 "id" "name" 两列全显示出来。


sqlite> select * from student;

    "*" 代表所有列,此语句是将 "student" 表中所有列全显示出来。


sqlite> select * from student where name="james";

    "select" 关键字可以和 "where" 关键字搭配,从表中筛选出指定条件的的记录。此语句打印出字段 "name" 的值是 "james" 的记录的所有字段。


sqlite> select * from student order by id;

    "order by" 关键字是将筛选出的记录进行排序,后面跟着排序的方式,此语句从 "student" 表中查找出所有记录,显示出所有列,并以 "id" 字段进行排序。


sqlite> update student set name="luck" where id=1;

    "update" 是关键字,"student" 是表名,"set" 关键字后跟着要修改的字段,如果没有筛选条件则将所有记录的 "name" 字段值置为 "luck"。

sqlite3 常用命令与 SQL 基本语句