初識數(shù)據(jù)庫

一,數(shù)據(jù)庫

????1.1 概念

????????????數(shù)據(jù)庫就是存儲數(shù)據(jù)的倉庫

????????????數(shù)據(jù)庫可以實現(xiàn)數(shù)據(jù)的持久化存儲

????????????數(shù)據(jù)庫的本質(zhì)是文件系統(tǒng)

????1.2 DBMS

????????????Database Management System 數(shù)據(jù)庫管理系統(tǒng)

????常見的DBMS:

????????????MySQL:Oracle公司的中小型數(shù)據(jù)庫,從6版本開始收費

????????????Oracle:Oracle公司的大型數(shù)據(jù)庫

????????????DB2:IBM公司的大型數(shù)據(jù)庫

????????????SQLServer:Mircosoft微軟公司的大型數(shù)據(jù)庫

????????????SQLite:移動端的嵌入式的小型數(shù)據(jù)庫


????1.3 數(shù)據(jù)庫的結(jié)構(gòu)

????????????一個DBMS中可以維護管理多個數(shù)據(jù)庫

????????????一個數(shù)據(jù)庫由若干張表組成

????????????一張表包含若干條記錄

????????????一條記錄包含若干字段

????數(shù)據(jù)庫中的表相當于代碼中的實體類:

????????????例如:要研究護士這個實體類,在對護士對象進行數(shù)據(jù)管理時就應(yīng)該有一張對應(yīng)的護士表

????數(shù)據(jù)庫中的字段(列)相當于代碼中實體類的屬性:

????????????例如:寵物具有壽命屬性,在寵物表中就應(yīng)該定義壽命字段

????根據(jù)類創(chuàng)建出的對象相當于數(shù)據(jù)庫表中的一行(一條記錄):

????????????例如:當我們獲取了一個卡車對象時,我們就能夠知道該卡車所具有的所有信息;同樣當我們查詢到一條指定的卡車記錄時也就可以明確該卡車的所有信息


1.4 SQL語言

????????結(jié)構(gòu)化查詢語言 Structured Query Language

????分類:

????????DDL:數(shù)據(jù)定義語言

? ????????????????針對數(shù)據(jù)庫、表進行創(chuàng)建、修改、刪除等操作

????????????????? 關(guān)鍵字:create、alter、drop等

????????DML:數(shù)據(jù)操作語言

? ????????????????針對表中記錄、字段進行操作

????????????????? 關(guān)鍵字:insert、delete、update等

????????DQL:數(shù)據(jù)查詢語言

????????????????? 對數(shù)據(jù)庫的、表、記錄、字段進行查詢

? ????????????????關(guān)鍵字:select、where、in、order by、limit、group by、having等

????????DCL:數(shù)據(jù)庫控制語言

????????????????? 對數(shù)據(jù)庫的安全級別和訪問權(quán)限進行管理的

???????????????? 關(guān)鍵字:revoke、grant、commit、rollback等



1.5.3 登錄數(shù)據(jù)庫

????????方式一:

????????????????1.? 打開cmd

????????????????2. 輸入mysql -uroot -p1234

????????方式二:

????????????????1.? 打開cmd

????????????????2.? 輸入mysql -uroot -p

????????????????3.? 再輸入密碼(此時密碼會以星號顯示)

????????方式三:

????????????????1.? 找到安裝mysql后,軟件所提供的的mysql command line client

????????????????2.? 輸入密碼


二,SQL

????????C(create)R(read)U(update)D(delete)


????2.1 庫的操作

????????建庫:

????????????????????createdatabase 庫名;

????????查看已有的數(shù)據(jù)庫:

????????????????????show databases;

????????刪庫:

????????????????????dropdatabase 庫名;

????????指定要使用的數(shù)據(jù)庫:

????????????????????use 庫名;


2.2 表的操作

????????查看數(shù)據(jù)庫中的表:

????????????????????????show tables;

????????建表:

????????????????????????createtable表名(字段名 字段類型 [約束], 字段名 字段類型 [約束], ...);

????????刪表:

????????????????????????droptable表名;

????????查看表結(jié)構(gòu):

????????????????????????desc表名;

????????修改表結(jié)構(gòu):

????????????????添加新字段

????????????????????????????altertable表名 add 新字段 字段類型 [約束];

????????????????刪除字段

????????????????????????????altertable表名drop字段;

????????????????修改字段類型

????????????????????????????altertable表名 modify 字段 類型;

????????????????修改字段名

????????????????????????????altertable表名 change 舊字段名 新字段名 類型;

2.3 記錄、字段的操作

????????查詢表中所有記錄:

????????????????????????select*from表名;

????????????????????????*表示所有字段(列)

????????添加記錄:

? ? ? ? ? ? ? ?向所有字段添加數(shù)據(jù)

? ? ? ? ? ? ? ? ? ? ? ? ? insertinto表名values(值1, 值2, 值3, ...);

????????????????向指定字段添加數(shù)據(jù)

????????????????????????insertinto表名 (字段1,字段2,...)values(值1,值2,...);

????????????????批量添加(所有字段)

????????????????????????insertinto表名values(值1, 值2, 值3, ...),(值1, 值2, 值3, ...),...;

????????????????批量添加(指定字段)

????????????????????????insertinto表名 (字段1,字段2,...)values(值1,值2,...),(值1,值2,...),...;

????刪除記錄:

????????????????刪除表中所有記錄

????????????????????????deletefrom表名;

????????????????根據(jù)條件刪除指定記錄

????????????????????????deletefrom表名where條件;

????修改記錄:

????????????1. 根據(jù)條件修改指定記錄

????????????????????????update表名set字段名1 = 字段值1,字段名2 = 字段值2,...where條件;

????????????????修改所有記錄

????????????????????????update表名set字段名1 = 字段值1,字段名2 = 字段值2,...;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容