版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、循環(huán)刪除vector和map中的元素刪除所有偶數(shù)項(xiàng),并打印出刪除的項(xiàng)1. vector/queue 正確方法1:void erase(vector<int> &v) for(vector<int>:iterator vi=v.begin();vi!=v.end();) if(*vi % 2 = 0)
2、0; cout << "Erasing " << *vi << endl; vi = v.erase(vi);
3、; else +vi; 正確方法2:void erase2(vector<int> &v) for(vector<int>:reverse_iterator ri=v.rbegin();ri!=v.rend();) if(*ri % 2 = 0) &
4、#160; cout << "Erasing " << *ri << endl; v.erase(+ri).base(); /erase()函數(shù)期
5、待的是正向iterator,故而這里要調(diào)
6、0; /用base()函數(shù)將逆向iterator轉(zhuǎn)換為正向的 else +ri; 2.map/list正確方法void erase(map<int,int> &m) for(map<int,int>:iterator mi=m.beg
7、in();mi!=m.end();) if(mi->second % 2 = 0) cout << "Erasing " << mi->second <
8、< endl; m.erase(mi+); else +mi; 編譯器的相關(guān)知識(shí)在編譯原理中我們可以了解到一個(gè)編譯器對(duì)程序代碼的編譯主要分為下面幾個(gè)過(guò)程: a) 詞法分析 b) 語(yǔ)法分析 c) 語(yǔ)義分析 d)
9、中間代碼生成 e) 代碼優(yōu)化 f) 代碼生成 g) 符號(hào)表管理 h) 將多個(gè)步驟組合成趟 i) 編譯器構(gòu)造工。一、編譯器的概念編譯器是將一種計(jì)算機(jī)語(yǔ)言翻譯為另一種計(jì)算機(jī)語(yǔ)言的程序。編譯器將源程序(source language) 編寫(xiě)的程序作為輸入,翻譯產(chǎn)生用目標(biāo)語(yǔ)言(target language)編寫(xiě)的等價(jià)程序。源程序一般為高級(jí)語(yǔ)言(high-level language),如Pascal 或Delphi,而目標(biāo)語(yǔ)言則是匯編語(yǔ)言或目標(biāo)機(jī)器的目標(biāo)代碼(object code),有時(shí)也稱作機(jī)器代碼(machine code)
10、 源程序 編譯器 目標(biāo)程序 解釋器也是同編譯器一樣的一種語(yǔ)言翻譯程序。它與編譯器的不同之處在于:它立即執(zhí)行源程序而不是生成目標(biāo)代碼。從原理上講,任何程序設(shè)計(jì)語(yǔ)言都可以被解釋或被編譯。 二、編譯器的組成部分(1) 掃描程序(scanner)在這個(gè)階段編譯器實(shí)際閱讀源程序(通常以字符流的形式表示)。掃描程序執(zhí)行詞法分析(Lexical analysis):它將字符序列收集到稱作記號(hào)(token)的有意義單元中,記號(hào)同自然語(yǔ)言,如英語(yǔ)中的字詞相似。因此可以認(rèn)為掃描程序執(zhí)行與拼寫(xiě)相似的任務(wù)。(2) 語(yǔ)法分析程序(parser)語(yǔ)法分
11、析程序從掃描程序中獲取記號(hào)形式的源代碼,并完成定義程序結(jié)構(gòu)的語(yǔ)法分析(syntax analysis),這與自然語(yǔ)言中句子的語(yǔ)法分析類似。語(yǔ)法分析定義了程序的結(jié)構(gòu)元素及其關(guān)系。通常將語(yǔ)法分析的結(jié)果表示為分析樹(shù)( parse tree)或語(yǔ)法樹(shù)(syntax tree)。(3) 語(yǔ)義分析程序(semantic analyzer)程序的語(yǔ)義就是它的“意思”,它與語(yǔ)法或結(jié)構(gòu)不同。程序的語(yǔ)義確定程序的運(yùn)行,但是大多數(shù)的程序設(shè)計(jì)語(yǔ)言都具有在執(zhí)行之前被確定而不易由語(yǔ)法表示和由分析程序分析的特征。這些特征被稱作靜態(tài)語(yǔ)義( static semantic),而語(yǔ)義分析程序的任務(wù)就
12、是分析這樣的語(yǔ)義(程序的“動(dòng)態(tài)”語(yǔ)義具有只有在程序執(zhí)行時(shí)才能確定的特性,由于編譯器不能執(zhí)行程序,所以它不能由編譯器來(lái)確定)。一般的程序設(shè)計(jì)語(yǔ)言的典型靜態(tài)語(yǔ)義包括聲明和類型檢查。由語(yǔ)義分析程序計(jì)算的額外信息(諸如數(shù)據(jù)類型)被稱為屬性( a t t r i b u t e),它們通常是作為注釋或“裝飾”增加到樹(shù)中(還可將屬性添加到符號(hào)表中)。(4) 源代碼優(yōu)化程序(source code optimizer)編譯器通常包括許多代碼改進(jìn)或優(yōu)化步驟。絕大多數(shù)最早的優(yōu)化步驟是在語(yǔ)義分析之后完成的,而此時(shí)代碼改進(jìn)可能只依賴于源代碼。這種可能性是通過(guò)將這一操作提供為編譯過(guò)程中的單獨(dú)階段指
13、出的。每個(gè)編譯器不論在已完成的優(yōu)化種類方面還是在優(yōu)化階段的定位中都有很大的差異。(5) 代碼生成器(code generator)代碼生成器得到中間代碼(IR,并生成目標(biāo)機(jī)器的代碼。盡管大多數(shù)編譯器直接生成目標(biāo)代碼,但是為了便于理解,本書(shū)用匯編語(yǔ)言來(lái)編寫(xiě)目標(biāo)代碼。正是在編譯的這個(gè)階段中,目標(biāo)機(jī)器的特性成為了主要因素。當(dāng)它存在于目標(biāo)機(jī)器時(shí),使用指令不僅是必須的而且數(shù)據(jù)的形式表示也起著重要的作用。例如,整型數(shù)據(jù)類型的變量和浮點(diǎn)數(shù)據(jù)類型的變量在存儲(chǔ)器中所占的字節(jié)數(shù)或字?jǐn)?shù)也很重要。C+中的空類,默認(rèn)產(chǎn)生哪些類成員函數(shù)?class Empty public: Empty
14、(); / 缺省構(gòu)造函數(shù) Empty( const Empty& ); / 拷貝構(gòu)造函數(shù) Empty(); / 析構(gòu)函數(shù) Empty& operator=( const Empty& ); / 賦值運(yùn)算符 Empty* operator&(); / 取址運(yùn)算符 const Empty* operator&() const; / 取址運(yùn)算符 const;默認(rèn)構(gòu)造函數(shù) 析構(gòu)函數(shù) 拷貝構(gòu)造函數(shù) 賦值運(yùn)算符(operator=) &
15、#160; 取址運(yùn)算符(operator&)(一對(duì),一個(gè)非const的,一個(gè)const的)TCP/IP整體構(gòu)架概述 TCP/IP協(xié)議并不完全符合OSI的七層參考模型。傳統(tǒng)的開(kāi)放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務(wù)。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、話路層、表示層和應(yīng)用層。而TCP/IP通訊協(xié)議采用了4層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來(lái)完成自己的需求。這4層分別為: 應(yīng)用層:應(yīng)用程序間溝通的層,如簡(jiǎn)單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程
16、訪問(wèn)協(xié)議(Telnet)等。 傳輸層:在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。 互連網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。 網(wǎng)絡(luò)接口層:對(duì)實(shí)際的網(wǎng)絡(luò)媒體的管理,定義如何使用實(shí)際網(wǎng)絡(luò)(如Ethernet、Serial Line等)來(lái)傳送數(shù)據(jù)。 TCP/IP中的協(xié)議 以下簡(jiǎn)單介紹TCP/IP中的協(xié)議都具備什么樣的功能,都是如何工作的: 1 IP 網(wǎng)際協(xié)議IP是T
17、CP/IP的心臟,也是網(wǎng)絡(luò)層中最重要的協(xié)議。 IP層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動(dòng)程序)發(fā)來(lái)的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層-TCP或UDP層;相反,IP層也把從TCP或UDP層接收來(lái)的數(shù)據(jù)包傳送到更低層。IP數(shù)據(jù)包是不可靠的,因?yàn)镮P并沒(méi)有做任何事情來(lái)確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒(méi)有被破壞。IP數(shù)據(jù)包中含有發(fā)送它的主機(jī)的地址(源地址)和接收它的主機(jī)的地址(目的地址)。 高層的TCP和UDP服務(wù)在接收數(shù)據(jù)包時(shí),通常假設(shè)包中的源地址是有效的。也可以這樣說(shuō),IP地址形成了許多服務(wù)的認(rèn)證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個(gè)有效的主機(jī)發(fā)送來(lái)的。IP確認(rèn)包含一個(gè)選項(xiàng),叫作IP source r
18、outing,可以用來(lái)指定一條源地址和目的地址之間的直接路徑。對(duì)于一些TCP和UDP的服務(wù)來(lái)說(shuō),使用了該選項(xiàng)的IP包好象是從路徑上的最后一個(gè)系統(tǒng)傳遞過(guò)來(lái)的,而不是來(lái)自于它的真實(shí)地點(diǎn)。這個(gè)選項(xiàng)是為了測(cè)試而存在的,說(shuō)明了它可以被用來(lái)欺騙系統(tǒng)來(lái)進(jìn)行平常是被禁止的連接。那么,許多依靠IP源地址做確認(rèn)的服務(wù)將產(chǎn)生問(wèn)題并且會(huì)被非法入侵。 2. TCP 如果IP數(shù)據(jù)包中有已經(jīng)封好的TCP數(shù)據(jù)包,那么IP將把它們向上傳送到TCP層。TCP將包排序并進(jìn)行錯(cuò)誤檢查,同時(shí)實(shí)現(xiàn)虛電路間的連接。TCP數(shù)據(jù)包中包括序號(hào)和確認(rèn),所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。 TCP將它的信息送到更高層的應(yīng)用程序,
19、例如Telnet的服務(wù)程序和客戶程序。應(yīng)用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設(shè)備驅(qū)動(dòng)程序和物理介質(zhì),最后到接收方。 面向連接的服務(wù)(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發(fā)送和接收域名數(shù)據(jù)庫(kù)),但使用UDP傳送有關(guān)單個(gè)主機(jī)的信息。 3.UDP UDP與TCP位于同一層,但對(duì)于數(shù)據(jù)包的順序錯(cuò)誤或重發(fā)。因此,UDP不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP主要用于那些面向查詢-應(yīng)答的服務(wù),例如NFS。相對(duì)于FTP或Telnet,這些服務(wù)需要交換的信息量較小。使用U
20、DP的服務(wù)包括NTP(網(wǎng)落時(shí)間協(xié)議)和DNS(DNS也使用TCP)。 欺騙UDP包比欺騙TCP包更容易,因?yàn)閁DP沒(méi)有建立初始化連接(也可以稱為握手)(因?yàn)樵趦蓚€(gè)系統(tǒng)間沒(méi)有虛電路),也就是說(shuō),與UDP相關(guān)的服務(wù)面臨著更大的危險(xiǎn)。 4.ICMP ICMP與IP位于同一層,它被用來(lái)傳送IP的的控制信息。它主要是用來(lái)提供有關(guān)通向目的地址的路徑信息。ICMP的Redirect信息通知主機(jī)通向其他系統(tǒng)的更準(zhǔn)確的路徑,而Unreachable信息則指出路徑有問(wèn)題。另外,如果路徑不可用了,ICMP可以使TCP連接體面地終止。PING是最常用的基于ICMP的服務(wù)。 5. TCP和UDP的端口結(jié)構(gòu) TCP和UD
21、P服務(wù)通常有一個(gè)客戶/服務(wù)器的關(guān)系,例如,一個(gè)Telnet服務(wù)進(jìn)程開(kāi)始在系統(tǒng)上處于空閑狀態(tài),等待著連接。用戶使用Telnet客戶程序與服務(wù)進(jìn)程建立一個(gè)連接??蛻舫绦蛳蚍?wù)進(jìn)程寫(xiě)入信息,服務(wù)進(jìn)程讀出信息并發(fā)出響應(yīng),客戶程序讀出響應(yīng)并向用戶報(bào)告。因而,這個(gè)連接是雙工的,可以用來(lái)進(jìn)行讀寫(xiě)。 兩個(gè)系統(tǒng)間的多重Telnet連接是如何相互確認(rèn)并協(xié)調(diào)一致呢?TCP或UDP連接唯一地使用每個(gè)信息中的如下四項(xiàng)進(jìn)行確認(rèn): 源IP地址 發(fā)送包的IP地址。 目的IP地址 接收包的IP地址。 源端口 源系統(tǒng)上的連接的端口。 目的端口 目的系統(tǒng)上的連接的端口。 端口是一個(gè)軟件結(jié)構(gòu),被客戶程序或服務(wù)進(jìn)程用來(lái)發(fā)送和接收信息。
22、一個(gè)端口對(duì)應(yīng)一個(gè)16比特的數(shù)。服務(wù)進(jìn)程通常使用一個(gè)固定的端口,例如,SMTP使用25、Xwindows使用6000。這些端口號(hào)是廣為人知的,因?yàn)樵诮⑴c特定的主機(jī)或服務(wù)的連接時(shí),需要這些地址和目的地址進(jìn)行通訊。三次握手:確認(rèn)目的設(shè)備存在于網(wǎng)絡(luò)上;確認(rèn)目的設(shè)備有活動(dòng)的服務(wù),并且正在源客戶端要使用的目的端口號(hào)上接受請(qǐng)求;通知目的設(shè)備源客戶端想要在該端口號(hào)上建立通信會(huì)話。三次握手在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接。 第一次握手:建立連接時(shí),客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn); 第二次握手:服務(wù)器收到syn包,
23、必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài); 第三次握手:客戶端收到服務(wù)器的SYNACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。 完成三次握手,客戶端與服務(wù)器開(kāi)始傳送數(shù)據(jù),在上述過(guò)程中,還有一些重要的概念: 未連接隊(duì)列:在三次握手協(xié)議中,服務(wù)器維護(hù)一個(gè)未連接隊(duì)列,該隊(duì)列為每個(gè)客戶端的SYN包(syn=j)開(kāi)設(shè)一個(gè)條目,該條目表明服務(wù)器已收到SYN包,并向客戶發(fā)出確認(rèn),正在等待客戶的確認(rèn)包。這些條目所標(biāo)識(shí)的連接在服務(wù)器處于
24、Syn_RECV狀態(tài),當(dāng)服務(wù)器收到客戶的確認(rèn)包時(shí),刪除該條目,服務(wù)器進(jìn)入ESTABLISHED狀態(tài)。 Backlog參數(shù):表示未連接隊(duì)列的最大容納數(shù)目。 SYN-ACK 重傳次數(shù) 服務(wù)器發(fā)送完SYNACK包,如果未收到客戶確認(rèn)包,服務(wù)器進(jìn)行首次重傳,等待一段時(shí)間仍未收到客戶確認(rèn)包,進(jìn)行第二次重傳,如果重傳次數(shù)超過(guò)系統(tǒng)規(guī)定的最大重傳次數(shù),系統(tǒng)將該連接信息從半連接隊(duì)列中刪除。注意,每次重傳等待的時(shí)間不一定相同。 半連接存活時(shí)間:是指半連接隊(duì)列的條目存活的最長(zhǎng)時(shí)間,也即服務(wù)從收到SYN包到確認(rèn)這個(gè)報(bào)文無(wú)效的最長(zhǎng)時(shí)間,該時(shí)間值是所有重傳請(qǐng)求包的最長(zhǎng)等待時(shí)間總和。有時(shí)我們也稱半連接存活時(shí)間為T(mén)imeou
25、t時(shí)間、SYN_RECV存活時(shí)間。在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接。 (1)第一次握手:建立連接時(shí),客戶端A發(fā)送SYN包(SYN=j)到服務(wù)器B,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器B確認(rèn)。(2)第二次握手:服務(wù)器B收到SYN包,必須確認(rèn)客戶A的SYN(ACK=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(SYN=k),即SYN+ACK包,此時(shí)服務(wù)器B進(jìn)入SYN_RECV狀態(tài)。(3)第三次握手:客戶端A收到服務(wù)器B的SYNACK包,向服務(wù)器B發(fā)送確認(rèn)包ACK(ACK=k+1),此包發(fā)送完畢,客戶端A和服務(wù)器B進(jìn)入ESTABLISHED狀態(tài),完成三次握手。完
26、成三次握手,客戶端與服務(wù)器開(kāi)始傳送數(shù)據(jù)。 圖1 TCP三次握手建立連接由于TCP連接是全雙工的,因此每個(gè)方向都必須單獨(dú)進(jìn)行關(guān)閉。這個(gè)原則是當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個(gè)FIN來(lái)終止這個(gè)方向的連接。收到一個(gè) FIN只意味著這一方向上
27、沒(méi)有數(shù)據(jù)流動(dòng),一個(gè)TCP連接在收到一個(gè)FIN后仍能發(fā)送數(shù)據(jù)。首先進(jìn)行關(guān)閉的一方將執(zhí)行主動(dòng)關(guān)閉,而另一方執(zhí)行被動(dòng)關(guān)閉。(1)客戶端A發(fā)送一個(gè)FIN,用來(lái)關(guān)閉客戶A到服務(wù)器B的數(shù)據(jù)傳送(報(bào)文段4)。(2)服務(wù)器B收到這個(gè)FIN,它發(fā)回一個(gè)ACK,確認(rèn)序號(hào)為收到的序號(hào)加1(報(bào)文段5)。和SYN一樣,一個(gè)FIN將占用一個(gè)序號(hào)。(3)服務(wù)器B關(guān)閉與客戶端A的連接,發(fā)送一個(gè)FIN給客戶端A(報(bào)文段6)。(4)客戶端A發(fā)回ACK報(bào)文確認(rèn),并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1(報(bào)文段7)。TCP采用四次揮手關(guān)閉連接如圖2所示。
28、60; 圖2 TCP四次揮手關(guān)閉連接1為什么建立連接協(xié)議是三次握手,而關(guān)閉連接卻是四次握手呢?這是因?yàn)榉?wù)端的LISTEN狀態(tài)下的SOCKET當(dāng)收到SYN報(bào)文的建連請(qǐng)求后,它可以把ACK和SYN(ACK起應(yīng)答作用,而SYN起同步作用)放在一個(gè)報(bào)文里來(lái)發(fā)送。但關(guān)閉連接時(shí),當(dāng)收到對(duì)方的FIN報(bào)文通知時(shí),它僅僅表示對(duì)方
29、沒(méi)有數(shù)據(jù)發(fā)送給你了;但未必你所有的數(shù)據(jù)都全部發(fā)送給對(duì)方了,所以你可以未必會(huì)馬上會(huì)關(guān)閉SOCKET,也即你可能還需要發(fā)送一些數(shù)據(jù)給對(duì)方之后,再發(fā)送FIN報(bào)文給對(duì)方來(lái)表示你同意現(xiàn)在可以關(guān)閉連接了,所以它這里的ACK報(bào)文和FIN報(bào)文多數(shù)情況下都是分開(kāi)發(fā)送的。2為什么TIME_WAIT狀態(tài)還需要等2MSL后才能返回到CLOSED狀態(tài)?這是因?yàn)殡m然雙方都同意關(guān)閉連接了,而且握手的4個(gè)報(bào)文也都協(xié)調(diào)和發(fā)送完畢,按理可以直接回到CLOSED狀態(tài)(就好比從SYN_SEND狀態(tài)到ESTABLISH狀態(tài)那樣);但是因?yàn)槲覀儽仨氁傧刖W(wǎng)絡(luò)是不可靠的,你無(wú)法保證你最后發(fā)送的ACK報(bào)文會(huì)一定被對(duì)方收到,因此對(duì)方處于LAS
30、T_ACK狀態(tài)下的SOCKET可能會(huì)因?yàn)槌瑫r(shí)未收到ACK報(bào)文,而重發(fā)FIN報(bào)文,所以這個(gè)TIME_WAIT狀態(tài)的作用就是用來(lái)重發(fā)可能丟失的ACK報(bào)文。MySQL的操作一、顯示命令1、顯示當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)列表:mysql> SHOW DATABASES;注意:mysql庫(kù)里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶,實(shí)際上就是用這個(gè)庫(kù)進(jìn)行操作。2、顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù)表:mysql> USE 庫(kù)名;mysql> SHOW TABLES;3、顯示數(shù)據(jù)表的結(jié)構(gòu):mysql> DESCRIBE 表名;4、建立數(shù)據(jù)庫(kù):mysql> CREATE DATABASE
31、 庫(kù)名;5、建立數(shù)據(jù)表:mysql> USE 庫(kù)名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1);6、刪除數(shù)據(jù)庫(kù):mysql> DROP DATABASE 庫(kù)名;7、刪除數(shù)據(jù)表:mysql> DROP TABLE 表名;8、將表中記錄清空:mysql> DELETE FROM 表名;9、顯示表中的記錄:mysql> SELECT * FROM 表名;10、往表中插入記錄:mysql> INSERT INTO 表名 VALUES (”hyq”,”M”);11、更新表中數(shù)據(jù):mysql->
32、UPDATE 表名 SET 字段名1=a',字段名2=b WHERE 字段名3=c'12、用文本方式將數(shù)據(jù)裝入數(shù)據(jù)表中:mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;13、導(dǎo)入.sql文件命令:mysql> USE 數(shù)據(jù)庫(kù)名;mysql> SOURCE d:/mysql.sql;14、命令行修改root密碼:mysql> UPDATE mysql.user SET password=PASSWORD(新密碼) WHERE User=root;mysql> FLUSH PRIVI
33、LEGES;15、顯示use的數(shù)據(jù)庫(kù)名:mysql> SELECT DATABASE();16、顯示當(dāng)前的user:mysql> SELECT USER();二、一個(gè)建庫(kù)和建表以及插入數(shù)據(jù)的實(shí)例drop database if exists school; /如果存在SCHOOL則刪除create database school; /建立庫(kù)SCHOOLuse school; /打開(kāi)庫(kù)SCHOOLcreate table teacher /建立表TEACHER(id int(3) auto_increment not null primary key,name char(10) no
34、t null,address varchar(50) default 深圳,year date); /建表結(jié)束/以下為插入字段insert into teacher values(”,allen,'大連一中,'1976-10-10);insert into teacher values(”,jack,'大連二中,'1975-12-23);如果你在MySQL提示符鍵入上面的命令也可以,但不方便調(diào)試。(1)你可以將以上命令原樣寫(xiě)入一個(gè)文本文件中,假設(shè)為school.sql,然后復(fù)制到c:下,并在DOS狀態(tài)進(jìn)入目錄url=file:/mysqlbinmysqlbin/
35、url,然后鍵入以下命令:mysql -uroot -p密碼 < c:school.sql如果成功,空出一行無(wú)任何顯示;如有錯(cuò)誤,會(huì)有提示。(以上命令已經(jīng)調(diào)試,你只要將/的注釋去掉即可使用)。(2)或者進(jìn)入命令行后使用 mysql> source c:school.sql; 也可以將school.sql文件導(dǎo)入數(shù)據(jù)庫(kù)中。三、將文本數(shù)據(jù)轉(zhuǎn)到數(shù)據(jù)庫(kù)中1、文本數(shù)據(jù)應(yīng)符合的格式:字段數(shù)據(jù)之間用tab鍵隔開(kāi),null值用url=file:/nn/url來(lái)代替.例:3 rose 大連二中 1976-10-104 mike 大連一中 1975-12-23假設(shè)你把這兩組數(shù)據(jù)存為school.txt
36、文件,放在c盤(pán)根目錄下。2、數(shù)據(jù)傳入命令 load data local infile “c:school.txt” into table 表名;注意:你最好將文件復(fù)制到url=file:/mysqlbinmysqlbin/url目錄下,并且要先用use命令打表所在的庫(kù)。四、備份數(shù)據(jù)庫(kù):(命令在DOS的url=file:/mysqlbinmysqlbin/url目錄下執(zhí)行)1.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)導(dǎo)出文件默認(rèn)是存在mysqlbin目錄下mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 > 導(dǎo)出的文件名mysqldump -u user_name -p123456 database_name &
37、gt; outfile_name.sql2.導(dǎo)出一個(gè)表mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名表名> 導(dǎo)出的文件名mysqldump -u user_name -p database_name table_name > outfile_name.sql3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)mysqldump -u user_name -p -d add-drop-table database_name > outfile_name.sql-d 沒(méi)有數(shù)據(jù) add-drop-table 在每個(gè)create語(yǔ)句之前增加一個(gè)drop table4.帶語(yǔ)言參數(shù)導(dǎo)出mysqldump -uroot -p default-character-set=latin1 set-charset=gbk skip-opt database_name > outfile_name.sqlMemset初始化類對(duì)象需要注意void *memse
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)田勞務(wù)合同(2篇)
- 2024年度天津市公共營(yíng)養(yǎng)師之二級(jí)營(yíng)養(yǎng)師通關(guān)考試題庫(kù)帶答案解析
- 2025關(guān)于勞動(dòng)合同的相關(guān)問(wèn)題
- 2024年度四川省公共營(yíng)養(yǎng)師之四級(jí)營(yíng)養(yǎng)師測(cè)試卷(含答案)
- 2025改造工程施工合同
- 2025全程營(yíng)銷、宣傳推廣策劃合同書(shū)
- 山藥片項(xiàng)目可行性研究報(bào)告
- 2025年綢緞?dòng)∪卷?xiàng)目可行性研究報(bào)告
- 內(nèi)燃機(jī)磨合油項(xiàng)目備案申請(qǐng)可行性研究報(bào)告
- 鐵工銼刀行業(yè)市場(chǎng)發(fā)展及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 【MOOC期末】《電子技術(shù)實(shí)習(xí)SPOC》(北京科技大學(xué))期末慕課答案
- 新媒體技術(shù)基礎(chǔ)知識(shí)單選題100道及答案解析
- 2025蛇年帶橫批春聯(lián)對(duì)聯(lián)200副帶橫批
- 互聯(lián)網(wǎng)+創(chuàng)新商業(yè)模式考核試卷
- 江蘇省揚(yáng)州市梅嶺中學(xué)2023-2024學(xué)年七年級(jí)上學(xué)期期末地理試題(含答案)
- 克羅恩病病例分析
- 《冠心病》課件(完整版)
- DB43T 1694-2019 集體建設(shè)用地定級(jí)與基準(zhǔn)地價(jià)評(píng)估技術(shù)規(guī)范
- 高級(jí)技師電工培訓(xùn)
- DZ/T 0462.3-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- Lesson-1.-spring-festival(雙語(yǔ)課件-春節(jié))
評(píng)論
0/150
提交評(píng)論