數(shù)據(jù)庫

一、mysql概述

1.概述

mysql是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)

2.特點(diǎn)

MySQL 是開源的,目前隸屬于 Oracle 旗下產(chǎn)品。

MySQL 支持大型的數(shù)據(jù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。

MySQL 使用標(biāo)準(zhǔn)的 SQL 數(shù)據(jù)語言形式。

MySQL 可以運(yùn)行于多個系統(tǒng)上,并且支持多種語言。這些編程語言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。

MySQL 對PHP有很好的支持,PHP 是目前最流行的 Web 開發(fā)語言。

MySQL 支持大型數(shù)據(jù)庫,支持 5000 萬條記錄的數(shù)據(jù)倉庫,32 位系統(tǒng)表文件最大可支持 4GB,64 位系統(tǒng)支持最大的表文件為8TB。

MySQL 是可以定制的,采用了 GPL 協(xié)議,你可以修改源碼來開發(fā)自己的 MySQL 系統(tǒng)。

二、安裝

傻瓜式安裝

三、配置

安裝完成出現(xiàn)如下界面進(jìn)入mysql配置向?qū)?/p>

選擇配置方式,“Detailed Configuration(手動精確配置)”、“Standard Configuration(標(biāo)準(zhǔn)配置)”,我們選擇“Detailed Configuration”,方便熟悉配置過程。

選擇服務(wù)器類型,“Developer Machine(開發(fā)測試類,mysql占用很少資源)”、“Server Machine(服務(wù)器類型,mysql占用較多資源)”、“Dedicated MySQL Server Machine(專門的數(shù)據(jù)庫服務(wù)器,mysql占用所有可用資源)”

選擇mysql數(shù)據(jù)庫的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服務(wù)器類型,專注于事務(wù)處理,一般)”、“Non-Transactional Database Only(非事務(wù)處理型,較簡單,主要做一些監(jiān)控、記數(shù)用,對MyISAM數(shù)據(jù)類型的支持僅限于non-transactional),按“Next”繼續(xù)。

數(shù)據(jù)庫存儲位置,下一步:

選擇網(wǎng)站并發(fā)連接數(shù),同時(shí)連接的數(shù)目,“Decision Support(DSS)/OLAP(20個左右)”、“Online Transaction Processing(OLTP)(500個左右)”、“Manual Setting(手動設(shè)置,自己輸一個數(shù))”。

是否啟用TCP/IP連接,設(shè)定端口,如果不啟用,就只能在自己的機(jī)器上訪問mysql數(shù)據(jù)庫了,在這個頁面上,您還可以選擇“啟用標(biāo)準(zhǔn)模式”(Enable Strict Mode),這樣MySQL就不會允許細(xì)小的語法錯誤。如果是新手,建議您取消標(biāo)準(zhǔn)模式以減少麻煩。但熟悉MySQL以后,盡量使用標(biāo)準(zhǔn)模式,因?yàn)樗梢越档陀泻?shù)據(jù)進(jìn)入數(shù)據(jù)庫的可能性。按“Next”繼續(xù)

選擇字符集,就是對mysql默認(rèn)數(shù)據(jù)庫語言編碼進(jìn)行設(shè)置(重要),一般選UTF-8,按 “Next”繼續(xù):

將mysql的bin目錄加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目錄名,比如連接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我這里全部打上了勾,Service Name不變。按“Next”繼續(xù)。


詢問是否要修改默認(rèn)root用戶(超級管理)的密碼?!癊nable root access from remote machines(是否允許root用戶在其它的機(jī)器上登陸,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一個匿名用戶,匿名用戶可以連接數(shù)據(jù)庫,不能操作數(shù)據(jù),包括查詢)”,一般就不用勾了,設(shè)置完畢,按“Next”繼續(xù)。

執(zhí)行

登錄、退出數(shù)據(jù)庫

1.登錄

mysql -h localhost -p 3306 -u root?

2.退出

exit或者ctrl+c

常見命令

1.數(shù)據(jù)庫顯示

show databases;

2.數(shù)據(jù)庫切換

use 數(shù)據(jù)庫

3.查看當(dāng)前庫的所有表

show tables;

4.查看其他庫所有表

show tables from 庫名;

5.查看表結(jié)構(gòu)

desc 表名;

6.創(chuàng)建表

create table 表名(

);

為什么要學(xué)習(xí)數(shù)據(jù)庫

1.測試工程師的目的是找出軟件的不足,并告訴開發(fā)工程師

2.測試工程師在測試軟件過程中,不僅僅需要在界面進(jìn)行操作,還需要檢查數(shù)據(jù)庫中的數(shù)據(jù)是否正確,從而在軟件出現(xiàn)問題時(shí)候,能夠定位到問題原因;

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

數(shù)據(jù)庫是按照數(shù)據(jù)的結(jié)構(gòu)來組織、存儲、和管理數(shù)據(jù)的倉庫,簡而言之,就是存放數(shù)據(jù)的倉庫

常見數(shù)據(jù)庫

Oracle、MySQL、SQLServer、MongoDB、Redis、SQLite

數(shù)據(jù)庫和SQL是什么關(guān)系

數(shù)據(jù)庫里面放著數(shù)據(jù),而SQL是用來操作數(shù)據(jù)庫里數(shù)據(jù)的語言

數(shù)據(jù)庫語句操作

創(chuàng)建庫

