SQLite3介绍及SQL语句详解(SQLite一)
2023-04-18 16:13:19 时间
目录
一、SQLite3介绍
1.数据库存储数据
数据结构 数据仓库:
2.数据库数据类型
名称 | 数据长度 | 类型 |
---|---|---|
int | -2^31(-2,147,483,648) 到 2^31(2,147,483,647) | 整型数字 |
float | -1.79E+308到1.79E+308 | 可变精度的数字 |
real | -3.04E+38到3.04E+38 | 可变精度的数字 |
char | 最大长度为8000 | 定长非Unicode的字符型数据 |
varchar | 最大长度为8000 | 变长非Unicode的字符型数据 |
text | 最大长度为2^31-1(2G) | 变长非Unicode的字符型数据 |
3.window下qtcreator上编译sqlite3数据
在qt creator上创建c语言工程,并且在工程中添加数据代码
把数据代码拷贝到工程目录下在添加–把工程中的main.c里面的主函数名修改下main_test 避免冲突
如果是linux系统要在工程文件中添加 LIBS += -lpthread -ldl
二、SQL语句
数据通用语句 命令行语句结束要加;(分号)
以此为例:
varchar(256) | varchar(256) | text | char(32) |
---|---|---|---|
number(编号) | name(姓名) | address(地址) | |
20200101 | 张三 | 广州 | 911683830 |
20200102 | 李四 | 广州 | 911683831 |
1.创建数据表格
create table 表名( 字段名 数据类型 , 字段名 数据类型, 字段名 数据类型, 字段名 数据类型);
例:
create table student(number varchar(256), name varchar(256), address text, QQ char(32));
2.插入数据
insert into 表名 values('字段数据','字段数据','字段数据','字段数据' );
例:
insert into student values('20200101', '张三', '广州','911683830');
insert into student values('20200102', '李四', '广州','911683831');
3.查询数据
(1)查询
select 字段名...字段名 from 表名;
说明:字段名如果是多个可以用逗号隔开,如果是所有可以用星号*
例:
select * from student ;
select name, qq from student;
(2)条件查询
select 字段名...字段名 from 表名 where 条件;
例:
select * from student where address='广州';
select * from student where address like '广%';
条件里面的where address=‘广州’; 等于号表示必须一样, 如果是模糊查询address like ‘广%’;
(3)两个条件必须同时成立(与)-and
select 字段名...字段名 from 表名 where 条件 and 条件;
例:
select * from student where address like '广%' and QQ like '%1';
(4)两个条件只要成立一个(或)-or
select 字段名...字段名 from 表名 where 条件 or 条件;
例:
select * from student where address like '广%' or QQ like '%1';
4. 更新数据
update 表名 set 字段1=字段1值, 字段2=字段2值… where 条件表达式;
例:、
update student set qq='199999999999' where name='岳飞';
5. 删除数据
delete from 表名;//删除整个表数据,不会删除表格
delete from 表名 where 条件;
例:
delete from student where number='20200103';
6.查询创建表命令
.schema 表名
例:
.schema student
7.alter添加字段
alter table 表名 add column 字段 类型 (default '默认值');
例:
alter table student add column age int ;
alter table student add column sex varchar(8) default '男' ;
8.pragma 查询表结构信息
pragma table_info(表名);
例:
pragma table_info(student);
9.创建带约束数据表
创建表格的时候设置字段约束
PRIMARY KEY主键,NOT NULL不能为NULL,UNIQUE唯一,DEFAULT默认值,ID INTEGER PRIMARY KEY AUTOINCREMENT id自动增长
以此表格为例:
id | name | status | online |
---|---|---|---|
1 | led | 0 | 0 |
2 | led1 | 1 | 1 |
3 | led2 | 0 | 1 |
(1)创建数据表
create table device (id integer primary key autoincrement,
name varchar(256) unique ,
status int not NULL default 0,
online int not NULL);
创建时加入条件(表不存在是创建):
create table if not exists device(id integer primary key autoincrement,
name varchar(256) unique,
status int default 0,
online int not NULL);
(2)插入数据
insert into device values(0,'led',0,0);
当主键或不可重复的字段出现重复时,插入失败
insert into device values(0,'led',0,0);
Error: UNIQUE constraint failed: device.id
insert into device values(1,'led',0,0);
Error: UNIQUE constraint failed: device.name
指定字段(列)插入–>没有指定的就可以用默认值
insert into device(name, online) values('led2',0);
insert into device(name, online) values('led3',0);
10.删除表
drop table 表名
例:
drop table test;
相关文章
- .NET Core微服务系列基础文章索引(目录导航Draft版)
- 《T-SQL查询》读书笔记Part 3.索引的基本知识
- 设计模式的征途(C#实现)—文章目录索引
- 《智能时代》读书笔记:这是最好的时代,也是最坏的时代
- 《图解TCP/IP》读书笔记
- 借助 Lucene.Net 构建站内搜索引擎(下)
- 借助 Lucene.Net 构建站内搜索引擎(上)
- 操作系统核心原理-6.外存管理(上)磁盘基础
- pytorch中retain_graph==True的作用是什么
- MySQL六种约束是什么
- Pytorch中retain_graph的坑如何解决
- 用匹配的国家名称绑定数据帧
- 平均来自某些列的熊猫数据框
- 挖掘行并将它们添加到R中的空白数据框中
- 你必须知道的指针基础-2.指针的声明和使用及数组和指针的关系
- MySQL:在一个表上存在多个连接时计入NULL或0的值
- Hadoop学习笔记—15.HBase框架学习(基础知识篇)
- NoSQL初探之人人都爱Redis:(2)Redis API与常用数据类型简介
- NoSQL初探之人人都爱Redis:(1)Redis简介与简单安装
- 《大型网站技术架构》读书笔记三:大型网站核心架构要素