sqlite数据库安装配置

一、SQLite简介
    SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

    所需编译工具:
    gcc 和 gcc-c++ 和 tcl
    tcl             | http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html
    sqlite          | http://www.sqlite.org/download.html


二、安装 tcl【redis数据库安装时也需tcl软件支持,如果已经安装,此步骤请跳过~~~~】
    tcl是tool command language的缩写,tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以解释运行,通过使用 tcl 这款含有数百预编译模块的程序,缩短编译您自己的 Tcl/Tk 模块的所需时间。
    按官方指导的方法安装:
    # tar -zxvf tcl8.6.0-src.tar.gz
    # cd tcl8.6.0/unix/
    # ./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit)
    # make
    # sed -e "s@^(TCL_SRC_DIR=').*@1/usr/include'@" -e "/TCL_B/s@='(-L)?.*unix@='1/usr/lib@" -i tclConfig.sh
    # make install
    # make install-private-headers && ln -v -sf tclsh8.6 /usr/bin/tclsh && chmod -v 755 /usr/lib/libtcl8.6.so

    可以查看一下它指向的软链接文件情况,如果tclsh -> tclsh8.6应该就没问题了,如下:
    # ll /usr/bin/ | grep tcl
    lrwxrwxrwx 1 root root    8 11-17 22:51 tclsh -> tclsh8.6


三、安装Sqlite
    # tar -zxvf sqlite-autoconf-3080100.tar.gz && cd sqlite-autoconf-3080100
    # ./configure --prefix=/usr/local/sqlite/
    # make
    # make install


四、操作数据库

    1.创建一个test.db测试,如果显示版本信息,并进入sqlite客户端,说明安装成功:
      A.创建一个自定义数据存储目录:
        # mkdir -p /usr/local/sqlite/data

      B.设置数据存储目录访问权限(用户为 apache 或 nginx):
        # setfacl -m u:apache:rwx -R /usr/local/sqlite/data
        # setfacl -m d:u:apache:rwx -R /usr/local/sqlite/data


    2.打开或创建一个新数据库(写绝对路径),成功会自动登录到当前数据库:
      # /usr/local/sqlite/bin/sqlite3 /usr/local/sqlite/data/test.db


      创建一个数据表     
      sqlite> create table user(
                id integer primary key,
                name varchar(16),
                age tinyint(3)
              );

      关于主键: integer primary key 即:整型主键默认自增(无需auto_increment)


      向stu表中插入数据:
      sqlite> insert into user(name) values('zhangsan');
      sqlite> insert into user(name) values('lisi'),('王五'),('赵六');


      查询数据:
      sqlite> select * from user;
      1|zhangsan|
      2|lisi|
      3|王五|
      4|赵六|


      其它操作:
      sqlite> .tables  查看当前数据库中所有表
      sqlite> .quit    退出
      sqlite> .exit    退出   

原文地址:https://www.cnblogs.com/martinzhang/p/3543275.html