create databases +庫名

刪除庫

drop databases +庫名

選擇數(shù)據(jù)庫

user +庫名

查看數(shù)據(jù)庫創(chuàng)建細(xì)節(jié)

show create database +庫名

創(chuàng)建一個使用gbk字符集的數(shù)據(jù)庫

create database 庫名 character set gbk

表的約束

為空? not null

自增? ?auto_increment

唯一? unique key

排序

升序 asc

降序? desc

select * from 表名 order by 表中字段? asc(mysql中默認(rèn)是升序排列)

分頁查詢

limit 是msql 的分頁查詢語法

select * from table limit m,n

其中m是指記錄從m+1開始,n代表取n條記錄

示例:select * from 表名 limit 2,4

分組查詢

group by

聚合函數(shù)

count 個數(shù)

sum 總數(shù)

avg 平均數(shù)

max 最大值

min 最小值

數(shù)據(jù)控制語言

數(shù)據(jù)控制語言:簡稱DCL,用來定義數(shù)據(jù)庫y的訪問權(quán)限和安全級別,及創(chuàng)建用戶

多表設(shè)計(jì)

一對一

一張表的一條記錄一定只能與另外一張表的一條記錄進(jìn)行對應(yīng),反之亦然。有時(shí)候,為了業(yè)務(wù),或者避免一張表中數(shù)據(jù)量過大,過復(fù)雜,在開發(fā)中進(jìn)行一對一方式來設(shè)計(jì)表

一對多

一個實(shí)體的某個數(shù)據(jù)與另外一個實(shí)體的多個數(shù)據(jù)有關(guān)聯(lián)關(guān)系, 一對多的關(guān)系在設(shè)計(jì)的時(shí)候,需要設(shè)計(jì)表的外鍵。

創(chuàng)建數(shù)據(jù)庫表

constraint 約束

foreign key就是表與表之間的某種約定的關(guān)系,由于這種關(guān)系的存在,能夠讓表與表之間的數(shù)據(jù),更加的完整,關(guān)連性更強(qiáng)。

foreign key語句的式例:FOREIGN KEY(Sno) REFERENCES Student(Sno)

注意:表的外鍵必須是另一張表的主鍵

子查詢:嵌套在其他查詢中的查詢。

多對多

一個實(shí)體的數(shù)據(jù)對應(yīng)另外一個實(shí)體的多個數(shù)據(jù),另外實(shí)體的數(shù)據(jù)也同樣對應(yīng)當(dāng)前實(shí)體的多個數(shù)據(jù)。

一個學(xué)生可以有多個老師,一個老師可以教多個學(xué)生

解決方案:創(chuàng)建一個中間表,專門用來維護(hù)多表之間的對應(yīng)關(guān)系,通常是能夠唯一標(biāo)識出數(shù)據(jù)的字段(主鍵)

鏈表查詢

分類:內(nèi)連接、外連接、交叉連接

交叉查詢

交叉查詢,又叫笛卡爾積查詢,會將左表和右表的信息,做一個乘積將所有信息查詢出來,會產(chǎn)生臨時(shí)表,比較占用內(nèi)存,生成的記錄數(shù)=表1 X表2

內(nèi)連接查詢

內(nèi)連接,inner join on 查詢兩張表,設(shè)定條件,將兩張表中對應(yīng)的數(shù)據(jù)查詢出來不會產(chǎn)生笛卡爾積,不會產(chǎn)生臨時(shí)表,性能高

左外連接

左外連接 left join on 設(shè)定條件,將兩張表對應(yīng)的數(shù)據(jù)查詢出來,同時(shí)將左表自己沒有關(guān)聯(lián)的數(shù)據(jù)也查詢出來

注意:join前面是左,后面是右

右外連接:

右外連接 right join on 設(shè)定條件,將兩張表對應(yīng)的數(shù)據(jù)查詢出來,同時(shí)將右表自己沒有關(guān)聯(lián)的所有數(shù)據(jù)查詢出來

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

相關(guān)閱讀更多精彩內(nèi)容

  • 1.MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。My...
    黃花菜已涼閱讀 4,664評論 3 60
  • 一、數(shù)據(jù)庫概述 1.為什么軟件測試工程師還需要學(xué)習(xí)數(shù)據(jù)庫以及開發(fā)方面的知識? 測試工程師的目的是找出軟件的不足,并...
    故里里閱讀 615評論 0 1
  • 一、數(shù)據(jù)庫概述 1.為什么軟件測試工程師還需要學(xué)習(xí)數(shù)據(jù)庫以及開發(fā)方面的知識? 測試工程師的目的是找出軟件的不足,并...
    zflain閱讀 139評論 0 0
  • 1數(shù)據(jù)庫概述 1.1什么是數(shù)據(jù)庫 數(shù)據(jù)庫是按照數(shù)據(jù)的結(jié)構(gòu)來組織、存儲、和管理數(shù)據(jù)的倉庫,簡而言之,就是存放數(shù)據(jù)的倉...
  • 1數(shù)據(jù)庫概述 1.1什么是數(shù)據(jù)庫 數(shù)據(jù)庫是按照數(shù)據(jù)的結(jié)構(gòu)來組織、存儲、和管理數(shù)據(jù)的倉庫,簡而言之,就是存放數(shù)據(jù)的倉...
    G_eebd閱讀 217評論 0 0

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