再学C的时候,我们使用txt文件的读写。C++的话可以使用数据库来对数据的保存和读取。这里我使用的SQLite(全名为:SQLite Expert Professional 3大家也可以用其他版本)这是一个操作起来比较简单的数据,当然还有其他数据库比如MYSQL等。
SQLite下载
这里我是再腾讯管家下载的,大家也可以再网站中下载。
SQLite基础知识
我以数据库的增、删、改、查和常规的建表建数据库这几个方面,来讲一下基本操作,如果大家想要进一步提升的话,可以去看看一些大佬的博客进一步提升。
下面我讲解的是SQLite的代码,请大家区分一下(不是C\C++的代码)。在SQL代码中,对关键词的大小写没限制,但是个人认为,自己写的时候还是区分大小写好点。
下面是我总结的常用语句(不完全表格)
关键词 | 作用 |
---|---|
create table | 建立表格 |
insert into | 插入数据 |
select | 查询 |
update | 修改 |
delete | 删除 |
1、建表
关键字:create table
-在SQL的代码中我们是使用负号来注释
-建立表格名字为TABLENAME,字段为ID (integer形式,并且为自增型主值)、userName(text形式,并且为非空形式)、scores(integer形式)
create table if not exists TABLENAME((ID integer primary key AUTOINCREMENT,userName text not
null,scores integer);
注意:这里我加上if not exists能防止重复建表。
这里解释一下字段的意思:在一个表格中,第一行就是字段。我刚刚这句建立的表格效果如下。
ID | userName | scores |
---|---|---|
这表格刚刚建立是没有数据的,至于字段后面的text、integer是限定信息的格式,就比如说你现在userName里面添加一个数据,必须是字符串的形式。想往scores里添加信息必须integer(整型)类型。另外primary key AUTOINCREMENT和not null的意思分别是自增、非空(不能不写的意思)。这后面的修饰语句,大家也可以不加,这并非强制。
2、插入数据(增)
关键字:Insert into
上面 的表格建立好了之后,我们就可以开始插入数据。可以有两种方式
方式1:所有字段的数据都要写
Insert into TABLENAME values(1,"张三",100);
解析:在建表格的时候有ID、 username 、scores 这三个字段所以,我们在插入数值的时候就一定要把这3个数值对应的信息加入,不然会报错。
方式2:添加指定的字段
Insert into TABLENAME (userName) values("李四");
-注意:因为ID设置为自增,所以ID不为你不加,也会自己加上去,并且比前面的ID+1
解析:你只要加入括号里面的那个字段,其他的字段可以不用加。这里我个人是比较建议使用第二种,比较灵活。
3、删除数据(删)
关键字:Delete
删除部分我也分为了两种情况——删除单条(指定)信息、删除全表的信息
方式1:删除单条(指定)信息
Delete from TABLENAME where userName = "张三";
解析:这里我们删除的是名字叫张三的信息,他将会把一整条删除,而不是删除某个字段。这里的where可以把范围指向你要删除的信息。
方式2:删除整个表格里面的信息
Delete from TABLENAME;
解析:删除表格所有信息。
4、修改数据(改)
关键字:Update
-将ID为1的人的名字改为李四,分数改为20
Update TABLENAME set scores=20,userName = "李四" where ID = 1;
解析:set后面写上你已经修改好了的信息,where 查找ID为1的人。
5、查数据(查)
关键字:Select
方法1:查整个表格里所有列的信息
Select * from TABLENAME ;
解析:注意这里有个*号,from后面跟上要查的表格
方法2:查一个某个字段下的所有信息
-查询表格中userName 和 scores字段下的所有信息
Select userName ,scores from TABLENAME ;
方法3:精确查询
-在TABLENAME 表格中查询,查找名字叫王五,且分数为14的人
Select userName = "王五" and scores = "14" from TABLENAME ;
解析:这里使用到了且的关系and,同样的还有or或的关系。
解析:Select 后跟上要查的字段
6、限定指令和排序指令的结合使用
关键字:
limit 限制
order by 排序(默认升序)
DESC 升序
ASC 降序
offset 跳过
-查询userName 表格中的 scores 字段下 10 条信息,跳过条信息
select * from userName order by scores DESC limit 10 offset 0;
解析:在order by scores的后面如果不写升序还是降序的话,默认是升序的排列
limit是限制查询条数,offset是跳过条数的句。