數(shù)據(jù)庫的導(dǎo)入導(dǎo)出
1.cmd命令:找到安裝mysql的路徑,如:F:\tool\phpstudy\PHPTutorial\MySQL\bin
2.導(dǎo)出:輸入導(dǎo)出命令:
如:F:\tool\phpstudy\PHPTutorial\MySQL\bin> mysqldump -uroot -p***** security > sc.sql

注: 此處-uroot,-u后跟用戶名(root);-p后跟用戶密碼(******);sc為目標(biāo)數(shù)據(jù)庫名,sc.sql為保存sql腳本的名稱。自定義;在上述導(dǎo)出的sc.sql文件存放在F:\tool\phpstudy\PHPTutorial\MySQL\bin下。若加上-A 則為導(dǎo)出所有數(shù)據(jù)庫
3.導(dǎo)入:輸入導(dǎo)入命令
- 方式一:F:\tool\phpstudy\PHPTutorial\MySQL\bin>
mysql -uroot -p****** >>sc.sql sctarget
此處,sc.sql為需要導(dǎo)入的sql腳本文件,sctarget為目標(biāo)數(shù)據(jù)庫,即將sc.sql導(dǎo)入到sctarget數(shù)據(jù)庫中
實(shí)現(xiàn)時(shí)卡了,放棄了。 - 方式二:
1)cmd進(jìn)入mysql安裝路徑,如F:\tool\phpstudy\PHPTutorial\MySQL\bin
2)輸入mysql -uroot -p******回車
3)輸入命令use sctarget回車
4)輸入:source F:/tool/phpstudy/PHPTutorial/MySQL/bin/sc.sql;回車
use sctarget是指:打開目標(biāo)數(shù)據(jù)庫sctarget;source F:/tool/phpstudy/PHPTutorial/MySQL/bin/sc.sql;是指:被導(dǎo)入的腳本文件dback.sql所在的路徑源;
先查看一下內(nèi)容,如圖所示,為空:
導(dǎo)入:
已經(jīng)導(dǎo)入成功:
存儲(chǔ)引擎
概念:
存儲(chǔ)引擎說白了就是如何存儲(chǔ)數(shù)據(jù)、如何為存儲(chǔ)的數(shù)據(jù)建立索引和如何更新、查詢數(shù)據(jù)等技術(shù)的實(shí)現(xiàn)方法。因?yàn)樵陉P(guān)系數(shù)據(jù)庫中數(shù)據(jù)的存儲(chǔ)是以表的形式存儲(chǔ)的,所以存儲(chǔ)引擎也可以稱為表類型(即存儲(chǔ)和操作此表的類型)。 在Oracle 和SQL Server等數(shù)據(jù)庫中只有一種存儲(chǔ)引擎,所有數(shù)據(jù)存儲(chǔ)管理機(jī)制都是一樣的。而MySql數(shù)據(jù)庫提供了多種存儲(chǔ)引擎。用戶可以根據(jù)不同的需求為數(shù)據(jù)表選擇不同的存儲(chǔ)引擎,用戶也可以根據(jù)自己的需要編寫自己的存儲(chǔ)引擎。
MySQL服務(wù)的默認(rèn)引擎是 InnoDB
MySql中的存儲(chǔ)引擎
1.MyISAM:這種引擎是mysql最早提供的。這種引擎又可以分為靜態(tài)MyISAM、動(dòng)態(tài)MyISAM和壓縮MyISAM三種:
- 靜態(tài)MyISAM:如果數(shù)據(jù)表中的各數(shù)據(jù)列的長(zhǎng)度都是預(yù)先固定好的,服務(wù)器將自動(dòng)選擇這種表類型。因?yàn)閿?shù)據(jù)表中每一條記錄所占用的空間都是一樣的,所以這種表存取和更新的效率非常高。當(dāng)數(shù)據(jù)受損時(shí),恢復(fù)工作也比較容易做。
- 動(dòng)態(tài)MyISAM:如果數(shù)據(jù)表中出現(xiàn)varchar、xxxtext或xxxBLOB字段時(shí),服務(wù)器將自動(dòng)選擇這種表類型。相對(duì)于靜態(tài)MyISAM,這種表存儲(chǔ)空間比較小,但由于每條記錄的長(zhǎng)度不一,所以多次修改數(shù)據(jù)后,數(shù)據(jù)表中的數(shù)據(jù)就可能離散的存儲(chǔ)在內(nèi)存中,進(jìn)而導(dǎo)致執(zhí)行效率下降。同時(shí),內(nèi)存中也可能會(huì)出現(xiàn)很多碎片。因此,這種類型的表要經(jīng)常用optimize table 命令或優(yōu)化工具來進(jìn)行碎片整理。
- 壓縮MyISAM:以上說到的兩種類型的表都可以用myisamchk工具壓縮。這種類型的表進(jìn)一步減小了占用的存儲(chǔ),但是這種表壓縮之后不能再被修改。另外,因?yàn)槭菈嚎s數(shù)據(jù),所以這種表在讀取的時(shí)候要先時(shí)行解壓縮。 但是,不管是何種MyISAM表,目前它都不支持事務(wù),行級(jí)鎖和外鍵約束的功能。
2.MyISAM Merge引擎:這種類型是MyISAM類型的一種變種。合并表是將幾個(gè)相同的MyISAM表合并為一個(gè)虛表。常應(yīng)用于日志和數(shù)據(jù)倉庫。
3.InnoDB:InnoDB表類型可以看作是對(duì)MyISAM的進(jìn)一步更新產(chǎn)品,它提供了事務(wù)、行級(jí)鎖機(jī)制和外鍵約束的功能。
4.memory(heap):這種類型的數(shù)據(jù)表只存在于內(nèi)存中。它使用散列索引,所以數(shù)據(jù)的存取速度非??臁R?yàn)槭谴嬖谟趦?nèi)存中,所以這種類型常應(yīng)用于臨時(shí)表中。
5.archive:這種類型只支持select 和 insert語句,而且不支持索引。常應(yīng)用于日志記錄和聚合分析方面。 當(dāng)然MySql支持的表類型不止上面幾種。
mysql復(fù)制表和復(fù)制表結(jié)構(gòu)
1.結(jié)構(gòu)復(fù)制:
- 方法一:
create table 新表 select * from 舊表 where 1<>1;
查看users表的表結(jié)構(gòu):
如圖所示,成功復(fù)制結(jié)構(gòu)。
- 方法二:
create table新表 like 舊表;
2.整表復(fù)制: create table 新表 select * from 舊表;

