ToB企服应用市场:ToB评测及商务社交产业平台

标题: 数据库—专业储存大量数据 [打印本页]

作者: 钜形不锈钢水箱    时间: 2024-9-20 18:45
标题: 数据库—专业储存大量数据
数据存储方式

1、内存存数据:当步伐运行结束,掉电,数据丢失。(数组、链表、变量等)
2、硬盘存数据:步伐运行结束,掉电,数据不丢失
(1)文件:对数据管理(增编削查)效率低.
(2)数据库:专业存储数据,可存大量数据。对数据管理效率高,使用方便。
常用数据库:
1.关系型数据库:

将复杂的数据结构简化为二维表格形式
              大型:Oracle、DB2
              中型:MySql、SQLServer
              小型:Sqlite
2.非关系型数据库

              以键值对存储,且结构不固定
              //JSON
              Redis
              MongoDB
sqlite下令:

       1..help
         查看sqlite3支持的干系下令
       2..quit
         退出sqlite3数据库
       3..tables
         查看数据库中的全部表
       4..schema tablename
         查看tablename创建时的SQL语句(表的结构)
       5..headers on/off
         开启关闭列名称
       6..mode column
         以左对齐列宽体现数据
       7..width 第一列宽度 第二列宽度 第三列宽度 ...
         设置column模式体现下的每列的宽度
SQL语言:

       1.create table
         创建表

         create table 表名称(列名称1 数据范例,列名称2 数据范例,列名称3 数据范例,....);
         sqlite3数据范例:
         INTEGER : int
         REAL:double float
         TEXT: char 字符串
         NULL:值是一个 NULL值。
         表不存在,则创建,存在不创建
         create table if not exists 表名称(列名称1 数据范例,列名称2 数据范例,列名称3 数据范例,....)
       2.insert into插入表

         INSERT INTO 表名称 VALUES(值1, 值2,....)
       4.select 查表

         SELECT * FROM 表名称
         SELECT 列名称 FROM 表名称
         SELECT 列名称1,列名称2,列名称3 FROM 表名称
       5.where

         1)条件匹配
         SELECT 列名称 FROM 表名称 WHERE 列 运算符值
         运算符:
         >   =   <   !=   and   or
         2)模糊查询
         SELECT * FROM 表名称 WHERE 列名 like '%冬梅';
         SELECT * FROM 表名称 WHERE 列名 like '马%';
         SELECT * FROM 表名称 WHERE 列名 like '马__';
         百分号(%)代表零个、一个或多个数字或字符。
         下划线(_)代表一个单一的数字或字符。这些符号可以被组合使用。
         3)顺序体现
              selete * form 表名称 order by 列名 ASC;  //升序查询
              selete * form 表名称 order by 列名 DESC;  //降序查询
          select * from class1 order by score ASC; 升序查询
          select * from class1 order by score DESC;降序查询
       6.delete

         删除表中信息
         DELETE FROM 表名称 WHERE 列名称 = 值
       7.update

         改表中信息
         UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
       8.datetime

         datetime('now', '+8 hours');
         select datetime('now', '+8 hours');
         查询当前东八区时间
        insert into class3 values(1, 'zhangsan', 99, datetime('now', '+8 hours'));
        insert into class3 values(2, 'lisi', 100, datetime('now', '+8 hours'));
     insert into class3 values(3, 'wanger', 98, datetime('now', '+8 hours'));
       10. 设置主键值主动增长列

              create table 表名称(id INTEGER PRIMARY KEY AUTOINCREMENT, 类名称 数据范例, ...);
       11. drop table 表名称

           删除一张表
sqlite数据库编程:

       1.编程框架
       打开数据库à读写数据库(增,删,改,查)à关闭数据库
       sqlite3.h
       -lsqlite3
       2.sqlite3函数接口:
              1.sqlite3_open
              int sqlite3_open(
                     const char *filename,   /* Database filename (UTF-8) */
                     sqlite3 **ppDb          /* OUT: SQLite db handle */
              );
              功能:
                     打开一个数据库文件获得利用数据库文件的句柄
                     如果数据库存在,则打开;不存在,则创建
              参数:
                     filename:数据库文件路径
                     ppDb:存放句柄指针空间的首地址
              返回值:
                     乐成返回SQLITE_OK
       2.sqlite3_errmsg
         const char *sqlite3_errmsg(sqlite3*);
         功能:
              获得出错缘故原由
       3.sqlite3_close
         int sqlite3_close(sqlite3*);
         功能:
              关闭数据库句柄,释放空间
       4.sqlite3_exec
              int sqlite3_exec(
                     sqlite3* pDb,                                  /* An open database */
                     const char *sql,                           /* SQL to be evaluated */
                     int (*callback)(void*,int,char**,char**),  /* Callback function */
                     void *arg,                                  /* 1st argument to callback*/
                     char **errmsg                              /* Error msg written here */
              );
              功能:
                     在数据库中实验SQL语句
              参数:
                     sqlite3*:数据库句柄
                     sql     :SQL语句字符串首地址
                     callback:回调函数(只有select时使用)
                     void *  :回调函数的传参(只有select时使用)
                     char **errmsg:出错信息存放空间首地址
              返回值:
                     乐成返回SQLITE_OK 0
              回调函数范例:
              int fun(void* para,int n_column,char** column_value,char** column_name);
              参数:
                     para              : sqlite3_exec传递的第四个参数
                     n_column      :查询到数据的列数
                     column_value:查询结果每个字段的首地址聚集
                     column_name :查询结果每个字段的字段名称首地址聚集
              注意:
                    1. 回调函数查询到几行数据就实验反复;
                    2.回调函数必须要返回0,否则sqlite3_exec调用失败
                       3.数据库中查出的数据均为字符串


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4