sqlite資料庫沒有復雜的建百庫過程,該資料庫體現為一個文件,該文件的名字可以是任意的。
以下度是打開資料庫的方法,其中的第一個參數,比如,「知mysqlite3.db」,是應用自己隨意定的,第二個參數是資料庫句柄道。
int
sqlite3_open(
const
char
*filename,
/*
Database
filename
(UTF-8)
*/
sqlite3
**ppDb
/*
OUT:
SQLite
db
handle
*/
);
在執行打開資料庫操作時,回如果文件不存在,則會自動創建對應的文件。
至於答表的創建,與其它資料庫基本類同,都是Create
Table......的語句。
㈡ sqlite3怎麼創建一個資料庫
之前學Android開發的資料庫時候,用過sqlite3,這是項目裡面的一段SQL代碼,你參考一下
create table moban (_id integer primary key autoincrement,
moban_name varchar(40) not null,
moban_cost numeric(7,2) not null default 0.00,
moban_shou int default 0,
moban_delete int not null default 0
moban_beizhu varchar(40) )
㈢ SQLITE資料庫設計
按標準的範式拆出來應該是基本信息表、標簽表、和信息ID、標簽ID表,但是跨表效率很低,沒必要。
一般的做法,可以在基本信息後面加一個標簽列,裡面存儲多個標簽,用空格和逗號分隔;
在標簽表中,同時記錄多個基本信息ID,也用空格和逗號分隔;
增添基本信息或標簽時,同時維護2個表,
這樣修改速度不快,但是查詢效率不錯.
㈣ 在VS中用sqlite作為資料庫設計窗體應用,一定要用到sqlite3嗎,sqlite3到底用來干什麼的
不一定,sqlite是單機資料庫,簡單、易用。
如果你的程序不需要存儲數據,可以不用sqlite
也可以用其他資料庫替換sqlite
祝好運,望採納
㈤ 如何創建sqlite資料庫
上次剛接觸SqlLite,不知道怎麼創建資料庫,現在做下總結:
界面和MYSQL一樣,都是CMD界面,但不是在SQLite.exe中創建資料庫:
首先還是說一下cmd下sqlite的使用網上已經很多了、不做過多的贅述。大致說一下相應的命令就行了、作為學習sqlite的一個記錄
1:選擇下載對應自己系統的sqlite.3exe文件
2:解壓後使用cmd命令進入sqlite3.exe文件所在的路徑執行命令就可以操作做相應的操作。
在進入資料庫之後如果需要退出的話windows下摁ctrl+c就能退出
例如:
創建資料庫命令:sqlite3.exe【資料庫名字.後綴名】
這里比較牛一點的感覺就是創建的資料庫後綴名是任意的、不過注意一點就是:在命令框下執行創建資料庫的時候。
如果沒有為資料庫創建表格、則看不見資料庫文件,所以必須創建表格。
例如:在CMD命令提示符下輸入sqlite3.exetest.db(test.db是資料庫名)回車,執行完後,命令提示符自動跳轉
到"SQLITE>"狀態。這時還是看不到這個資料庫!等表格創建或關閉sqlite3
例如:createtableuser(』用戶名『);這時可以看到sqlite3.exe所在文件夾下的這個資料庫文件了
如果下次還要使用此資料庫時仍然使用sqlite3.exetest.db即可進入此資料庫
創建表格命令:createtabletablename(欄位,欄位)
這里從命令上可以清楚的看到、在sqlite資料庫中創建表格欄位的時候、允許不為欄位申明數據類型。
這是區別於其它關系型資料庫的。
執行插入命令:insertintotablenamevalues(value,values)在、前面我們可以看出、sqlite的操作上和
sqlserver沒什麼太大區別、值得注意的是、insert時區別於sqlserver中、因為sqlserver中允許使用
"inserttablenamevalues(value,value)"這樣的省略式擦入。但是sqlite中是不允許使用省略式插入語句的。
執行刪除語句:deletefromtablenamewhere<條件>
刪除數據語法和sqlserver相同、
刪除表則命令為:droptabletablename
數據更新命令:updatetablenameset欄位=值如果需要條件的話、添加上where語句。
執行查詢語句:select*fromtablename可跟隨where語句
以上就是基礎的sqlite的增刪查改語法和命令。
㈥ sqlite資料庫設計問題
建議全改英文,不然以後可能吃苦
用戶表裡面不應該有許可權和狀態,應該單獨建表
只有單一欄位的表不如不建,感覺是過早優化性能,比如書類、圖書狀態,直接插入一個字元串哪裡不行?
考慮一下圖書管理要精確到單本還是類別,比如同一個ISBN的要區分哪本嗎?如果不區分,圖書的主鍵估計可以直接用ISBN了
其他還有不少問題,但沒時間給你分析了
㈦ SQLite資料庫的應用設計
SQLite是一個嵌入式庫並且實現了零配置、無服務端和事務功能的SQL資料庫引擎。它在廣泛領域內被使用,而且單線程讀寫性能與MySQL比肩,並且保證ACID性。
SQLite的存儲後端是採用Btree實現,多個連接可以並發操作,但是同一時間只允許一個寫著存在。
SQLite在硬碟上一個資料庫一個文件,每個資料庫文件頭部保存有這個資料庫的元信息,包括版本,大小,Btree根節點位置等等。
SQLite將一個資料庫以Page為單位進行管理和讀寫,每一個Page默認為512位元組,通常可以看做一個硬碟sector大小。
㈧ 新人求助!關於sqlite表的設計問題
資料庫應該設計成兩張表:
用戶表:存儲前6行
小精靈表:存儲小精靈信息。小精靈id作為主鍵,有一列為owner:存儲所屬主人的id。
要看用戶有哪些小精靈可以用用戶id為條件在小精靈表中查詢。
㈨ 最近一個課程設計需要用到資料庫,選用了sqlite3,但是使用中遇到一些問題,希望各位大佬指點迷津
sqlite3_open()返回值:
SQLITE_CANTOPEN(14)
返回值含義:
無法打開資料庫文件
錯誤代碼的詳細信息可以通過sqlite3_errmsg函數或 sqlite3_errmsg16函數獲取
原因有兩點:
1、沒有許可權
2 、路徑錯誤
如果以上都沒有問題你可以試試 轉義字元 "\"。下面是我測試使用的代碼:
sqlite3_open("home\\lx\\test.db",&db); //正確返回SQLITE_OK
㈩ 如何在android自帶的sqlite3中創建一個資料庫文件,請大蝦門詳細指導
Android中提供4種數據存儲的方法:(1)SharedPreferences,用鍵值對的方式來存儲數據,是一種輕量級的存儲機制,可以存儲一些屬性等。(2)Files:文件輸入輸出流的方式存儲數據,FileInputStream和FileOutputStream。在Android中,文件是一個應用程序私有的,一個應用程序無法讀寫其他應用程序的文件。寫入SD卡除外。(3)SQLite(4)網路(這個不算吧~~~--!)。
SQLite:
(1)創建和打開資料庫可以使用方法openOrCreateDatabase,它會自動去檢測是否存在資料庫,如果存在則打開,如果不存在則創建一個資料庫;成功返回一個SQliteDatabase對象。(2)創建一張表通過SQL語句實現,調用sqliteDatabase對象的execSQL方法,執行創建表的SQL語句。
(3)向數據表中添加一條記錄可以直接通過SQL語句實現,也可以使用ContentValue對象,ContentValue對象是一個Map,Key是欄位名,Value是值。Cv.put(key,value);然後調用sqliteDatabase對象的
insert(tableName,null,cv)方法插入數據。
(4)刪除數據可以直接執行SQL,也可以執行sqliteDatabase的delete方法。
(5)同理修改數據也是執行SQL或調用update方法,需要傳入ContenValue的對象表示修改的內容。
(6)關閉資料庫sqliteDatabase.close();
(7)刪除指定表調用SQL語句即可。
(8)查詢:在Android中查詢數據是通過Cursor類來實現的,當我們使用SQLiteDatabase.query()方法時,會得到一個Cursor對象,Cursor對象指向的是每條數據。例如cur.moveToFirst();cur.moveToNext();等。在實際開發中,為了能夠更好地管理和維護資料庫,我們會封裝一個繼承自SQLiteOpenHelper類的資料庫操作類。SQLiteOpenHelper的構造方法中分別需要傳入Context、資料庫名稱、CursorFactory(一般默認null)、資料庫版本號。在SQLiteOpenHelper中首先執行的是onCreate方法(當資料庫第一次被創建時)。在構造函數中並沒有真正創建資料庫,而是調用getWriteableDatabase或者getReadableDatabase方法時才真正去創建資料庫,並且返回一個SQLiteDatabase對象。