#SQLite基础学习
以前学习接触过数据库,但没做什么总结,加上许久没有加以学习,知识丢了很多。现在又重新捡起数据库的学习,而且刚开始用SQLite,在此作一些个人总结。
##一. SQLite简述
###1. 什么是SQLite
SQLite是一款轻型的数据库,它的占用内存最低只需要几百k就可以运行,同时它的运行速度较快,效率高,支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby等。
2. SQLite的安装配置
SQLite下载:http://www.sqlite.org/download.html
SQLitem的下载及环境配置并不复杂,但在此作为整体总结,还是简略作一些说明。
(1) 访问 SQLite 官网,从 Windows 区下载预编译的二进制文件【sqlite-dll-】和【sqlite-tools-】。
(2)解压后得到【sqlite3.def】【sqlite3.dll】文件还有【sqlite3.exe】 【sqlite3_analyzer.exe】 【sqldiff.exe】
(3)环境变量配置:【计算机属性】——【高级系统设置】——【环境变量……】——【将sqlite3.exe所在文件夹路径加入path】
(4)打开cmd命令窗,直接输入sqlite3,显示如下则配置成功:
二 .SQL基本语句
sql语言是一种对关系型数据库中的数据进行定义和操作的语言,对语言的学习是数据库学习的基础。此处自己一边学习一边整理了的一些sql基本语句。
1.创建表语句
create table <表名>(<列名><数据类型>[列级完整性约束条件],
<列名><数据类型>[列级完整性约束条件],
.........
[表级完整性约束条件]);
例如:create table student ( Sno char(5) not null unique,
Sname char(4) unique,
Ssex char(1),
Sage int,
Sdept char(15));
2.修改表语句
alert table <表名>
[add <新列名> <数据类型> [完整性约束]] //add: 用于向表中增加新列及新列相关的完整性约束条件,新的列增加成功后不带任何数据
[drop <完整性约束名>]//drop:用于删除指定的完整性约束条件
[modify <列名><数据类型>];//modify:用于修改原来的列定义,包括修改列名和数据类型,列数据类型修改后可能会丢失原有的数据
例:
alert table student add Scome date;
alert table student modify Sage smallint;
alert table student drop unique(Sname);
3.存储类型
NULL 值是空值
INTEGER 值是带符号的整型
REAL 值是浮点数
TEXT 值是文本字符串
BLOB 值是一个二进制类型
4.查询语句
注:select语句中所有使用的关键词必须精确的以下面的顺序给出,如果以降序排列,则在order by中加入关键字desc,升序则加入关键字asc,默认是升序
select [distinct | distinctRow | all]
列名[,列名][,....]
[into {outfile | dumpfile} '文件名' export_options]
[from 表名]
[where 查询条件]
[group by 列名[, ....]]
[having 条件定义]//having子名能引用任何列或在查询中命名的别名,它最后运用,就在项目被送到客户之前是,没有变化。需要注意,不要对应该在where子句中的项目使用having.
[order by {无符号整数|列名|公式}[asc | desc],...]
[limit [偏移量,] 行数]//limit子名被用来限制select返回的行数,如果给定1个参数,它指出返回行的最大数目;如果给定2个参数,第一个指定要返回的第一行的偏移量,第二个指定返回行的最大数目,初始行的偏移量是0
[procedure 过程名称]
例:
// 根据姓名和年龄查询表中的数据
select * from Student where name = '%@' and age = '%ld'
select * from Student 查询所有
//返回前6个记录
select * from table limit 6;
//返回第6到第15个记录
select * from table limit 5,10;
5.删除语句
注:数据删除指的是删除数据库中的一个记录,而不是删除某一列
delete from <表名> where <条件表达式>
例:
// 根据年龄删除表中的数据
delete from Student where age > '%ld'
6.插入语句
insert into <表名> [<列名>[,<列名>]....) values (value1, value2,...);
//如果表中的每一列均有数据插入,则可不用指定任何表名
例:
// 在创建的表中添加数据
insert into Stuent(name ,gender ,age , number) values('%@' ,'%@' , '%ld' , '%ld')
7.更新语句
update <表名> set <列名>=新值 where <条件表达式>
例:
// 按照姓名更新年龄
update lanOuPerson set age = '%ld' where name = '%@'
这里整理的都是SQL最基本的语句,还有很多没整理出来,后续会加以整理。
相关学习链接.
[1] SQL语句大全:
https://baike.baidu.com/
[2] SQLite教程:
http://www.runoob.com/sqlite/sqlite-tutorial.html