首页 > 代码库 > 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 基本语句