欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:【MySQL】數(shù)據(jù)庫(kù)基礎(chǔ)

柚子快報(bào)激活碼778899分享:【MySQL】數(shù)據(jù)庫(kù)基礎(chǔ)

http://yzkb.51969.com/

目錄

一、數(shù)據(jù)庫(kù)的概念

1.1 數(shù)據(jù)庫(kù)是什么

1.2 為什么要有數(shù)據(jù)庫(kù)

1.3 主流數(shù)據(jù)庫(kù)

二、在Linux中使用MySQL

三、MySQL架構(gòu)

四、SQL語(yǔ)句分類(lèi)

五、存儲(chǔ)引擎

一、數(shù)據(jù)庫(kù)的概念

1.1 數(shù)據(jù)庫(kù)是什么

數(shù)據(jù)庫(kù)(Database)一般指在磁盤(pán)或內(nèi)存中按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的計(jì)算機(jī)軟件系統(tǒng),是一個(gè)長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的、統(tǒng)一管理的大量數(shù)據(jù)的集合。

1.2 為什么要有數(shù)據(jù)庫(kù)

一般的文件確實(shí)提供了數(shù)據(jù)的存儲(chǔ)功能,但是并沒(méi)有提供非常好的數(shù)據(jù)內(nèi)容管理能力。這使得程序員如果使用一般的文件來(lái)存儲(chǔ)數(shù)據(jù),那么則需要手動(dòng)實(shí)現(xiàn)各種功能來(lái)進(jìn)行數(shù)據(jù)管理。

用文件保存數(shù)據(jù)有以下幾個(gè)缺點(diǎn):

安全性無(wú)法保證不便數(shù)據(jù)查詢(xún)和管理在程序中控制不方便不利于存儲(chǔ)海量數(shù)據(jù)

為了解決這些問(wèn)題,數(shù)據(jù)庫(kù)出現(xiàn)了。

數(shù)據(jù)庫(kù)是一套對(duì)數(shù)據(jù)內(nèi)容存儲(chǔ)的解決方案,能夠更加有效的管理數(shù)據(jù)。而MySQL作為最流行的關(guān)系型數(shù)據(jù)庫(kù),能夠?yàn)槲覀兲峁└鞣N數(shù)據(jù)存取的服務(wù)。

1.3 主流數(shù)據(jù)庫(kù)

目前市面上主流的數(shù)據(jù)庫(kù)有:

SQL Server:微軟的產(chǎn)品,適合中大型項(xiàng)目Oracle:甲骨文的產(chǎn)品,適合大型項(xiàng)目,業(yè)務(wù)邏輯復(fù)雜MySQL:世界上最受歡迎的數(shù)據(jù)庫(kù),屬于甲骨文,并發(fā)性好,主要用于電商、SNS、論壇,性能出色PostgreSQL:加州大學(xué)伯克利分校計(jì)算機(jī)系開(kāi)發(fā)的關(guān)系型數(shù)據(jù)庫(kù),可以免費(fèi)使用和修改SQLite:一款輕型數(shù)據(jù)庫(kù),是遵循ACID的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),包含在一個(gè)相對(duì)小的C庫(kù)中。主要用于嵌入式產(chǎn)品,占用資源非常低H2:用Java開(kāi)發(fā)的嵌入式數(shù)據(jù)庫(kù),可以直接嵌入到應(yīng)用項(xiàng)目中

前面提到,MySQL屬于關(guān)系型數(shù)據(jù)庫(kù),這類(lèi)數(shù)據(jù)庫(kù)中表的結(jié)構(gòu)遵循行列式結(jié)構(gòu)

NoSQL(Not Only SQL)泛指非關(guān)系型數(shù)據(jù)庫(kù),例如redis、MongoDB等,基本都是內(nèi)存級(jí)別的數(shù)據(jù)庫(kù),作為數(shù)據(jù)存儲(chǔ)的中間件使用。

NoSQL出于簡(jiǎn)化數(shù)據(jù)庫(kù)結(jié)構(gòu)、避免冗余、影響性能的表連接、摒棄復(fù)雜分布式的目的被設(shè)計(jì)。每個(gè)數(shù)據(jù)庫(kù)都在自己的領(lǐng)域發(fā)揮不同的作用,例如redis在數(shù)據(jù)緩存領(lǐng)域經(jīng)常被采用。

現(xiàn)在的主流后端存儲(chǔ)服務(wù)基本是以MySQL為主,NoSQL為輔搭建的

二、在Linux中使用MySQL

對(duì)MySQL有了基本的了解后,我們嘗試使用MySQL,建立數(shù)據(jù)庫(kù)和表結(jié)構(gòu),再插入一些數(shù)據(jù)

(1)查看當(dāng)前服務(wù)器的數(shù)據(jù)庫(kù)

登入MySQL后輸入 show databases; 即可查看當(dāng)前服務(wù)器有哪些數(shù)據(jù)庫(kù)

這些數(shù)據(jù)庫(kù)都存放在配置文件的默認(rèn)保存路徑當(dāng)中,輸入vim /etc/my.cnf 即可打開(kāi)配置文件

進(jìn)入該路徑,查看當(dāng)前路徑下的所有文件

(2)建立數(shù)據(jù)庫(kù)

輸入 create database 庫(kù)名; 即可創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)

再次查看存儲(chǔ)目錄中的文件:

可以看到這個(gè)就是我們剛剛創(chuàng)建出來(lái)的數(shù)據(jù)庫(kù)

所以這些數(shù)據(jù)庫(kù)本質(zhì)就是Linux下的一個(gè)目錄

(3)建立表結(jié)構(gòu)

