计算机网络:数据库(sqlite3)
一、常用的数据库
ORACLE(大型)、Mysal(开源常用)、SQL server、Access、Sybse、Windows NT
二、sqlite3
(一)特性:
<1>零配置,无需安装和配置
<2>储存在单一磁盘文件中的一个完整的数据库
<3>数据库文件可以在不同字节顺序的机器间自由共享
<4>支持数据库大小之2TB
<5>足够小,全部源代码大致3万行C代码,250KB
<6>比目前流行的大多数数据库对数据的操作要快
(二)基础命令
1. .help ---查看 sqlite3的支持的相关命令
.quit ---退出sqlite3 软件
.databases --- 查看当前关联的数据库文件 是哪个?
2.增
创建表:create table <表名> (字段1 数据类型,字段2,.....);
create table user (name,sex,age,tel);
命令: sqlite3> .tables //查看数据库中表有哪些
sqlite3> .schema //查看表的结构
PRIMARY KEY //主键 ---- 唯一来区分一个数据
插入:insert into 表名 values ("tom","male",19,99.5);
insert into stu (name,sex) values ("jack","male");
时间列:CREATE TABLE user1(id int,name char,age int,dt datetime);
insert into user1 values (2,'张三',23,datetime('now','+8 hours'));
自动增长列: asc -- 升序 desc -- 降序
create table user5 (id INTEGER PRIMARY KEY ASC,name char, age int);
PRIMARY KEY //主键
ASC //自动增长的顺序
//int 需要写成 INTEGER 才能实现自动增长
create table user4 (id int PRIMARY KEY ASC,name char, age int);
3.删
删除记录:delete from 表名 where 条件;
删除表:drop table 表名称;
条件语句:where 列名 操作符 列值
update stu set sno=110 where name="tom";
4.改
添加字段:alter table 表名 add 列名 alter table stu add sno;
修改表中的数据:update 表名 set 列1=值1 [, 列2 = 值2, ...] [匹配条件];
5.查
select 列名1,列名2,... from 表名;
select * from stu; //表示查看 stu表中所有列的信息
sqlite3 命令:
.headers on //打开表头
.mode column //指定查询的输出格式 以列对齐的方式
查询:
1.查询部分字段
select name from stu where score>80;
2.in语句
select * from stu where age in(18,19);
3.and语句 //多个条件
select * from stu where age > 18 and score > 80;
4.or语句
select * from stu where age > 18 or score > 80;
5. 范围 between ... and ...
select * from stu where age between 19 and 20;
6. like
select * from stu where name like "tom";
select * from stu where name like "%tom%"; //% 表示匹配任意多个字符
select * from stu where name like "_tom_"; //_ 表示匹配任意一个字符
7. order by
select * from user where age >= 18 order by age;
select * from user where age >= 18 order by age limit 2;
三、sqlite编程
(一)打开:sqlite3_open
(二)读写:sqlite3_exec
(三)关闭: sqlite3_close