日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C語言中操作SQLite數(shù)據(jù)庫的基本方法介紹 (c sqlite數(shù)據(jù)庫操作)

SQLite是一種輕型的數(shù)據(jù)庫管理系統(tǒng),是一種基于文件的數(shù)據(jù)庫,常常被用于嵌入式設(shè)備等場景下。SQLite是一個(gè)獨(dú)立的軟件庫,提供了一個(gè)使用簡單的統(tǒng)一的應(yīng)用程序接口來訪問和管理數(shù)據(jù)。一般來說,都是通過其他編程語言,如C語言,來操作SQLite數(shù)據(jù)庫。

在本文中,我們將介紹C語言中操作SQLite數(shù)據(jù)庫的基本方法,包括如何連接數(shù)據(jù)庫、創(chuàng)建表、插入數(shù)據(jù)、查詢數(shù)據(jù)、更新數(shù)據(jù)和刪除數(shù)據(jù)等操作。

連接數(shù)據(jù)庫

在C語言中連接SQLite數(shù)據(jù)庫很簡單,只需要使用sqlite3_open()函數(shù)即可。此函數(shù)需要傳入一個(gè)指向數(shù)據(jù)庫文件的指針(如果不存在將會創(chuàng)建它),如果操作成功則返回0,否則返回錯(cuò)誤碼。

例如:

“`c

#include

#include

#include

int mn(int argc, char* argv[])

{

sqlite3 *db;

int rc = sqlite3_open(“test.db”, &db);

if (rc != SQLITE_OK){

printf(“Can’t open database: %s\n”, sqlite3_errmsg(db));

sqlite3_close(db);

return 1;

}

else{

printf(“Opened database successfully!\n”);

}

sqlite3_close(db);

return 0;

}

“`

在上述示例中,我們打開了一個(gè)名為test.db的數(shù)據(jù)庫文件,并使用sqlite3_errmsg()函數(shù)輸出錯(cuò)誤信息。如果操作成功,則輸出“Opened database successfully!”。

創(chuàng)建表

創(chuàng)建表是建立一個(gè)SQLite數(shù)據(jù)庫的非?;镜牟僮?。在C語言中,我們可以使用sqlite3_exec()函數(shù)來執(zhí)行SQL語句,從而實(shí)現(xiàn)對SQLite數(shù)據(jù)庫中的表進(jìn)行創(chuàng)建、插入、查詢、更新或刪除等操作。

例如:

“`c

#include

#include

#include

int mn(int argc, char* argv[])

{

sqlite3 *db;

char *zErrMsg = 0;

int rc = sqlite3_open(“test.db”, &db);

if (rc != SQLITE_OK){

printf(“Can’t open database: %s\n”, sqlite3_errmsg(db));

sqlite3_close(db);

return 1;

}

else{

printf(“Opened database successfully!\n”);

}

char *sql = “CREATE TABLE COMPANY(“

“ID INT PRIMARY KEY NOT NULL,”

“NAME TEXT NOT NULL,”

“AGE INT NOT NULL,”

“ADDRESS CHAR(50),”

“SALARY REAL );”;

rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);

if (rc != SQLITE_OK){

printf(“Operation fled: %s\n”, zErrMsg);

sqlite3_free(zErrMsg);

}

else{

printf(“Table created successfully!\n”);

}

sqlite3_close(db);

return 0;

}

“`

在上述示例中,我們使用CREATE TABLE語句創(chuàng)建了一個(gè)名為COMPANY的表,包括ID、NAME、AGE、ADDRESS和SALARY五個(gè)字段,其中ID字段為主鍵。如果創(chuàng)建成功,則輸出“Table created successfully!”。

插入數(shù)據(jù)

在創(chuàng)建了一個(gè)表之后,我們需要向其中插入數(shù)據(jù)。這可以使用INSERT INTO語句實(shí)現(xiàn)。

例如:

“`c

#include

#include

#include

int mn(int argc, char* argv[])

{

sqlite3 *db;

char *zErrMsg = 0;

int rc = sqlite3_open(“test.db”, &db);

if (rc != SQLITE_OK){

printf(“Can’t open database: %s\n”, sqlite3_errmsg(db));

sqlite3_close(db);

return 1;

}

else{

printf(“Opened database successfully!\n”);

}

char *sql = “INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) “

“VALUES (1, ‘Paul’, 32, ‘California’, 20230.00 ); “

“INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) “

“VALUES (2, ‘Allen’, 25, ‘Texas’, 15000.00 ); “

“INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)”

“VALUES (3, ‘Teddy’, 23, ‘Norway’, 20230.00 );”

“INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)”

“VALUES (4, ‘Mark’, 25, ‘Rich-Mond’, 65000.00 );”;

rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);

if (rc != SQLITE_OK){

printf(“Operation fled: %s\n”, zErrMsg);

sqlite3_free(zErrMsg);

}

else{

printf(“Records created successfully!\n”);

}

sqlite3_close(db);

return 0;

}

“`

