随着我們互聯網技術的不斷發展,我們對于互聯網的需求也是水漲船高,依稀記得十年前,僅僅是要求在手機上下載的遊戲不超過50M就好或者在網頁上看視頻看電影可以緩存的時間短一些就可以了,然而現在的電腦網速和硬盤内存容量和之前相比,早已是一個天上一個地下了。
與之随之而來的同樣也是巨大龐大的網絡數據量,大量衆多的數據飛快的産生,那麼我們究竟該如何更加安全有效的存儲、檢索、管理它們呢?于是對數據的有效存儲、高效訪問、方便共享和安全控制等問題成為了信息時代一個非常重要的問題。
那麼可能有人就會說,我們存儲數據不是有文件或者文件夾嗎?這些不是可以存儲數據嗎?是的,這些東西的确是可以存儲數據的,但是,使用文件存儲數據有着一些缺點:
所以為了解決上述文件存儲數據的問題,我們使用了數據庫。它能更有效的管理數據。數據
庫可以提供遠程服務,即通過遠程連接來使用數據庫,因此也稱為數據庫服務器。
2、數據庫是啥呢?簡而言之,數據庫就是一個軟件,或者說是一類軟件。這個軟件的功能呢,也很明了,就是用來管理數據的(一個用來裝數據的倉庫)。至于我們之前學到的數據結構,你以為隻是用來刷題用來應付考試的嗎?大錯特錯啦!其實呢,是用來讨論具體如何組織和管理數據的!而我們管理的目的,就是來“增删查改”,來管理我們庫裡的數據的。
那麼我們數據庫裡的數據一般都是保存在哪裡呀?一般我們都是保存在硬盤裡的。這裡說下一個計算機的基本組成部分,如果把它想象成人的話,那麼大概就是這個樣子:
CPU作為它的腦袋,用來處理各種奇奇怪怪的信息,内存和外存作為它的存儲設備,用來存儲它的小腦袋裡的信息,可以想象為它的身體和小肚子。而輸入設備呢可以當成它吃飯的那隻手,主要用來往腦袋和肚子裡灌輸信息和知識。輸出設備可以當成寫作業的那隻手,這一隻手啊,用來将它的想法的處理的結果輸出出來,寫在紙上,給其他人觀看。
但是内存呢和外存也是有着顯著區别的,主要有以下:
1、内存儲存空間較小,外存較大。
2、内存訪問速度快,外存滿。
3、内存成本高,外存成本低。
4、内存中的數據,斷電後消失,外存斷電後依然存在。
3、數據庫有哪幾類呢?我們常說的數據庫大體上可以分為兩類:
關系型數據庫:
是指采用了關系模型來組織數據的數據庫。 簡單來說,關系模型指的就是二維表格模型,而一個關系型數據庫就是由二維表及其之間的聯系所組成的一個數據組織。
都基于基于标準的SQL,隻是内部一些實現有區别。常用的關系型數據庫如:
1. Oracle:甲骨文産品,适合大型項目,适用于做複雜的業務邏輯,如ERP、OA等企業信息系統。收費。
2. MySQL:屬于甲骨文,不适合做複雜的業務。開源免費。
3. SQL Server:微軟的産品,安裝部署在windows server上,适用于中大型項目。收費。
非關系型數據庫:
不規定基于SQL實現。現在更多是指NoSQL數據庫,如:
1. 基于鍵值對(Key-Value):如 memcached、redis
2. 基于文檔型:如 mongodb
3. 基于列族:如 hbase
4. 基于圖型:如 neo4j
下面來說說兩種類型數據庫的具體區别,但是首先關系型數據庫和非關系型數據庫在使用場景上差别比較大,所以并不存在孰強孰弱,隻有結合自身的業務特點才能發揮出這兩類數據庫的優勢:
4、MySQL具體是啥啊?
MySQL這個數據庫軟件呢,是一個“客戶端 - 服務器”結構的程序。“客戶端”和“服務器”在連接的時候通過網絡連接,這兩個名詞,也是分别代指網絡通信時候的雙方。
主動發起網絡請求的一方,成為“客戶端”,被動接受請求的一方,成為“服務器”。而“客戶端”給“服務器”發送的數據,成為“請求”,“服務器”給“客戶端”返回的數據,成為“響應”。對于MySQL這個軟件而言,隻要我們安裝好了MySQL,就相當于既是安裝了“客戶端”,也是安裝了“服務器”。
我們在安裝好MySQL後,在自己的電腦中是既有“服務器”也有“客戶端”,即:
我們同樣也可以用自己的電腦和别人的服務器進行網絡通信:
或者在複雜場景上,多個客戶端對應一個服務器:
二、數據庫基礎1、數據庫的基本操作都有哪些呢?
在我們安裝好MySQL軟件,輸入好密碼後,就進入了MySQL的操作界面:
當出現 “ mysql> ”這個提示語時,我們就可以輸入sql語句,來對數據庫進行操作了。
1、顯示當前的數據庫:
show databases;
注意:關鍵字和關鍵字之間要用空格隔開,多少個無所謂。
輸入sql語句時,大寫和小寫都是可以的,主要看個人習慣。
語句最後得用英文引号“ ; ”,标志一段語句的結束。
語句中的标點符号都是英文,不能用中文符号!!!
2、創建數據庫:
create database 數據庫名字;
這樣我們就新創建好了一個數據庫,名字叫:mynewdatabase。
注意:新建你自己的數據庫名字時,名字可以随便起,但是不可以是SQL中的關鍵字,如果你起的數據庫名字中出現關鍵字了,可以用“ ` ` ”來引起來。
3、使用數據庫:
use 需要使用的數據庫名字;
這裡我使用了我剛剛新創建的數據庫mynewdatabase,當提示 Database changed時,說明已經成功切換使用了數據庫。在針對數據庫進行進一步操作時,就需要先選中數據庫,再進行操作。
注意:個别SQL語句不需要用英文分号“ ; ”來結尾,但是咱還是建議大家都給結尾加上一個分号,方便以後少出錯。
4、删除數據庫:
drop database 需要删除的數據庫名字;
注意:這個操作非常危險,因為一旦你操作删除成功,很大可能就恢複不了了!!!以後我們要進行删除操作時,需要謹慎謹慎再謹慎!!!
2、數據庫裡都有哪些常用數據類型呢?1、數值類型:
注意:decimal可以精确的表示小數(M表示有效長度,D表示小數點後有幾位數)。
2、字符串類型:
注意:varchar可以根據實際需要,來指定要占用多少空間。(size單位是字符,一個字符可能由多個字節組成)
3、日期類型:
三、數據表基礎操作
在對數據表進行操作之前需要先選中一個數據庫,因為數據表是保存在數據庫中的,若不先選中數據庫,那麼電腦是無法知道你所想操作的表究竟是哪個庫中的。
這裡我們再創建一個新的數據庫,選中并使用它:
1、數據表的基礎操作都有哪些啊?
1、創建一個數據表:
create table 需要新建的表名(列名 類型,列名 類型 ······);
這裡我新建了一個student表,裡面有id(學号)列,類型為int;name(名字)列,類型為varchar(50);age(年齡)列,類型為int;score(成績)列,類型為double(3,1)。
注意:varchar為字符串類型,初始容量為50;double為浮點數型,後面3表示有效數字為3個,1為小數點後保留1位。
2、查看數據表結構:
desc 需要查看的表名;
可以查看表内每個列的名字和類型。
3、顯示數據表:
show tables;
可以顯示當前數據庫中所有的表。
4、删除數據表:
drop table 需要删除的表名;
這裡我删去了之前就在庫中的aaa表,再次顯示數據表時,aaa就不會再出現了。
End~~~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!