您的位置:首页 > 数据库

提高SQL查询性能的7个法宝

2012-04-09 16:55 309 查看
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"。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: