ubuntu下安裝sqlite3

我歌月徘徊、發表於2020-10-13

準備

在這裡插入圖片描述

原始碼下載

下載地址

在這裡插入圖片描述
在這裡插入圖片描述

編譯安裝

tar -zxvf sqlite-autoconf-3330000.tar.gz
cd sqlite-autoconf-3330000/
./configure
make
sudo make install

在這裡插入圖片描述
在這裡插入圖片描述

測試

在任意目錄下新建一個資料庫,比如sample
命令:sqlite3 sample
會出現如下提示:
SQLite version 3.13.0 2016-05-18 10:57:30
Enter “.help” for usage hints.
sqlite>
輸入 .help可以看到命令列表
輸入sql語句create table user(username text primary key, password text); 建一張user表
輸入sql語句insert into user values(“tianyou121”, “123”); 插入一個使用者。
輸入sql語句select * from user; 可以檢視user表.
輸入sql命令是記得結尾的’;'號。

在這裡插入圖片描述

用程式碼測試:

/*********************************************************************************
 *      Copyright:  (C) 2016 huangan
 *                  All rights reserved.
 *
 *       Filename:  sqlite.c
 *    Description:  This file 
 *                 
 *        Version:  1.0.0(05/24/2016)
 *         Author:  huangan <894389300@qq.com>
 *      ChangeLog:  1, Release initial version on "05/24/2016 07:18:01 AM"
 *                 
 ********************************************************************************/
 
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
 
int myfunc(void *p, int argc, char **argv, char **argvv)
{
    int i;
    *(int *)p = 0;
     for(i =0; i < argc; i++)
     {
         printf("%s = %s ", argvv[i], argv[i] ? argv[i] :"NULL");
     }
 
     putchar('\n');
 
     return 0;
}
 
int main(int argc, char *argv[])
{
    sqlite3 *db;
    char *err =0;
    int ret =0;
    int empty =1;
 
    ret = sqlite3_open("sample",&db);
    if(ret !=SQLITE_OK)
    {
        fputs("\n",stderr);
        return -1;
    }
 
    ret = sqlite3_exec(db, "select * from user;", myfunc, &empty, &err);
    if(ret != SQLITE_OK)
    {
        fputs(err,stderr);
        fputs("\n",stderr);
        sqlite3_close(db);
        return -1;
    }
 
    if(empty)
    {
        fputs("table student is empty\n", stderr);
        return -1;
    }
 
    sqlite3_close(db);
    
    return -1;
 
}

將.c檔案和資料庫檔案放在同一個目錄下,並用GCC編譯
:gcc sqlite.c -lsqlite3 (PS:要加上-lsqlite3 指定庫檔案)
./a.out

就會輸出:
在這裡插入圖片描述

基本命令

sqlite3 sample 開啟資料庫

資料庫命令是以".“開頭的,sql語句是以”;"結尾的

.schema 表名 顯示錶結構 如:【 .schema student 】
.tables 顯示錶
.quit 或 .exit 退出資料庫控制介面

建立一個資料表:student 【 create table student (id int primary key,name char,age int,sex char); 】

向表中插入資料 insert into 表名 values (值1,值2,值3,值4); 如:【 insert into student values (0,‘zhang0’,20,‘m’); 】 沒有返回錯誤資訊則插入成功

查詢表中所有內容顯示 【 select *from student; 】

查詢某個欄位(列資訊)【 select id from student; 】

按照某個條件查詢 【 select * from student where age>25 and sex=‘m’ 】 { 條件 and or 表示 與 ,或 }

修改某個內容 update 表名 set 列名=新值 where 條件; 如:把 zhang0 的名字改為 liwang 【update student set name=‘liwang’ where name=’zhang0‘; 】

刪除一條資訊 :delete from 表名 where 條件; 如:刪除名字為hello的一行內容 【 delete from student where name=‘hello’; 】

新增一列 : alter table 表名 add 列名 資料型別; 【alter table student add address char;】
【update student set address=‘beijing’;】 把地址欄位全部更新為beijing
刪除一個表 drop table 表名; 【 drop table soc; 】

sqlite3不支援刪除一列資訊,可以 把原來的表裡面的需要的列複製到一個新表,重新命名:create table 新表名 as select 列名1,列名2,列名3,列名4 from 舊錶名;
【 create table stu as select id,name,sex from student; 】 選擇student表中的id,name,sex欄位作為新表的欄位

重新命名錶 :alter table 舊錶名 rename to 新表名; 【 alter table stu rename to student_new; 】

select count(*) from sqlite_master where type=“table” and name = “表名”; 
注意:表示字串可以是""或者’'SQL語句結束必須是一個分號。

解除安裝

一、解除安裝:
1、瀏覽已安裝的程式。要檢視已安裝的軟體包列表,請輸入以下命令。請注意你希望解除安裝的軟體包的名稱。這樣一會兒可以檢視是否真的解除安裝。

dpkg –list

2、解除安裝程式和所有配置檔案。在終端中輸入以下命令:

sudo apt-get –purge remove sqlite3

只解除安裝程式。如果你移除程式但保留配置檔案,請輸入以下命令:

sudo apt-get remove sqlite3

圖形化工具

SQLite Database Browser

SQLite Database browser 是一個免費、開源的SQLite 資料庫的輕量級 GUI 客戶端,主要是為非技術使用者建立、修改和編輯 SQLite 資料庫的工具,使用嚮導方式實現。

SQLite Administrator

SQLite Administrator 是一個用來管理 SQLite 資料庫檔案的圖形化工具,可進行建立、設計和管理操作。提供程式碼編輯器具有自動完成和語法著色,支援中文。

SQLiteStudio

SQLiteStudio 是一個開源、跨平臺的 SQLite 資料庫的管理工具,支援匯出資料格式:CSV、HTML、XML、SQL、PDF、JSON、dBase等。可同時開啟多個資料庫檔案,支援檢視和編輯二進位制欄位。

簡單好用的圖形化工具
在這裡插入圖片描述

相關文章