要想在一個(gè)數(shù)據(jù)庫(kù)中建立表結(jié)構(gòu),首先得進(jìn)入這個(gè)數(shù)據(jù)庫(kù)

輸入 use 庫(kù)名; 進(jìn)入該數(shù)據(jù)庫(kù)

輸入?create table 表名(列名1 元素類(lèi)型,?列名2?元素類(lèi)型......);? 即可創(chuàng)建一張指定結(jié)構(gòu)的數(shù)據(jù)庫(kù)表

然后輸入 show tables; 即可查詢(xún)當(dāng)前數(shù)據(jù)庫(kù)中有哪些表結(jié)構(gòu)?

例如:

觀察之前Linux下的目錄,可以發(fā)現(xiàn):

所以在數(shù)據(jù)庫(kù)中建表,本質(zhì)就是在Linux下創(chuàng)建對(duì)應(yīng)的文件

數(shù)據(jù)庫(kù)本質(zhì)都是文件,只不過(guò)這些文件不由程序員直接操作,而是由數(shù)據(jù)庫(kù)服務(wù)幫我們進(jìn)行操作

(4)向表中插入數(shù)據(jù)

輸入 insert into 表名(列名1,列名2...) values(數(shù)據(jù)1,數(shù)據(jù)2...); 即可向表中插入數(shù)據(jù)

例如:

輸入 select * from 表名; 即可查看表中的所有數(shù)據(jù)

例如:

三、MySQL架構(gòu)

MySQL是一個(gè)開(kāi)源的可移植數(shù)據(jù)庫(kù),幾乎能在當(dāng)前所有的操作系統(tǒng)上運(yùn)行,如Unix/Linux、Windows、Mac、Solaris。

雖然各種系統(tǒng)在底層實(shí)現(xiàn)方面各有不同,但是MySQL基本能保證在各個(gè)平臺(tái)上的物理體系結(jié)構(gòu)的一致性。其架構(gòu)示意圖如下:

Client Connectors:MySQL的客戶(hù)端,我們目前用的是命令行式的二進(jìn)制程序,后面還可以用C++語(yǔ)言直接連接MySQL或者用MySQL的圖形化界面來(lái)訪問(wèn)

MySQL SERVER的主要功能分為三層:

第一層(鏈接池),幫助我們進(jìn)行鏈接管理和鑒別用戶(hù)合法身份等

中間層可以對(duì)我們下達(dá)的SQL指令進(jìn)行語(yǔ)法分析、詞法分析和優(yōu)化,并按照協(xié)議傳達(dá)給下一層

第三層對(duì)應(yīng)一個(gè)個(gè)存儲(chǔ)引擎,作用有點(diǎn)像計(jì)算機(jī)中的驅(qū)動(dòng)。從上層接收處理后的語(yǔ)句,然后訪問(wèn)指定的數(shù)據(jù)庫(kù)、文件和表結(jié)構(gòu),對(duì)數(shù)據(jù)進(jìn)行增刪查改

因?yàn)閿?shù)據(jù)有種類(lèi)的差別,有文檔型的、二進(jìn)制型的等等,針對(duì)不同種類(lèi)的數(shù)據(jù)需要不同的存儲(chǔ)方案,所以需要多種存儲(chǔ)引擎

例如MyISAM比較適合對(duì)大文本進(jìn)行讀取,InnoDB有很豐富的索引支持,方便我們進(jìn)行快速的搜索查找。這兩個(gè)也是最常用的兩個(gè)引擎

最底下依賴(lài)的就是對(duì)應(yīng)的文件系統(tǒng),把數(shù)據(jù)以二進(jìn)制的形式存儲(chǔ)到特定的目錄下,構(gòu)建特定的普通文件

所以MySQL是處于操作系統(tǒng)提供的文件系統(tǒng)之上的一套存儲(chǔ)解決方案。

四、SQL語(yǔ)句分類(lèi)

用戶(hù)在數(shù)據(jù)庫(kù)上執(zhí)行的大部分工作都由 SQL 語(yǔ)句完成,例如我們之前建庫(kù)、建表、插入數(shù)據(jù)時(shí)使用的SQL語(yǔ)句

SQL語(yǔ)句主要分為五類(lèi):

DDL(Data Definition Language):數(shù)據(jù)定義語(yǔ)言,用來(lái)維護(hù)存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu),例如create,drop,alterDML(Data Manipulation Language):數(shù)據(jù)操縱語(yǔ)言,用來(lái)對(duì)數(shù)據(jù)進(jìn)行操作,例如insert,delete,updateDQL(Data Query Language):數(shù)據(jù)查詢(xún)語(yǔ)言,例如selectDCL(Data Control Language):數(shù)據(jù)控制語(yǔ)言,主要負(fù)責(zé)權(quán)限管理和事務(wù),例如grant,revoke,commit,rollback

五、存儲(chǔ)引擎

存儲(chǔ)引擎是數(shù)據(jù)庫(kù)管理系統(tǒng)如何存儲(chǔ)數(shù)據(jù)、如何為存儲(chǔ)的數(shù)據(jù)建立索引以及如何更新、查詢(xún)數(shù)據(jù)的實(shí)現(xiàn)方法。

MySQL的核心就是插件式存儲(chǔ)引擎,這些存儲(chǔ)引擎位于最底層,負(fù)責(zé)與操作系統(tǒng)進(jìn)行交互。

要查看有哪些存儲(chǔ)引擎,可以輸入 show engines;

或者?show engines \G

完.

柚子快報(bào)激活碼778899分享:【MySQL】數(shù)據(jù)庫(kù)基礎(chǔ)

http://yzkb.51969.com/

相關(guān)鏈接

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19179721.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