Linux学习笔记——数据库

一、数据库简介

1.数据data

        能够输入计算机并能被计算机程序识别和处理的信息集合

2.数据库Database

        数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合

3.文件管理和数据库管理的区别

文件优点:

        数据可长期保存

        能大量存储数据

文件缺点:

        数据冗余度大,数据一致性、完整性难以维持

        数据与程序缺乏高度独立性

数据库:

        数据组织结构化

        数据冗余度小,易扩充

        具有较高的数据与程序之间的独立性

        统一的数据控制

二、SQLite3

安装数据库

        sudo apt-get install sqlite3

打开数据库

        sqlite3

数据库命令

        .help:打开数据库帮助文档

        .databases:列出数据库名称及其依附文件

        .tables:显示数据库有哪些表

        .schema:显示数据库中表具体结构

        .quit:退出数据库

SQLite3语法

SQLite3数据类型

        SQLite 数据类型是一个用来指定任何对象的数据类型的属性。SQLite 中的每一列,每个变量和表达式都有相关的数据类型。

您可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统。在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。

存储类描述
NULL值是一个 NULL 值。
INTEGER值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
TEXT值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB值是一个 blob 数据,完全根据它的输入存储。

SQLite 的存储类稍微比数据类型更普遍。INTEGER 存储类,例如,包含 6 种不同的不同长度的整数数据类型。

 SQLite3创建表

例:CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

 创建操作:create table stu (id int primary key not null,name text,score real);

主键(primary key not null)必须唯一,不能重复,并且不能为空

SQLite3删除表

        删除操作:drop table stu;

        

SQL语句(增删查改)

insert

        SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行

        全部插入:sqlite> insert into stu values(1,'zhangsan',78);
        部分插入:sqlite> insert into stu (id,name)要插入的列名  values(2,'lisi')对应列的数据;

select

        查询表:select * from stu;//表名:stu

        精准查询:select * from stu where name = 'zhangsan';//查询名字为张三的

        模糊查询:select * from stu where score > 75;//查询成绩大于75的

        多条件查询:select * from stu where score > 60 and name = 'zhangsan';

        升序查询:select * from stu order by score asc;//asc升序

        降序查询:select * from stu order by score desc;//desc降序

update

        修改:update stu set score = 66 where name = 'wang';//将姓名为wang的成员成绩改为66;where后的内容为要修改的对象,where前表示要修改的内容

        修改:update stu set name = 'wang',score = 69 where id = 4;//将id为4的成员的name和score的内容修改;

delete

        SQLite 的 DELETE 查询用于删除表中已有的记录。可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除。

         删除单行:delete from stu where id = 5;//删除id为5的整行

        删除多行:delete from stu where id = 5 and name = 'zhangsan';

alter

        用来在已有的表中添加一个新的列

        添加一列:alter table stu add column address text;//添加一列名为address,属性为text的列

        

c接口SQLite3

打开数据库函数

        sqlite3_open(const char *filename, sqlite3 **ppDb)

        //参数1:数据库名

    //sqlite3_exec(sqlite3 *db),
    //参数1:句柄的指针
    //参数2:sql语句
    //参数3:回调函数   函数指针   //参数3.4 查询的时候用,其他时候可以忽略
    //参数4:给回调函数传参
    //参数5:存储错误信息,不存则NULL
    //返回值:失败返回0,成功返回

Select

3.sqlite3_get_table

4.sqlite_close

        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值