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) )
㈡ win10 sqlite3創建的資料庫文件在哪
在VS 中新建一個 UWP 應用項目。
在 解決方案資源管理器 窗口中的 引用 節點上右擊,然後執行 管理NuGet程序包菜單。
查找並安裝以下兩個組件,如下圖所示:
注:
-> SQLite.WUP.Native是必須安裝的,它是封裝sqlite操作函數的本地庫,如果你用的是C++語言來開發,可以直接調用。如果不安裝這個,在運行時會報找不到 sqlite3.dll 的錯誤。
-> SQLiteWrapperUWP-PCL也應該安裝,它對sqlite的操作介面進行進一步封裝,並且支持 LINQ 處理。
安裝成功後,在引用列表會看到相關條目,如下圖所示:
在代碼中引入以下相關的命名空間,如下圖所示:
要連接並創建表,要使用 SQLiteConnection 類,在構造實例時,用到兩個必須的參數(其他參數可選):
sqlitePlatform:類型是 ISQLitePlatform 介面,它的實現類型是 SQLitePlatformWinRT ;
databasePath:資料庫文件的路徑,注意,由於UWP應用默認允許訪問的路徑不多,通常是本地目錄。為了避免發生異常,可以通過 ApplicationData類來獲取localFolder實例,然後從目錄實例的 Path 屬性得到本地目錄的完整路徑,再傳遞給該參數。
比如這樣建立連接,如下圖所示:
當連接完不再需要時, 可以調用Dispose方法釋放掉,或者乾脆把連接的實例化放到一個 using 語句塊中。
定義數據表模型,比如,我定義了一個 Student 類,它表示一張表,如下圖所示:
註:對於要用於建表的類,要加上 Table 特性,對於屬性,其實是映射到列,要加上Column特性。AutoImcrement特性表示欄位的數值是自增長列。
創建表。實例化資料庫連接後,可以調用連接對象的 CreateTable 方法直接創建表,如下圖所示:
CreateTable方法如果返回0,表明表創建無誤。
插入數據。實例化連接對象後,訪問 Insert 方法插入單條數據;InsertAll 方法插入多條數據;InsertOrReplace插入數據並替換已存在的記錄;InsertOrReplaceAll 插入多條數據,並替換已存在項,如下圖所示:
上面代碼先用DeleteAll方法刪除表中的所有記錄,然後插入四條記錄,插入方法返回已成功寫入的記錄數目,上面代碼應返回 4 。
查詢數據。可以用 LINQ 來查詢,如下圖所示:
Table 方法返回一個 TableQuery實例,然後可以用 LINQ語句來處理。本例中篩選所有數據,並接照Age屬性升序排列。
㈢ 如何在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對象。
㈣ linux sqlite3用資料庫命令怎麼創建資料庫
方法/步驟 首先下載 Navicat for SQLite,下載後解壓縮。 運行navicat.exe 這個主程序,在左上角點擊連接 在彈出窗口中輸入連接名,選擇類型,然後在下面選擇資料庫文件,或者資料庫保存位置。 這樣就在指定位置創建了一個Sqlite資料庫文件了
㈤ 如何在Android開發中建立SQLite3資料庫
創建一個類繼承SQLiteOpenHelper
在構造方法中創建資料庫,在onCreate()方法中創建表
java">{
DemoDbHelper(Contextcontext){
super(context,"user.db",null,1);//上下文,資料庫名,默認cursor,版本號
}
@Override
publicvoidonCreate(SQLiteDatabasedb){
//TODOAuto-generatedmethodstub
db.execSQL("CREATETABLEIFNOTEXISTSinfo(idTEXTPRIMARYKEY,nameTEXTNOTNULL)");//創建表
}
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
//TODOAuto-generatedmethodstub
//後續版本升級用,可以不寫
}
你還可以寫個DemoDbManager方便使用
publicclassDemoDbManager{
privateDemoDbHelperhelper;
privateSQLiteDatabasedb;
publicDemoDbManager(Contextcontext){
helper=newDemoDBHelper(context);
db=helper.getWritableDatabase();
}
//之後你可封裝增刪改查的方法
//都可以用db.execSQL("SQL語句");
}
㈥ 如何用sqlite3
sqlite的安裝
1. 首先是下載sqlite,可以該頁面下載:http://www.sqlite.org/download.html
當前的最新版本為:sqlite-shell-win32-x86-3070701.zip這個是windows下sqlite的命令行管理工具,用它可以管理sqlite資料庫文件
同時最好把文檔也下載下來,裡麵包含了詳細的sqlite的使用說明:sqlite-doc-3070701.zip
2.
sqlite無需任何配置和安裝,只要將下載下來的shell文件解壓到任何你覺得合適的地方,然後將其加入到path環境變數就可以了(加入path環
境變數是為了直接在命令行使用sqlite3,不加的話需要詳細的指定sqlite3的路徑,如d:/sqlite/sqlite3)。
3. 驗證一下是否安裝成功。
要想掌握一個軟體的使用,最好的方式是使用軟體自帶的幫助和文檔,而不是一直利用google。文檔和幫助一般包含了該軟體所有的用法,畢竟那是有軟體的開發者所寫的,他對軟體是最了解的。
首先來看一下sqlite的幫助:
win + r輸入cmd,進入命令行,並輸入sqlite3,進入sqlite的命令行管理工具。
然後輸入.help,則可以看到sqlite3的管理工具的所有用法了:
為了照顧e文不好的朋友,這里將所有的命令解釋一遍,並給出相應的示例:
首先創建一個資料庫test.db,並在該資料庫中創建一張表user
1.因為之前進入了sqlite3了,先用.quit退出sqlite
2.再用sqlite3 test.db載入或創建指定資料庫
3.然後用sql語句創建一個一張表user(關於sql語句,可以去看些sql入門的書籍,在sqlite文檔中也有對應的sql的介紹,不過
感覺那個不適合入門,因為畢竟很多資料庫的基本知識裡面都沒有講到)(同時還需要注意的是sqlite是可以不指定列的類型的,這也是sqlite的一個
特色,它的列類型是動態的)
4.然後又用到了一個顯示當前資料庫中存在的數據表的命令.tables(.help中倒數第三個)
5.最後向數據表中插入了一條數據(sql語句,不是.help中的命令)
接下來從上到下介紹所有命令的使用:
.backup ?DB? FILE
將資料庫文件備份到指定的文件中,默認(在不指定資料庫名時)會備份main資料庫)
備份生成的文件打開後
.l ON|OFF
設置在遇到錯誤時就停止sqlite工具的執行,默認時是OFF的。
.databases
列出(當前資料庫文件中)附加的所有資料庫的名字和文件
.mp ?TABLE1? ?TABLE2? ...
將資料庫列印為sql文本格式。如果?TABLE1?指定了,就只列印出名字中包含了TABLE1的數據表。
.echo ON|OFF
在顯示的結果前是否顯示輸入的命令
注意:這個是以column模式顯示了,後面會講到如何將顯示方式設置為column
.exit
不解釋,退出程序
.explain ?ON|OFF?
開啟或關閉適合於的輸出模式。不指定ON或OFF時,默認為ON。
.genfkey ?OPTIONS?
OPTIONS有如下幾個值:
--no-drop:不刪除舊的外鍵觸發器
--ignore-error:忽略表的外鍵錯誤
--exec:立即執行生成的sql語句
這個應該是設置在違反外鍵約束時,sqlite如何做。具體的沒嘗試。
.headers ON|OFF
是否顯示表頭
.mode MODE ?TABLE?
設置輸出模式,當?TABLE?指定時,就是該輸出模式只應該在該表的輸出上
.header on時的各輸出模式
.header off時的各輸出模式
.help
顯示幫助
.import FILE TABLE
讀取文件中的數據插入到指定表中
注意這里的分隔符.separator是\t,所以data.txt中是以tab分隔的,默認的是,(此時就是2,yuan2,2)
indices ?TABLE?
顯示指定表的所有索引。表沒指定時,顯示所有索引。
.load FILE ?ENTRY?
載入一個外部庫文件
.log FILE|off
開啟或關閉日誌功能。
關閉:.log off
開啟,並將日誌輸出到標准輸出流:.log stdout
開啟,並將日誌輸出到標准錯誤六:.log stderr
開啟,並將日誌輸出到指定文件:.log d:/sqlite3/log.txt
nullvalue STRING
值為NULL時,顯示的字元串。默認為""
.output FILENAME
將所有的輸出都輸出到指定文件
.output stdout
將所有的輸出都輸出到標准輸出流(默認就是),就是輸出到控制台上
.prompt MAIN CONTINUE
替換標準的提示。未嘗試
.quit
不解釋,同.exit,退出程序。
.read FILENAME
執行指定文件中的sql語句
.restore ?DB? FILE
從備份文件中還原資料庫。默認是還原main資料庫。
1. 首先我們先備份的main資料庫
2. 然後將數據刪除
3. 然後在還原main資料庫,看數據是否還原成功
.schema ?TABLE?
顯示指定表的創建語句。表未指定時,顯示所有表的創建語句。
因為之前創建了索引,所以包含索引創建語句。
.separator STRING
設置輸出模式.mode和導入數據.import的分隔符。
.show
顯示當前的設置。
.tables ?TABLE?
列出所有表名。
.timeout MS
只在指定的毫秒內嘗試打開鎖定的表,而不是一直嘗試打開。
.width NUM1 NUM2 ...
設置.mode column中每個列的寬度。每個列默認的寬度是10個字元,過長時會被截斷。
第一列設為1個字元,第二列設為0表示保持不變,第三類不設置也是保持不變
.timer ON|OFF
是否開啟cpu耗時度量。
㈦ 如何創建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的增刪查改語法和命令。