加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite3 学习总结

发布时间:2020-12-12 19:55:00 所属栏目:百科 来源:网络整理
导读:什么是 SQLite SQLite 是 一款轻型的嵌入式数据库 它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够 了 它的处理 速度比 Mysql 、 PostgreSQL 这两款著名的数据库 都还快 什么是数据库 数据库( Database )是按照数据结构来组织、存储和管
操作符描述=等于<>不等于>大于<小于>=大于等于<=小于等于BETWEEN在某个范围内LIKE搜索某种模式注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
select count (*) from person; 查询表里一共有多少条数据;
select * from person limit 2; 限制每次查询的列数(即 条数)为2条;


简单约束
建表时可以给特定的字段设置一些约束条件,常见的约束有
not null:规定字段的值不能为null
unique:规定字段的值必须唯一
default:指定字段的默认值
(建议:尽量给字段设定严格的约束,以保证数据的规范性)
示例
createtablet_student(idinteger,nametextnotnullunique,ageintegernotnulldefault1) ;
name字段不能为null,并且唯一
age字段不能为null,并且默认为1

外键约束:

利用外键约束可以用来建立表与表之间的联系
外键的一般情况是:一张表的某个字段,引用着另一张表的主键字段
新建一个外键
create tablet_student (idinteger primary keyautoincrement, name text,age integer,class_id integer,constraint fk_t_student_class_id_t_class_idforeign key(class_id) (id)) ;referencest_class
t_student表中有一个叫做fk_t_student_class_id_t_class_id的外键
这个外键的作用是用t_student表中的class_id字段引用t_class表的id字段

SQLite3 终端简单操作:

.save + sql文件名, 保存到文件。
.show 展现数据的状态
.shell + 终端命令, 可以查看当前位置, 文件等;
.mode 改变数据展现样式
.headers
.output 如果加个文件夹, 输出的内容到文件夹, 如果不加, 标准输出到屏幕;

TABLES 如果不指定表名, 则表示列出当前数据库里所有的表名, 如果指定了表名(可以使用通配符),则是列出当前数据库与指定的在模式匹配的表名。
schema 如果指定了表名,则可以列出创建此表的SQL语句, 如果不指定表名, 则会列出当前数据库所有表的表结构(以SQL语句形式列出)
read 后面跟文件名, 意思是读取文件里的SQL语句, 并执行。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

什么是 SQLite SQLite 一款轻型的嵌入式数据库 它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够 它的处理 速度比 Mysql PostgreSQL 这两款著名的数据库 都还快

什么是数据库 数据库( Database )是按照数据结构来组织、存储和管理数据的仓库 数据库可以分为 2 大种类 关系型数据库( 常用 对象型数据库

常用关系型数据库
PC 端: Oracle MySQL SQL Server Access DB2 Sybase 嵌入式 移动客户端 SQLite

数据库存储数据的步骤
新建一张表( table 添加多个字段( column ,列,属性) 添加多行记录( row ,每行存放多个字段对应的值)
关于SQL

在程序运行过程中,要想操作(增删改查,CRUD)数据库中的数据,必须使用SQL语句

DDL 数据定义语言

命令 描述
create 创建一个张新的表, 一个新的视图或者数据库里的其它对象
alter 修改数据库中的某个已有的数据库对象, 比如:可以修改一个表的结构
drop 删除整个表,删险视图,或者删除数据库中的其它数据库对象
DML 数据操作语言
命令 描述
insert 创建或者说是插入一条新的记录
update 修改表中的记录
delete 删除表中的记录
DQL 数据查询语言
命令 描术
select 从一个表或者是多个表中检索某些记录。

创建一张表:表名为Person
create table Person (id_P int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(50));
创建表的时候生成主键,并且主键值自动增加
create table t_person (id integer primary key auto increment,LastName archer,)

向表Person插入一条数据
INSERT INTO 表名称 VALUES (值1,值2,....)
INSERT INTO table_name (列1,列2,...) VALUES (值1,....)
insert into Person values (100,'Gates','Bill','xuanwumen 10','beijing');
insert into Person (LastName,Address) values (’xiaosan’,‘beijing’);

从表Person中查询数据
select * from Person; //从表Peson里查询所有字段的所有数据
select LastName,FirstName from Person ; //从表Peron里查义字段为LastName,FirsName的所有记录的数据。
select * from Person where LastName = 'Gates'; //根据指定的条件,从表Person里查询相对应的数据,where后面跟的就是条件。
排序
select LastName,FirstName from Person where age >= 18 order by age asc;//(order by)排序 sac表示升序 desc表示降序
select LastName,FirstName from Person where age >= 18 order by age asc, num asc; //先按照age排序, 如果num相同, 则按照num排序
limit 常用来做分页查询。
使用limit可以精确地控制查询结果的数量,格式
select * from 表名 limit 数值1, 数值2;
select *from person limit 4,8; 可以理解为, 跳过最前面的4条数据, 然后再取8条数据。

从表Person中删除行数据
delete from Person where LastName='san'; //指的是将表Peson里LastName等san的这一行数据删除。
delete from Person //删表Person中的所有数据
delete * from Person //在标准SQL语句也表示删除表Person的所有数据。 但是在**sqlite**里不能使用这个种语方法。

删除表格
drop table Person;//功能是删除整张表格

更新(更改)表Peson里的数据
update Person set Lastname='qingyun' where FirstName='Bill';//更新表Person FirstName='Bill' 这条数据的LastName为新值'qingyun'
update Person set LastName='henan',FirstName='zhengzhou' where id_P = 200; //按照条件,id_P=200,修改这条数据的两个字段值,FirstName改为zhengzhou,LastName 改为'henan'

在SQLite数据库里, 更新表结构
alter table Person add Age int; //更新Person表结构, 功能是添加新的一列
注意的是:标准SQL里可以使用alert关键字来达到删除一列, 修改列名和列类型的功能。但是在SQLite环境里, 是不支持。

条件语句:
where

下面的运算符可在 WHERE 子句中使用:
    推荐文章
      热点阅读