內(nèi)容如下:

3.得到建表語句:
show create table 舊表;
4.INSERT INTO 方法復(fù)制數(shù)據(jù)到新表:
- 復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個(gè)表結(jié)構(gòu)一樣)
insert into 新表 select * from 舊表;
- 復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個(gè)表結(jié)構(gòu)不一樣)
insert into 新表(字段1,字段2,…….) select 字段1,字段2,…… from 舊表;
此例表結(jié)構(gòu)一樣的,都源于security.users
相關(guān)函數(shù)
1.可使用常見的算術(shù)操作符。
注意:就 -、 +和 *而言, 若兩個(gè)參數(shù)均為正數(shù),則其計(jì)算結(jié)果的精確度為 BIGINT (64比特),若其中一個(gè)參數(shù)為無符號(hào)整數(shù), 而其它參數(shù)也是整數(shù), 則結(jié)果為無符號(hào)整數(shù)。如: mysql> SELECT 3+5;
2.DIV整數(shù)除法。 類似于 FLOOR(),然而使用BIGINT 算法也是可靠的。
注意:數(shù)學(xué)函數(shù)若發(fā)生錯(cuò)誤,所有數(shù)學(xué)函數(shù)會(huì)返回 NULL 。如除0錯(cuò)誤:select 5/0;

3.ABS(X)返回X 的絕對(duì)值。
4.下面的函數(shù)支持使用BIGINT值。
-
ACOS(X)返回X 反余弦, 即, 余弦是X的值。若X 不在-1到 1的范圍之內(nèi),則返回 NULL
- ASIN(X)返回X 的反正弦,即,正弦為X 的值。若X 若X 不在-1到 1的范圍之內(nèi),則返回 NULL 。
- ATAN(X)返回X 的反正切,即,正切為X 的值。
- ATAN(Y,X) , ATAN2(Y,X)返回兩個(gè)變量X 及Y的反正切。 它類似于 Y 或 X的反正切計(jì)算, 除非兩個(gè)參數(shù)的符號(hào)均用于確定結(jié)果所在象限。
5.CEILING(X) CEIL(X) 返回不小于X 的最小整數(shù)值。