在上述示例中,我們向COMPANY表中插入了四條記錄,并使用VALUES子句指定了每個(gè)記錄中ID、NAME、AGE、ADDRESS和SALARY這五個(gè)字段的值。如果插入成功,則輸出“Records created successfully!”。

查詢數(shù)據(jù)

查詢數(shù)據(jù)是SQLite數(shù)據(jù)庫操作的重要部分。我們可以使用SELECT語句來從表中獲取數(shù)據(jù)。

例如:

“`c

#include

#include

#include

static int callback(void *NotUsed, int argc, char **argv, char **azColName){

int i;

for(i=0; i

printf(“%s = %s\n”, azColName[i], argv[i] ? argv[i] : “NULL”);

}

printf(“\n”);

return 0;

}

int mn(int argc, char* argv[])

{

sqlite3 *db;

char *zErrMsg = 0;

int rc;

rc = sqlite3_open(“test.db”, &db);

if (rc != SQLITE_OK){

printf(“Can’t open database: %s\n”, sqlite3_errmsg(db));

sqlite3_close(db);

return 1;

}

else{

printf(“Opened database successfully!\n”);

}

char *sql = “SELECT * from COMPANY”;

rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);

if (rc != SQLITE_OK){

printf(“Operation fled: %s\n”, zErrMsg);

sqlite3_free(zErrMsg);

}

sqlite3_close(db);

return 0;

}

“`

在上述示例中,我們使用SELECT *語句來查詢COMPANY表中的所有數(shù)據(jù),并為sqlite3_exec()函數(shù)提供了一個(gè)回調(diào)函數(shù),用于處理每一行查詢結(jié)果。在回調(diào)函數(shù)中,我們只是簡單地使用printf()函數(shù)輸出了查詢結(jié)果,如果查詢成功,則在查詢結(jié)果后輸出一個(gè)空行。

更新數(shù)據(jù)

更新數(shù)據(jù)也常常是SQLite數(shù)據(jù)庫操作的重要部分。我們可以使用UPDATE語句來更新表中的數(shù)據(jù)。

例如:

“`c

#include

#include

#include

int mn(int argc, char* argv[])

{

sqlite3 *db;

char *zErrMsg = 0;

int rc;

rc = sqlite3_open(“test.db”, &db);

if (rc != SQLITE_OK){

printf(“Can’t open database: %s\n”, sqlite3_errmsg(db));

sqlite3_close(db);

return 1;

}

else{

printf(“Opened database successfully!\n”);

}

char *sql = “UPDATE COMPANY set SALARY = 25000.00 where ID=1; “

“SELECT * from COMPANY”;

rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);

if (rc != SQLITE_OK){

printf(“Operation fled: %s\n”, zErrMsg);

sqlite3_free(zErrMsg);

}

else{

printf(“Operation done successfully!\n”);

}

sqlite3_close(db);

return 0;

}

“`

在上述示例中,我們使用UPDATE語句將COMPANY表中ID為1的記錄的SALARY字段更新為25000.00,并使用SELECT語句查詢表中所有的數(shù)據(jù),以驗(yàn)證更新的結(jié)果。如果更新成功,則輸出“Operation done successfully!”。

刪除數(shù)據(jù)

刪除數(shù)據(jù)也是SQLite數(shù)據(jù)庫操作的一種重要部分。我們可以使用DELETE語句來從表中刪除數(shù)據(jù)。

例如:

“`c

#include

#include

#include

int mn(int argc, char* argv[])

{

sqlite3 *db;

char *zErrMsg = 0;

int rc;

rc = sqlite3_open(“test.db”, &db);

if (rc != SQLITE_OK){

printf(“Can’t open database: %s\n”, sqlite3_errmsg(db));

sqlite3_close(db);

return 1;

}

else{

printf(“Opened database successfully!\n”);

}

char *sql = “DELETE from COMPANY where ID=2; “

“SELECT * from COMPANY”;

rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);

if (rc != SQLITE_OK){

printf(“Operation fled: %s\n”, zErrMsg);

sqlite3_free(zErrMsg);

}

else{

printf(“Operation done successfully!\n”);

}

sqlite3_close(db);

return 0;

}

“`

在上述示例中,我們使用DELETE語句刪除了COMPANY表中ID為2的記錄,并使用SELECT語句查詢表中所有的數(shù)據(jù),以驗(yàn)證刪除的結(jié)果。如果刪除成功,則輸出“Operation done successfully!”。

結(jié)論

相關(guān)問題拓展閱讀:

  • 如何創(chuàng)建sqlite數(shù)據(jù)庫

