日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

QT操作sqlite概念

發(fā)布時間:2023/12/18 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT操作sqlite概念 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SQLite數(shù)據(jù)庫 '增、刪、改、查'

1. 數(shù)據(jù)庫簡介
?數(shù)據(jù)庫指的是以一定方式存儲在一起,能為多個用戶共享,具有盡可能小的冗余度的特點,是與應(yīng)用程序彼此獨立的數(shù)據(jù)集合。
?// 一定方式:可以理解為策略、算法
?// 網(wǎng)盤相同的文件是以 MD5 碼的形式標記相同的文件,以網(wǎng)絡(luò)共享。

2. 和數(shù)據(jù)相關(guān)的術(shù)語
?DBMS?'數(shù)據(jù)庫管理系統(tǒng)'
?DBA??'數(shù)據(jù)庫管理員'
?DB??'數(shù)據(jù)庫'
?RDB??'關(guān)系型數(shù)據(jù)庫'
?RDBMS?'關(guān)系型數(shù)據(jù)庫管理系統(tǒng)'

3. 數(shù)據(jù)分類
?層次型數(shù)據(jù)庫 - 有序二叉樹,現(xiàn)在用的少
?網(wǎng)絡(luò)型數(shù)據(jù)庫 - 網(wǎng)狀結(jié)構(gòu),用的也少
?關(guān)系型數(shù)據(jù)庫 - '二維表格形式',現(xiàn)在普遍使用的。

4. 常見數(shù)據(jù)庫
?商業(yè)數(shù)據(jù)庫:
??- 甲骨文?Oracle?, 市場占有率 50%
??-?IBM?DB2 , 市場占有率 20%
??- 微軟?Sqlserver?, 市場占有率 15%
?非商業(yè)數(shù)據(jù)庫:
??- Sun Mysql ---> 被Oracle收購,甲骨文旗下產(chǎn)品
??- 開源SQLite,輕量級嵌入式領(lǐng)域關(guān)系型數(shù)據(jù)庫

5. 數(shù)據(jù)庫的操作語言
?'SQL'? 結(jié)構(gòu)化查詢語言
?是一種特殊目的的編程語言,實現(xiàn)數(shù)據(jù)庫的查詢和程序設(shè)計,常用于關(guān)系型數(shù)據(jù)庫系統(tǒng),實現(xiàn)數(shù)據(jù)增、刪、改、查等操作。

三、SQLite 數(shù)據(jù)庫的操作
1. 安裝
?在線安裝?$:?sudo apt-get install sqlite3
?離線安裝
?$:?sudo dpkg -i /home/tarena/Downloads/sqlite3/sqlite3_3.7.9-2ubuntu1.2_amd64.deb
2. 在終端輸入?sqlite3?,進入sqlite命令行操作界面
?$:?sqlite3
?SQLite version 3.7.9 2011-11-01 00:52:41
?Enter ".help" for instructions
?Enter SQL statements terminated with a ";"
?sqlite>
?sqlite>
?...
3. sqlite指令?instructions?指令
?.help??// 幫助手冊,列出所有sqlite所有幫助信息
?.quit??// .e 或 .exit 退出
?Ctrl + L?// 實現(xiàn)清理屏幕
?;???// 英文分號代表sqlite語句命令結(jié)束,回到正常sqlite命令行

四、在命令行使用SQL語句操作sqlite數(shù)據(jù)庫
1. 創(chuàng)建數(shù)據(jù)庫文件(DB)
?$:?sqlite3 DatabaseName.db
?創(chuàng)建成功后,會自動進入sqlite命令行的界面"?sqlite>?"
?eg:
?$: sqlite3 testDB.db? // 打開名為testDB的數(shù)據(jù)文件,不存在則創(chuàng)建
2. 輸入"?.database?" 查看數(shù)據(jù)庫文件信息
?seq?// 序號
?name?// 數(shù)據(jù)庫名
?file?// 數(shù)據(jù)庫文件名
?文件權(quán)限:- rw- r-- r--
3. 創(chuàng)建數(shù)據(jù)表? ?'語法'
?CREATE TABLE table_name (
?????列名1? 類型1? [約束],
?????列名2? 類型2? [約束],
?????...);
?【注】sql語句中不區(qū)分大小寫,習慣把'關(guān)鍵字'(create table)寫成大寫

