MySQL資料庫(一)

2021-10-21 13:47:53 字數 2862 閱讀 1746

​ 由於計算機的記憶體資源有限且掉電後資料會丟失,因此需要把程式中用到的資料儲存下來以到便於關機後還能繼續使用,而儲存資料最簡單的方法就是把資料以檔案形式寫入到磁碟中,我們把這個過程叫資料持久化。

​ 但隨著程式的功能越來越複雜、資料量越來越來大,管理資料就成了大問題,因為讀寫檔案並解析出資料需要大量的重複操作,並且從海量的資料中快速查詢出指定的資料需要複雜的邏輯。

​ 如果程式都各自實現自己的讀寫資料的**,一方面效率低且容易出錯,另一方面是每個程式訪問資料的介面不同,**難以復用,浪費時間。

​ 所以我們的前輩就發明出一種專門用來管理資料的軟體,它就是資料庫。

​ 簡單來說資料庫就是電子化的檔案櫃,儲存電子檔案的場所,使用者可以方便、快速對檔案櫃中的資料進行增加、刪除、修改、查詢。

​ 注意:資料庫指的是管理資料的軟體,而不是儲存資料的倉庫。

​ 層次型資料庫:層次模型就是以"上下級"的層次關係來組織資料的一種方式,層次模式的資料結構看起來就像是一棵樹。

​ 網狀型資料庫:把每個資料節點和其他的資料節點連線起來,它的資料結構看起來就像是城市之間的路網。

​ 關係型資料庫:把資料看作乙個二維表,任何資料都可以通過列號+行號進行定位,它的資料模型看起來就像是一張excel表。

​ 隨著時間的推移和市場競爭,最終基於關係模型的資料獲得了絕對的市場份額,因為相比層次型、網狀型資料庫,關係型資料庫的理解和使用最簡單。

​ sql是結構化查詢語言的縮寫(structured query language)簡稱sql,這是一種專門用來訪問的運算元據庫的語言,主要用來對資料庫中的資料進行新增、刪除、修改、查詢等操作,還可以對資料庫進行管理和維護。

​ 所有的資料庫基本都支援sql語言,所以我們通過學習sql一種語言就可以方便的操作各種資料庫。

​ ansi組織定義了統一的sql語言標準,但不同的資料庫對標準sql支援程式不同,大部分資料庫都在標準sql的基礎上進行了擴充套件,如果只使用標準的sql語句,理論上所有的資料庫都支援,但資料使用了某個資料庫的擴充套件語句,換乙個資料庫可能就不能執行了。例如:oralce資料庫對sql的擴充套件叫pl/sql而微軟對sql的擴充套件叫t-sql。

​ 我們把各個資料庫對sql的擴充套件功能稱之為"方言"。

​ 注意:sql語言對大小不敏感,它的關鍵字大小寫都可以,但是資料庫名、表名、欄位名等大小寫是區分的。

​ 資料控制語言:用於對許可權進行授予和**操作。

​ 資料定義語言:用於建立、修改、刪除資料庫物件。

​ 資料操作語言:用於新增、刪除、修改資料表中的資料。

​ 資料查詢語言:用於查詢資料庫的資料,只有一條語句,但也是sql最常用的語句。

​ 事務控制語言:用來維護資料的一致性。

​ 主要有三大類資料型別:數值、字元、日期,這三種型別是在程式語言的基礎上再進行擴充套件的。

tinyint

1byte

smallint

2byte

int4byte

bigint

8byte

float

4byte

double

8byte

time

3byte

date

3byte

char

0~255byte

varchar

0~65535byte

​ mysql -u使用者名稱 -p密碼 方便但有洩漏密碼的風險

​ mysql -u使用者 -p 隱藏密碼的輸入,建議使用此方法

​ 先使用 telnet ip 或者 ssh user@ip 登入到安裝mysql的伺服器。

​ 然後再使用mysql -u使用者名稱 -p登入。

​ 注意:安裝寶塔面板時,安裝了mysql資料庫,可以繼續使用。

​ 參考資料庫環境搭建

​ 使用libmysqlclient-dev庫+mysql c api,後續講解。

​ 注意:登入後要選擇資料庫。

​ grant 《許可權》 on 《物件》 to 《使用者》; 授予許可權

​ revoke 《許可權》 on 《物件》 from 《戶名》; **許可權

​ flush privileges; 當許可權發生改變後,要進行重新整理

create table 表名(欄位名 資料型別,...);

create table student(

name char(20),

*** char,

id int);

show tables; 可以檢視資料中所有的表。

desc 表名; 可以檢視表的結構。

a、修改表名

rename table 舊表名 to 新錶名;

rename table student to student;

b、增加列
alter table 表名 add(欄位名 資料型別);

alter table student add(id int);

c、刪除列
alter table 表名 drop 欄位名;

alter table student drop addr;

注意:刪除列時,資料也會隨之刪除。

d、修改列型別

alter table 表名 modify 欄位名 新型別;

alter table student modify id char(10);

e、修改列名
alter table 表名 change 舊欄位名 新欄位名 新型別;

alter table student change id stu_id char(10);

a、刪除表資料,保留表結構

truncate 表名;

b、刪除表資料和表結構

drop table 表名;

資料庫 MySQL資料庫(一)

一 mysql資料庫系統 mysql資料庫系統就是用來對資料庫 資料的一些管理 二 資料庫系統 1.資料庫 就是用來儲存各種資料的 2.資料庫管理系統 就是用來管理各種資料庫的資料的乙個系統 三 常見的一些資料庫系統 mysql db2 oracle sql server maradb 四 資料庫 ...

MySQL資料庫 一 MySQL資料庫簡介

mysql資料庫是常見的資料庫,對mysql資料庫的學習主要從下面幾方面展開,記得點開檢視哦!1.mysql c s架構 mysql的架構是c s架構,即客戶端 伺服器的架構 在root使用者下進行 mysql字元編碼 檢視mysql預設的字元編碼 預設的字元編碼是latin1 show varia...

資料庫 MySQL資料庫初識(一)

資料庫 db,database 概念 資料倉儲,軟體,安裝在作業系統 window linux,mac 之上!sql,可以儲存大量的資料。500萬!作用 儲存資料,管理資料 資料庫 database 是按照資料結構來組織 儲存和管理資料的倉庫。每個資料庫都有乙個或多個不同的 api 用於建立,訪問,...