ROS使用tensorflow識別物體、以及出現的報錯。
阿新 • • 發佈:2022-12-04
資料庫
-
含義:儲存和管理資料的倉庫,使用者可以進行增刪改查等操作
-
本質:一款基於網路通訊的應用程式
-
分類:
-
關係型資料庫:資料之間彼此有關係或約束,通常以表格形式儲存,儲存型別的限制
eg:mysql,Oracle,db2,sql server
-
非關係型資料庫:資料通常以key—value方式儲存
eg:redis,mongobd
-
-
特點:
- 持久化儲存
- 保證資料的有效性
- 讀寫速度極高
資料庫管理系統
- 本質:管理資料的一個軟體
關係型資料庫管理系統
- 分類:
- 關係型資料庫服務端:負責管理不同的資料庫
- 關係型資料庫客戶端:向服務端傳輸資料或獲取資料
sql介紹
由來:支援多種程式語言來充當客戶端操作mysql,採用統一的語言(SQL語句)
作用:實現資料庫客戶端和服務端之間的通訊
MySQL資料庫
- 含義:是一個關係型資料庫管理系統
- 特點:
- 開源,不用付費
- 使用標準的sql資料語言格式
- 可存放大型資料量,處理上千萬條資料
- 可安裝在不同的作業系統,提供多種程式語言的操作介面
重要概念
MySQL主要儲存引擎
針對不同的資料應該有不同的處理機制來儲存,而儲存引擎就是不同的處理機制
- innodb:是MySQL5.5版本及之後預設的儲存引擎,儲存資料更安全
- myisam:是MySQL5.5版本之前預設的儲存引擎,速度比innodb更快
- memory:記憶體引擎(資料全部存放在記憶體中),斷電資料丟失
- blackhole:無論怎麼存,都立刻消失(黑洞)
tips:show engines; # 檢視引擎
資料介紹
資料型別
- 用途:建立表時,為表中欄位設定資料型別
- 原則:夠用就行,節省儲存空間
- 常用型別:
- 整數:tinyint,int
- 浮點數:decimal,double
- 字串:char,varchar
- 日期時間:date,time,datetime
- 列舉:enum
- 說明:
- 整型預設情況下是帶符號的,儲存年齡,等級,id等等
- int(10):括號中數字無作用,因此只需寫int
- decimal:decimal(10,2)表示存5位數,小數佔2位
- char:固定長度的字串,若位數不滿則自動補空格,預設長度為1
- varchar:可變長度的字串
- 對於圖片、視訊等檔案,不儲存在資料庫中,而是上傳到伺服器,然後在表中儲存他的儲存路徑
- text字串儲存大文字,一般字元超過4000是推薦使用
型別 | 位元組大小 | eg |
---|---|---|
date | 4 | '2022-12-09' |
time | 3 | '22:00:00' |
datetime | 8 | '2022-12-09 22:00:00' |
資料約束
-
含義:在限定資料型別的基礎上額外增加要求
-
常見約束:
- 主鍵primary key:物理上儲存的順序,型別為int unsigned
- 非空not null:此欄位不能為空
- 唯一unique:此欄位值不允許重複
- 預設default:不填寫時使用預設值
- unsigned:無符號
- zerofill:寬度超出填充0
- 外來鍵foreign key:對關係欄位進行約束,為關係欄位填寫值時會到關聯的表中修改資料,若關聯欄位不存在則丟擲異常