?eg:
??創(chuàng)建一個公司員工信息表company,
??列包含:ID、姓名、年齡、地址、薪資
?sqlite>?CREATE TABLE company(
?...> id INT PRIMARY KEY NOT NULL,
?...> name TEXT NOT NULL,
?...> age INT NOT NULL,
?...> address TEXT,
?...> salary REAL NOT NULL);
?sqlite>?.table???????---> '? .table? '?// 查看表的名字?.ta
?company
?sqlite>?.schema??????---> '? .schema? '?// 查看創(chuàng)建表詳細信息?.sc
?CREATE TABLE company(
?id INT PRIMARY KEY NOT NULL,
?name TEXT NOT NULL,
?age INT NOT NULL,
?address TEXT,
?salary REAL NOT NULL);

?'[約束]':
??PRIMARY KEY???// 主鍵約束,數(shù)據(jù)唯一,并且可以加快數(shù)據(jù)訪問
??NOT NULL????// 非空,限制插入數(shù)據(jù)不能為空
?'類型關(guān)鍵字':
??INT??整型
??TEXT?文本字符串
??REAL?浮點數(shù)
練習:
?創(chuàng)建學生成績的數(shù)據(jù)表
?表名:Student
?列名:ID(INT)? NAME(TEXT)? SCORE(REAL)
?要求ID唯一,每一列的數(shù)據(jù)非空。
?sqlite>?create table Student(
?? ...> ID INT PRIMARY KEY NOT NULL,
?? ...> NAME TEXT NOT NULL,
?? ...> SCORE REAL NOT NULL);

4. 刪除數(shù)據(jù)庫表? '語法'
?DROP? TABLE? 表名;
?eg:
?DROP TABLE Student;
?將Student表刪除,里面的數(shù)據(jù)也會被刪除,且數(shù)據(jù)恢復(fù)比較困難。

5. 插入數(shù)據(jù) '語法'
?INSERT? INTO?? 表名
????(列名1, 列名2, 列名3...)
????VALUES(數(shù)據(jù)1, 數(shù)據(jù)2, 數(shù)據(jù)3...);
?eg:向company表中插入數(shù)據(jù)
??10086?"張飛"?30歲??"四川"? 800.5
??10011?"關(guān)羽"?31歲??801.5

?INSERT INTO company
????(id, name, age, address, salary)
????VALUES(10086, "張飛", 30, "四川", 800.5);
?INSERT INTO company
????(id, name, age, salary)
????VALUES(10011, "關(guān)羽", 31, 800.5);

6. 查詢數(shù)據(jù) '語法'
?select * from company;
?eg:
?sqlite>?select * from company?;
?10011|關(guān)羽|31|成都|801.5
?10011|關(guān)羽|31|成都|801.5
?10086|張飛|30|四川|800.5
?10000|曹操|(zhì)35||999.9
?10002|劉備|34|河南|855.5
?10013|關(guān)興|28|湖南|600.5
?10015|劉禪|18|北京|300.0
?10014|曹植|16|廣東|1200.5
?10008|趙云|26|上海|888.8

7. 刪除數(shù)據(jù) '語法'
?DELETE FROM?表名?WHERE?[條件]??// 一般使用唯一屬性進行匹配刪除
?eg:// 比如 id
?DELETE FROM company WHERE id = 10000; ?

8. 修改數(shù)據(jù) '語法'
?UPDATE?表名?SET?列名1 = 數(shù)值1, 列名2 = 數(shù)值2...??WHERE [條件];??
?// 一般使用唯一屬性進行匹配修改單條信息
?eg:
?UPDATE company SET age= 26 WHERE id= 10014;
?UPDATE company SET address= "上海" WHERE id < 10014;????
?// 算數(shù):+ - * / %?? 比較:==? =? !=? <> >? <? >=? <=? !<? !>
?// 邏輯:AND? BETWEEN? EXISTS? IN? LIKE
?// 邏輯:GLOB? NOT? OR? IS? UNIQUE

9. 查詢數(shù)據(jù) '語法'
?// 所有列,可以用 * 替換
?SELECT? 列名1, 列名2, 列名3...??FROM?? 表名;
?SELECT? 列名1, 列名2, 列名3...??FROM?? 表名 WHERE [條件];
?SELECT? 列名1, 列名2, 列名3...??FROM?? 表名 WHERE [條件]
????ORDER BY?列名??ASC/DESC?;??? // ASC 升序,DESC 降序
?eg:
?SELECT id, name FROM company;
?SELECT id, name FROM company WHERE id > 10014;
?SELECT * FROM company WHERE salary < 1000;
?SELECT id,name FROM company ORDER BY id ASC;

10. 擴充SQLite數(shù)據(jù)庫操作,了解命令:?LIKE? /?LIMIT? /??DISTINCT

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的QT操作sqlite概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。