如何創(chuàng)建sqlite數(shù)據(jù)庫

MySQL云激腔螞弊數(shù)據(jù)庫創(chuàng)建、配置與使用教程,明物衫五秒鐘創(chuàng)建屬于自己的mysql云數(shù)據(jù)庫,申請

方山侍法/步驟

首先下載 Navicat for SQLite,下載后解壓縮。

運(yùn)行navicat.exe 這個(gè)主純絕程序,在左上角點(diǎn)擊連接

在彈出窗口中輸入連接名,選擇類型,然后在下面選擇數(shù)據(jù)庫文件,或者數(shù)據(jù)庫保存位置。

這樣就做唯姿在指定位置創(chuàng)建了一個(gè)Sqlite數(shù)據(jù)庫文件了

上次剛接觸SqlLite,不知道怎么創(chuàng)建數(shù)據(jù)庫,現(xiàn)在做下總結(jié):

界面和MYSQL一樣,都是CMD界面,但不是在SQLite.exe中創(chuàng)建數(shù)據(jù)庫:

首先還是說一下cmd下sqlite的使用網(wǎng)上已經(jīng)很多了、不做過多的贅述。大致說一下相應(yīng)的命令就行了、作為學(xué)習(xí)sqlite的一個(gè)記錄

1:選擇下載對應(yīng)自己系統(tǒng)的sqlite.3exe文件

2:解灶散壓后使用cmd命令進(jìn)入sqlite3.exe文件所在的路徑執(zhí)行命令就可以操作做相應(yīng)的操作。

在進(jìn)入數(shù)據(jù)庫之后如果需要退出的話windows下摁ctrl+c就能退出

例如:

創(chuàng)建數(shù)據(jù)庫命令:sqlite3.exe【數(shù)據(jù)庫名字.后綴名】

這里比較牛一點(diǎn)的感覺就是創(chuàng)建的數(shù)據(jù)庫后綴名是任意的、不過注意一點(diǎn)就是:在命令框下執(zhí)行創(chuàng)建數(shù)據(jù)庫的時(shí)候。

如果沒有為數(shù)據(jù)庫創(chuàng)建表格、則看不見數(shù)據(jù)庫文件,所以必須創(chuàng)建表格。

例如:在CMD命令提示符下輸入sqlite3.exetest.db(test.db是數(shù)據(jù)庫名)回車,執(zhí)行完后,命令提示符自動跳轉(zhuǎn)

到”SQLITE>”狀態(tài)。這時(shí)還是看不到這個(gè)數(shù)據(jù)庫!等表格創(chuàng)建或關(guān)閉sqlite3

例如:createtableuser(’用戶名‘);這時(shí)可以看到sqlite3.exe所在文件夾下的這個(gè)數(shù)據(jù)庫文件了

如果下次還要使用此數(shù)據(jù)庫時(shí)仍然使用sqlite3.exetest.db即可進(jìn)入此數(shù)據(jù)庫

創(chuàng)建表格命令:createtabletablename(字段,字段)

這里從命令上可以清楚的純正看到、在sqlite數(shù)據(jù)庫中創(chuàng)建表格字段的時(shí)候、允許不為字段申明數(shù)據(jù)類型。

這是區(qū)別于其它關(guān)系型數(shù)據(jù)庫的。

執(zhí)行插入命令:insertintotablenamevalues(value,values)在、前做辯悔面我們可以看出、sqlite的操作上和

sqlserver沒什么太大區(qū)別、值得注意的是、insert時(shí)區(qū)別于sqlserver中、因?yàn)閟qlserver中允許使用

“inserttablenamevalues(value,value)”這樣的省略式擦入。但是sqlite中是不允許使用省略式插入語句的。

執(zhí)行刪除語句:deletefromtablenamewhere

刪除數(shù)據(jù)語法和sqlserver相同、

刪除表則命令為:droptabletablename

數(shù)據(jù)更新命令:updatetablenameset字段=值如果需要條件的話、添加上where語句。

執(zhí)行查詢語句:select*fromtablename可跟隨where語句

以上就是基礎(chǔ)的sqlite的增刪查改語法和命令。

關(guān)于c sqlite數(shù)據(jù)庫操作的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都網(wǎng)站營銷推廣找創(chuàng)新互聯(lián),全國分站站群網(wǎng)站搭建更好做SEO營銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價(jià)格厚道。提供成都服務(wù)器托管租用、綿陽服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽服務(wù)器機(jī)房服務(wù)器托管租用。


本文標(biāo)題:C語言中操作SQLite數(shù)據(jù)庫的基本方法介紹 (c sqlite數(shù)據(jù)庫操作)
分享地址:http://www.dlmjj.cn/article/djesjho.html