6.三角函數(shù): COS(X) SIN(X) TAN(X) X 在弧度中被給定。
7.CRC32(expr)計(jì)算循環(huán)冗余碼校驗(yàn)值并返回一個(gè) 32比特?zé)o符號(hào)值,若參數(shù)為NULL。
8.DEGREES(X)返回參數(shù) X, 該參數(shù)由弧度被轉(zhuǎn)化為度。
9.EXP(X) 返回e的X乘方后的值(自然對(duì)數(shù)的底)
10.FLOOR(X) 返回不大于X的最大整數(shù)值。
11.FORMAT(X,D) 將數(shù)字X 的格式寫成'#,###,###.##'格式, 即保留小數(shù)點(diǎn)后 D位,而第D位的保留方式為四舍五入,然后將結(jié)果以字符串的形式返回。
12.LN(X) 返回X 的自然對(duì)數(shù),即, X 相對(duì)于基數(shù)e 的對(duì)數(shù)。這個(gè)函數(shù)同LOG(X)具有相同意義。
- LOG(B,X) 若用一個(gè)參數(shù)調(diào)用,這個(gè)函數(shù)就會(huì)返回X 的自然對(duì)數(shù)。
- 若用兩個(gè)參數(shù)進(jìn)行調(diào)用,這個(gè)函數(shù)會(huì)返回X 對(duì)于任意基數(shù)B 的對(duì)數(shù)。
13.對(duì)于查出存儲(chǔ)一個(gè)數(shù)字需要多少個(gè)比特,LOG2()非常有效。這個(gè)函數(shù)相當(dāng)于表達(dá)式 LOG(X) / LOG(2)。LOG10(X) 返回X的基數(shù)為10的對(duì)數(shù)。
14.MOD(N,M) , N % M N MOD M 模操作。返回N 被 M除后的余數(shù)。
15.PI() 返回 (pi)的值。默認(rèn)的顯示小數(shù)位數(shù)是7位,然而 MySQL內(nèi)部會(huì)使用完全雙精度值。

16.POW(X,Y) , POWER(X,Y)返回X 的Y乘方的結(jié)果值。
17.RADIANS(X) 返回由度轉(zhuǎn)化為弧度的參數(shù) X。
18.RAND() RAND(N) 返回一個(gè)隨機(jī)浮點(diǎn)值 v ,范圍在 0 到1 之間。
若要在i ≤ R ≤ j這個(gè)范圍得到一個(gè)隨機(jī)整數(shù)R ,需要用到表達(dá)式FLOOR(i + RAND() * (j – i + 1))。
19.ROUND(X) ROUND(X,D) 返回參數(shù)X, 其值接近于最近似的整數(shù)。在有兩個(gè)參數(shù)的情況下,返回 X ,其值保留到小數(shù)點(diǎn)后D位,而第D位的保留方式為四舍五入。若要接保留X值小數(shù)點(diǎn)左邊的D 位,可將 D 設(shè)為負(fù)值。
20.SIGN(X)返回參數(shù)作為-1、 0或1的符號(hào),該符號(hào)取決于X 的值為負(fù)、零或正。
21.SQRT(X) 返回非負(fù)數(shù)X 的二次方根。
22.TRUNCATE(X,D) 返回被舍去至小數(shù)點(diǎn)后D位的數(shù)字X。若D 的值為 0, 則結(jié)果不帶有小數(shù)點(diǎn)或不帶有小數(shù)部分。可以將D設(shè)為負(fù)數(shù),若要截去(歸零,即所以數(shù)值都變成0) X小數(shù)點(diǎn)左起第D位開始后面所有低位的值。
先到這吧,感覺內(nèi)容比較亂,是看到什么感覺需要的就記錄下的,希望對(duì)大家也有所幫助。








