tft每日頭條

 > 科技

 > sqlite的所有數據類型

sqlite的所有數據類型

科技 更新时间:2025-01-06 14:17:45

一、概念:

1.1什麼是數據:在計算機科學中,數據是所有能輸入計算機并被計算機程序處理的符号的介質的總稱、是信息的集合

1.2什麼是數據庫:在某個管理系統下存儲的數據集合。

1.3數據庫的分類:大型數據庫、中型數據庫、小型數據庫

1.4SQLITE:是一種基于嵌入式linux的一種小型關系型數據庫,源代碼為C、體積小250KB、操作快、可以在不同字節序的機器上共享、數據庫最大2TB。


二、SQLITE數據庫的創建

2.1可以在ubuntu的操作系統下、使用sqlite3工具、通過命令行的方式創建數據庫

首先安裝sqlite3 在命令行輸入:sudo apt-get install sqlite3

創建數據庫 在命令行輸入:sqlite3 data1.db //這樣便創建了名為data1的數據庫,若是本來就存在該數據庫、就直接使用該數據庫

在sqlite3的工具界面可以輸入 .database來查看創建好的數據庫。

sqlite的所有數據類型(數據庫之SQLITE)1

2.2可以通過C程序中對API函數的調用完成對數據庫的創建

sqlite的所有數據類型(數據庫之SQLITE)2

調用sqlite3_open 函數

sqlite的所有數據類型(數據庫之SQLITE)3

通過API函數創建了data1.db數據庫

要編譯 連接通過需要sudo apt-get install libsqlite3-dev


三、SQLITE常用命令

命令分為:系統命令、以“.”開頭,SQL語句、以“;”結尾

在linux終端輸入sqlite3後進入sqlite操作界面:

sqlite的所有數據類型(數據庫之SQLITE)4

3.1退出命令 .exit .quit

3.2查看表 .table

sqlite的所有數據類型(數據庫之SQLITE)5

查看了建立好的fruit1

3.3查看表的結構

sqlite的所有數據類型(數據庫之SQLITE)6

下面是sql語句:

3.4創建表A:create table A(id integer , name text , age integer , score float);

3.5插入記錄:insert into fruit1 values (1 , 'sa' , 20 , 13);

insert into fruit1 (id , name , score) values(1 , 'sa' ,20 ,13);

3.6删除一條記錄:delete from fruit1 where name = 'sa' and score = 13;

3.7更新一條記錄:update fruit1 set age = 20 where id = 1;

update fruit1 set age = 20 ,score = 13 where id = 1;

3.8增加一列:alter table fruit1 add column level char;

3.9删除一列:create table fruit2 as select id , name from fruit1;

drop table fruit1;

alter table fruit2 rename to fruit1;

3.10查看數據庫記錄:

select * from fruit1 where score >=0 and score <=50;

select * from fruit1;

select * from fruit1 where id = 1;

select * from fruit1 where id = 1 and name = 'sa'; //and or

select name , score from fruit1; //查詢指定字段

3.11删除一張表:drop table fruit1;

四、sqlite3 數據庫的API函數

4.1打開數據庫

int sqlite3_open( const char *filename; //數據庫的名字 sqlite3 **ppDb; //函數的回傳的句柄二級指針 );

返回值:成功為0 SQLITE_OK ,出錯為錯誤碼(const char sqlite3_errmsg(sqlite3 *db))裡面的參數為句柄一級指針。

4.2關閉數據庫

int sqlite3_close(sqlite3 *db); //參數為回傳句柄一級指針

sqlite的所有數據類型(數據庫之SQLITE)7

返回值:成功為0 SQLITE_OK ,出錯為錯誤碼(const char sqlite3_errmsg(sqlite3 *db))裡面的參數為句柄一級指針。

4.3執行sql語句

int sqlite3_exec( sqlite3 *db, //句柄的一級指針 const char *sql ,//sql語句的首地址 int (*callback)(void * arg ,int f_num,char ** f_value , char **f_name), //callback 參數1:sqlite3_exec傳遞來的參數,參數2:列數,參數3:列的值的地址,參數4:列的名稱的地址 void *arg,//為回調函數傳遞參數 char **errmsg //錯誤消息 );

隻有在執行查詢語句時、才會傳參

返回值:成功時返回SQLITE_OK

4.4查詢函數

int sqlite3_get_table( sqlite *db, const char *sql, char* **result ,int *nrow ,int *ncolumn ,char** errmsg );

db:數據庫的句柄

sql:sql語句

**result:二維數組 存放查詢結果

nrow:表的行數

ncolumn:表的列數

errmsg:存放錯誤信息

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved