日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux学习笔记——数据库

發布時間:2024/1/1 linux 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux学习笔记——数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、數據庫簡介

1.數據data

????????能夠輸入計算機并能被計算機程序識別和處理的信息集合

2.數據庫Database

? ? ? ? 數據庫是在數據庫管理系統管理和控制之下,存放在存儲介質上的數據集合

3.文件管理和數據庫管理的區別

文件優點:

? ? ? ? 數據可長期保存

? ? ? ? 能大量存儲數據

文件缺點:

? ? ? ? 數據冗余度大,數據一致性、完整性難以維持

? ? ? ? 數據與程序缺乏高度獨立性

數據庫:

? ? ? ? 數據組織結構化

? ? ? ? 數據冗余度小,易擴充

? ? ? ? 具有較高的數據與程序之間的獨立性

? ? ? ? 統一的數據控制

二、SQLite3

安裝數據庫

? ? ? ? sudo apt-get install sqlite3

打開數據庫

????????sqlite3

數據庫命令

? ? ? ? .help:打開數據庫幫助文檔

? ? ? ? .databases:列出數據庫名稱及其依附文件

? ? ? ? .tables:顯示數據庫有哪些表

? ? ? ? .schema:顯示數據庫中表具體結構

? ? ? ? .quit:退出數據庫

SQLite3語法

SQLite3數據類型

????????SQLite 數據類型是一個用來指定任何對象的數據類型的屬性。SQLite 中的每一列,每個變量和表達式都有相關的數據類型。

您可以在創建表的同時使用這些數據類型。SQLite 使用一個更普遍的動態類型系統。在 SQLite 中,值的數據類型與值本身是相關的,而不是與它的容器相關。

存儲類描述
NULL值是一個 NULL 值。
INTEGER值是一個帶符號的整數,根據值的大小存儲在 1、2、3、4、6 或 8 字節中。
REAL值是一個浮點值,存儲為 8 字節的 IEEE 浮點數字。
TEXT值是一個文本字符串,使用數據庫編碼(UTF-8、UTF-16BE 或 UTF-16LE)存儲。
BLOB值是一個 blob 數據,完全根據它的輸入存儲。

SQLite 的存儲類稍微比數據類型更普遍。INTEGER 存儲類,例如,包含 6 種不同的不同長度的整數數據類型。

?SQLite3創建表

例:CREATE TABLE database_name.table_name(column1 datatype PRIMARY KEY(one or more columns),column2 datatype,column3 datatype,.....columnN datatype, );

?創建操作:create table stu (id int primary key not null,name text,score real);

主鍵(primary key not null)必須唯一,不能重復,并且不能為空

SQLite3刪除表

? ? ? ? 刪除操作:drop table stu;

????????

SQL語句(增刪查改)

insert

????????SQLite 的?INSERT INTO?語句用于向數據庫的某個表中添加新的數據行

????????全部插入:sqlite> insert into stu values(1,'zhangsan',78);
????????部分插入:sqlite> insert into stu (id,name)要插入的列名??values(2,'lisi')對應列的數據;

select

? ? ? ? 查詢表:select * from stu;//表名:stu

? ? ? ? 精準查詢:select * from stu where name = 'zhangsan';//查詢名字為張三的

? ? ? ? 模糊查詢:select * from stu where score >?75;//查詢成績大于75的

? ? ? ? 多條件查詢:select * from stu where score > 60 and name = 'zhangsan';

? ? ? ? 升序查詢:select * from stu order by score asc;//asc升序

? ? ? ? 降序查詢:select * from stu order by score desc;//desc降序

update

? ? ? ? 修改:update stu set score = 66 where name = 'wang';//將姓名為wang的成員成績改為66;where后的內容為要修改的對象,where前表示要修改的內容

? ? ? ? 修改:update stu set name = 'wang',score = 69 where id = 4;//將id為4的成員的name和score的內容修改;

delete

????????SQLite 的?DELETE?查詢用于刪除表中已有的記錄。可以使用帶有 WHERE 子句的 DELETE 查詢來刪除選定行,否則所有的記錄都會被刪除。

? ? ? ? ?刪除單行:delete from stu where id = 5;//刪除id為5的整行

? ? ? ? 刪除多行:delete from stu where id = 5 and name = 'zhangsan';

alter

????????用來在已有的表中添加一個新的列

? ? ? ? 添加一列:alter table stu add column address text;//添加一列名為address,屬性為text的列

????????

c接口SQLite3

打開數據庫函數

????????sqlite3_open(const char *filename, sqlite3 **ppDb)

? ? ? ? //參數1:數據庫名

????//sqlite3_exec(sqlite3 *db),
?? ?//參數1:句柄的指針
?? ?//參數2:sql語句
?? ?//參數3:回調函數 ? 函數指針 ? //參數3.4 查詢的時候用,其他時候可以忽略
?? ?//參數4:給回調函數傳參
?? ?//參數5:存儲錯誤信息,不存則NULL
?? ?//返回值:失敗返回0,成功返回

Select

3.sqlite3_get_table

4.sqlite_close

????????

總結

以上是生活随笔為你收集整理的Linux学习笔记——数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。