Linux操作系统___数据库

  • 常用数据库:

    • 数据库文件与普通文件区别:

      • 1.普通文件对数据管理(增删改查)效率低

      • 2.数据库对数据管理效率高,使用方便

    • 1.关系型数据库

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

    • 2.非关系型数据库

      • 以键值对存储,且结构不固定 //JSON Redis MongoDB

    • 嵌入式数据库:

      • sqlite3: stu.db 1.开源免费, c语言开发

      • 2.代码量少,1万行左右,总大小10M以内

      • 3.文件型数据库,可以移动

      • 4.数据容量最大2T

      • sqlite3的安装

        • 在线安装:sudo apt-get install sqlite3 sudo apt-get install libsqlite3-dev

        • 源码安装:

        • 1.sqlite-autoconf-3080403源代码.tar.gz拷贝到Ubuntu系统Desktop目录中

        • 2.tar -zxvf sqlite-autoconf-3080403源代码.tar.gz

        • 3.cd sqlite-autoconf-3080403

        • 4../configure // 生成makefile

        • 5.make // 编译源码

        • 6.sudo make install // 安装

      • sqlite3 操作指令

        • 1) 命令

        • .help 查看相关手册

        • .databases 查看当前数据库所在的路径和名称

        • .tables 查看当前数据库中的表

        • .schema 查看创建表的结构

        • .mode column 列设置位左对齐

        • .width 列宽1 列宽2 列宽3 设置各列的宽度

        • 2)sqlite3相关sql语句

        • 增删改查

        • create table 表名(列名1 数据类型,列名2 数据类型,列名3 数据类型);

        • create table class1(id integer, name text, age integer, score real);

        • insert into 表名 values(值1, 值2, 值3);

        • insert into class1 values(1, "张三", 17, 89.5);

        • select 列名 from 表名; select 列名1,列名2 from 表名;

        • select * from 表名;

        • select * from 表名 order by 列名 ASC; //升序排序

        • select * from 表名 order by 列名 DESC; //降序排序

        • 条件查找: select * from 表名 where 列名 运算符 值;

        • select * from class1 where score>=90;

        • 模糊查找: select * from 表名 where 列名 like "值%";

        • 模糊查找和"值****"匹配的行

        • % 可以模糊匹配多个字符 _只能模糊匹配一个字符

        • select * from 表名 where 列名 like "值_";

        • 删除 delete from 表名 where 条件;

        • delete from class1 where score>90;

        • 更改 update 表名 set 列名=新值 where 列名=值;

        • update class1 set score= 99 where name="张三";

        • datetime("now", "+8 hours");

        • insert into class2 values(1, "zhangsan", 68, datetime("now", "+8 hours"));

        • 自动增长列

        • 主键值 INTEGER create table 表名(id INTEGER PRIMARY KEY AUTOINCREMENT, XXXXX); 删除表 drop table 表名;

      • sqlite3相关c函数接口

        • int sqlite3_open( const char *filename, /* Database filename(UTF-8) */ sqlite3 **ppDb ); /* OUT: SQLite db handle */

          • 功能:打开一个数据库,如果不存在则创建

        • 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_errmsg const char *sqlite3_errmsg(sqlite3*); 功能:获得出错原因

        • sqlite3_close int sqlite3_close(sqlite3*); 功能:关闭数据库句柄,释放空间

        • sqlite3_free void sqlite3_free(void*); 功能:释放保存出错信息的空间

      • 数据库维护命令:

        • 安装可视化工具 sudo apt-get install sqlitebrowser sqlitebrowser xxx.db NavicatSqlite3 Windows下图形操作接口

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值