通常使用sqlite3這個工具使用資料庫。
常用命令
**
sqlite3 mydatabase.db 建立乙個資料庫,檔名稱為mydatabase
.tables 顯示當前資料庫中,所有表有哪些
create table userinfo
(username, password) 建立乙個表,名稱是userinfo
insert into userinfo
(username, password)
values
("xiaoming"
,123
); 向資料表userinfo中插入,username為xiaoming, password為123
select * from userinfo; 查詢userinfo表中的所有資料。
update 表名稱 set 更新資料庫中所有的資料記錄用
update userinfo set password=
111; 更新所有行的password欄位的值
update userinfo set password=
111 where username=
"shiqianjun"
; 更新某些制定的記錄物件的password,此時要用where語句進行篩選定位
delete from userinfo; 清空某張表
detele from userinfo where username=
"xiaoming"
; 清空指定行的記錄,用where語句
引入sql類庫:
在pro工程檔案中引入sql,引用方法 qt+=sql
或在原來的基礎上拼接,引用方法是用空格在後面加上sql: qt += core gui sql
在窗體標頭檔案.h 中引入
#include
//資料庫使用
#include
//可以執行資料庫語句(建立表,增刪減改)
*oracle對大級別資料庫,mysql是中量, sqlite是輕量。
在標頭檔案.h 中的 private: 下建立乙個引入資料庫的變數db
qsqldatabase db;
//建立資料庫使用db
qsqlquery *sql;
//執行資料庫語句使用sql,要加*用指標變數。因為要先建立資料庫才能使用(就是先得執行db的adddatabase和setdatabasename。這個時候用指標就沒關係。
然後在cpp檔案中
db = qsqldatabase::
adddatabase
("qsqlite");
//建立資料庫型別為sqlte3
db.setdatabasename
("userinfo.db");
//通過這個方法來建立資料庫
db.open()
;//只有開啟一次,才能在電腦資料夾中顯示這個userinfo.db檔案
sql =
newqsqlquery()
;//得先new乙個才能用sql
sql-
>
exec
("create table userinfo(username ,password)");
sql-
>
exec
("insert into userinfo(username,password) values(123,456)"
);
*qt操作的sqlite如果資料庫或是表已經存在,那麼不會再次建立,而是開啟。
*exec()這個不推薦使用,不安全以及擴充套件性不好(注入問題)。應該先使用prepare(),再bindvalue()
sql-
>
prepare
("insert into userinfo values(:username, :password, :confirm_password, :realname)");
sql-
>
bindvalue
(":username"
, username)
;sql-
>
bindvalue
(":password"
, password)
;sql-
>
bindvalue
(":confirm_password"
, confirm_password)
;sql-
>
bindvalue
(":realname"
, realname)
;
tableview控制項顯示資料庫中的內容為 **行
修改窗體的標題屬性lwindowtitle
#include
private
:qsqlquerymodel *qmodel;
//指標型別
通過資料模型來渲染**
qmodel =
newqsqlquerymodel()
;qmodel-
>
setquery
("select * from userinfo");
ui->tableview-
>
setmodel
(qmodel)
:
qtableview控制項
通過qsqlquerymodel來渲染資料
通過setmodel的形式加入qsqlquerymodel物件。
通過qsqlquerymodel來從資料庫中查詢出需要的資料
如要要修改顯示的表頭
qmodel-
>
setquery
("select username as 使用者名稱,password as 「密碼」from userinfo"
);
第二種方法:通過qsqlquerymodel的設定表頭的方法來實現
qmodel-
>
setheaderdata(0
,qt::horizontal,
"使用者名稱");
qmodel-
>
setheaderdata(1
,qt::horizontal,
"密碼"
);
*插入完資料後,需要重新查詢一次才可以實時更新顯示
qmodel-
>
setquery
("select * from userinfo)
;
請打賞一點點就好^^ 在QT中使用sqlite
sqlite sql 是一款開源輕量級的資料庫軟體,不需要server,可以整合在其他軟體中,非常適合嵌入式系統。qt5以上版本可以直接使用sqlite qt自帶驅動 引入sql模組 在qt專案檔案 pro檔案 中,加入sql模組 qt sql include include include檢查連線...
QT簡單使用SQLITE3
pro檔案 qt sql 件 qsqldatabase m pdatabase qsqlquery m psqlquery cpp檔案 tr user login.db 路徑一定要準確,這裡使用相對路徑 也就是在專案生成的debug目錄下 qfileinfo file dbfilename 用於判斷...
python下的sqlite使用
環境 python2.7 在sqlite中有64位的 rowid,rowid預設是自增的。我們用這個特性,來處理我們的增量資料。建立乙個sqlite記錄資料 coding utf 8 import sqlite3 conn0 sqlite3.connect local info.db 獲取表名列表 ...