sqlite3数据库
(1)什么是sqlite3
SQLite是一款轻型的数据库,是遵守ACID的关系式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
(2)在linux系统下sqlite3的安装
直接输入命令sqlite3,如果有版本号出现说明已经安装了数据库
具体安装以后再说
(3)sqlite3的启动
示例:
#sqlite3 mydb.db
说明:
打开数据库文件mydb.txt,数据库名默认为main。如果mydb.txt不存在,则新建文件
(4)sqlite3命令的使用
注意:SQLite3 命令以”.”号开始,而SQL操作语句以”;”结束
.databese 查看数据库
.tables 查看数据库表有哪些
.help 帮助
.quit 退出命令行
.schema[表名] 查看所有或单表的结构
.output[file|stdout] 将结果输出到文件或标准屏幕
(5)创建表
举个栗子: 打开.txt文件
CREATE TABLE stuInfo /*-创建学员信息表-*/
(
stuNo CHAR(6) primary key, --学号,非空(必填)
stuName VARCHAR(20) NOT NULL , --姓名,非空(必填)
stuAge INT NOT NULL, --年龄,INT类型默认为4个字节
stuID NUMERIC(18,0), --身份证号
stuSeat SMALLINT IDENTITY (1,1), --座位号,自动编号
stuAddress TEXT --住址,允许为空,即可选输入
) ;
(6)表操作
删除表DROP TABLE [IF EXISTS] [database-name.] table-name
改表结构:
ALTER TABLE [database-name .] table-name alteration
alteration ::=RENAME TO new-table-name
alteration ::=ADD [COLUMN] column-def
(7)数据简单操作
1.插入数据
INSERT INTO <表名> [(列名)] VALUES <值列表>
如: insert into tbl_usr values(1002,'lili','123456','2','1','技术部','ok');
2.更新数据
UPDATE <表名> SET <列名 = 更新值>
[WHERE <更新条件>]
如update tbl_usr set usr_id=1008 where usr_id=1007;
3.删除数据
DELETE FROM <表名> [WHERE <删除条件>]
delete from tbl_usr where usr_id=1008;
(8)数据简单查询
1.SELECT [*]|[列名]
FROM [表名][,表名]
WHERE [查询条件]
示例
select * from tab_student where stu_no=‘GN1003’
2.运算符
<>不等于 <小于 >大于 =等于 <=小于等于 >=大于等于 !非
如: select * from tbl_usr where usr_id<>1008;
3.通配符
‘—’一个字符 % 任意长度的字符串 []括号内所指定范围内的一个字符 [^]不在括号内所指定的一个字符
如select * from tbl_usr where usr_id like '_008';
4.逻辑表达式
and逻辑与 OR逻辑或 NOT逻辑非
5.其他
between... and...在什么之间
order by... 将查询后结果集重新排序 select * from t_student order by sno默认升序 后面加DESC就变降序
Distinct子句 将重复的行合并
select distinct ssex from t_student
select * from tablename limit X offset Y
Y:从查询结果集偏移量Y开始显示
X:限制显示的记录数
6.外链接
举个栗子:
select A.sno, A.sname, B.cscore
from t_student A left outer join t_score B
on A.sno = B.sno;
7.自连接
举个栗子:
select a.eid,a.ename,a.epid,b.ename,b.eage
from employee a left outer join employee b
on a.epid = b.eid
小技巧:
更简便的方法来编辑sqlite3里的数据:
1.创建一个filename.sql文件,直接用普通文本工具就可以编辑,直接在里面输入数据
如:
--用户表 ‘--’用来注释
drop table if exists tbl_usr; --记得加入这句
create table tbl_usr(
usr_id numeric(6) primary key,
usr_name varchar(10) NOT NULL,
usr_psw varchar(6),
usr_type char(1),
usr_state char(1),
usr_department varchar(20),
usr_re varchar(100));
2.打开.db 文件sqlite3 filename.db
3. 执行.read filename.sql
就可以将数据导入filename.db文件中
(1)什么是sqlite3
SQLite是一款轻型的数据库,是遵守ACID的关系式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
(2)在linux系统下sqlite3的安装
直接输入命令sqlite3,如果有版本号出现说明已经安装了数据库
具体安装以后再说
(3)sqlite3的启动
示例:
#sqlite3 mydb.db
说明:
打开数据库文件mydb.txt,数据库名默认为main。如果mydb.txt不存在,则新建文件
(4)sqlite3命令的使用
注意:SQLite3 命令以”.”号开始,而SQL操作语句以”;”结束
.databese 查看数据库
.tables 查看数据库表有哪些
.help 帮助
.quit 退出命令行
.schema[表名] 查看所有或单表的结构
.output[file|stdout] 将结果输出到文件或标准屏幕
(5)创建表
举个栗子: 打开.txt文件
CREATE TABLE stuInfo /*-创建学员信息表-*/
(
stuNo CHAR(6) primary key, --学号,非空(必填)
stuName VARCHAR(20) NOT NULL , --姓名,非空(必填)
stuAge INT NOT NULL, --年龄,INT类型默认为4个字节
stuID NUMERIC(18,0), --身份证号
stuSeat SMALLINT IDENTITY (1,1), --座位号,自动编号
stuAddress TEXT --住址,允许为空,即可选输入
) ;
(6)表操作
删除表DROP TABLE [IF EXISTS] [database-name.] table-name
改表结构:
ALTER TABLE [database-name .] table-name alteration
alteration ::=RENAME TO new-table-name
alteration ::=ADD [COLUMN] column-def
(7)数据简单操作
1.插入数据
INSERT INTO <表名> [(列名)] VALUES <值列表>
如: insert into tbl_usr values(1002,'lili','123456','2','1','技术部','ok');
2.更新数据
UPDATE <表名> SET <列名 = 更新值>
[WHERE <更新条件>]
如update tbl_usr set usr_id=1008 where usr_id=1007;
3.删除数据
DELETE FROM <表名> [WHERE <删除条件>]
delete from tbl_usr where usr_id=1008;
(8)数据简单查询
1.SELECT [*]|[列名]
FROM [表名][,表名]
WHERE [查询条件]
示例
select * from tab_student where stu_no=‘GN1003’
2.运算符
<>不等于 <小于 >大于 =等于 <=小于等于 >=大于等于 !非
如: select * from tbl_usr where usr_id<>1008;
3.通配符
‘—’一个字符 % 任意长度的字符串 []括号内所指定范围内的一个字符 [^]不在括号内所指定的一个字符
如select * from tbl_usr where usr_id like '_008';
4.逻辑表达式
and逻辑与 OR逻辑或 NOT逻辑非
5.其他
between... and...在什么之间
order by... 将查询后结果集重新排序 select * from t_student order by sno默认升序 后面加DESC就变降序
Distinct子句 将重复的行合并
select distinct ssex from t_student
select * from tablename limit X offset Y
Y:从查询结果集偏移量Y开始显示
X:限制显示的记录数
6.外链接
举个栗子:
select A.sno, A.sname, B.cscore
from t_student A left outer join t_score B
on A.sno = B.sno;
7.自连接
举个栗子:
select a.eid,a.ename,a.epid,b.ename,b.eage
from employee a left outer join employee b
on a.epid = b.eid
小技巧:
更简便的方法来编辑sqlite3里的数据:
1.创建一个filename.sql文件,直接用普通文本工具就可以编辑,直接在里面输入数据
如:
--用户表 ‘--’用来注释
drop table if exists tbl_usr; --记得加入这句
create table tbl_usr(
usr_id numeric(6) primary key,
usr_name varchar(10) NOT NULL,
usr_psw varchar(6),
usr_type char(1),
usr_state char(1),
usr_department varchar(20),
usr_re varchar(100));
2.打开.db 文件sqlite3 filename.db
3. 执行.read filename.sql
就可以将数据导入filename.db文件中