mysql學習總結_第1頁
mysql學習總結_第2頁
mysql學習總結_第3頁
mysql學習總結_第4頁
mysql學習總結_第5頁
已閱讀5頁,還剩62頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、mysql學習筆記mysqldump  備份備份單獨庫下面的所有表mysqldump -uuname -ppassword db > 地址+備份文件名稱備份某庫下的幾個表mysqldump -uuname -ppassword  db table1  table2 table3 等> 地址+備份文件名稱備份多個數據庫mysqldump -uuname -ppassword -B db1 db2 >地址+備份文件名稱備份所有數據庫mysqldump -uuname -ppassword -A導出的是 建表語句和 insert語句注意:恢復文件的 地

2、址形式  如 e:library.sql           文件名稱 后沒有分號!恢復1 登陸到 mysql命令行的狀態下庫級文件的恢復mysql>  source  備份文件地址表級文件的恢復mysql> use 庫名mysql>  source  備份文件地址2 不登陸的情況下庫級的mysql -u用戶名 -p密碼 <備份文件地址表級mysql -u用戶名 -p密碼 庫名<備份文件地址mysql

3、60;模糊查詢 like %  ->通配任意字符_  ->通配一個字符練習:1   %  ->通配任意字符2  _  ->通配一個字符笛卡爾積與連接查詢連接查詢 (左連接 右連接 內連接)笛卡爾乘積集合特性 : 確定性 無序性 唯一性一張表可以看做是一個集合,每行數據相當于集合的一個元素 Union時 去掉重復  原理 就是集合元素的唯一性表中存在完全相同的兩行 是因為  表內部  存在 &#

4、160;rowid進行區分 笛卡爾積如果 aA, bBA*B = ( a, b);例如 A=(1,2,3,4,5);B=(11,12);那么 A*B(1,11), (2,11), (3,11), (4,11), (5,11),(1,12), (2,12), (3,12), (4,12), (5,12);A有 M 個元素 B 有N 個元素那么 A*B 有 M*N個元素同理表A有 M 行 表B 有N 行那么 A*B 有&

5、#160;M*N行例如:ta tb 兩表笛卡爾積通過分析可以看出tb 表的 a b c d  每個分別和 ta   的a b c d  組合一遍 左連接1 連上表2  連接條件例如:selectgood_id,goods.cat_id,goods_name,shop_pricefromgoods left join categoryon good.cat_id = category.cat_id;字段名重復那么需要加表前綴,否

6、則會報錯;error 1052(23000) column * in field list is ambiguous最后兩行可以看 作是一張表。 左連接語法:select 列1,列2,列Nfromtable 1 left join table 2on table 1  列 = table 2 列;on 后面的條件只要是條件就可以 可以不是等于 但是常用是等于。將from 后面的當做一個普通表看待。右連接語法:select 列1,列2,列Nfromtable 1 ri

7、ght join table 2on table 1  列 = table 2 列;  內連接 innerselect 列1,列2,列Nfromtable 1 inner join table 2on table 1  列 = table 2 列;  左連接  右連接 內連接的區別和聯系: 左連接和右連接 是以左邊的表為基準。通俗的講,先將左邊的表全部顯示出來,然后右邊的表id與左邊表i

8、d相同的記錄就“拼接”上去,比如說id為1的記錄。如果沒有匹配的id,比如說t1中id為2的t2中就沒有。那邊就以null顯示。右外連接過程正好相反。內連接  只有一條記錄。內連接就是只取出符合過濾條件的記錄 也就是t1.id=t2.id 那么符合t1.id=t2.id的記錄只有id=1這一條,所以只顯示一條。 不像外連接,是將你作為基準的表(左外連接就是左邊表為基準,右外連接就是右邊表為基準)的所有行都顯示出來。 以下為網上的一點資料(粘貼的) LEFT JOIN操作用于在任何的 FROM 子句中,組合來源表的記錄。使用 LEFT JOIN 運算來創建一個左邊外

9、部聯接。左邊外部聯接將包含了從第一個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中并沒有相符值的記錄。語法: FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2說明: table1, table2參數用于指定要將記錄組合的表的名稱。 field1, field2參數指定被聯接的字段的名稱。且這些字段必須有相同的數據類型及包含相同類型的數據,但它們不需要有相同的名稱。 compopr參數指定關系比較運算符:"=", "<&qu

10、ot;, ">", "<=", ">=" 或 "<>"。 如果在INNER JOIN操作中要聯接包含Memo 數據類型或 OLE Object 數據類型數據的字段,將會發生錯誤mysql 新的學習模式1 通過備份  數據庫文件  查看備份代碼 學習sql 語句! 你會發現 備份的語句和你 原本 建表語句是 略有不同的  更加標準 和 詳細2 備份的語句更加規范  并且通過其文本

11、明白備份原理;即  通過將建表 建庫 inser 語句等 進行備份并且 可以表示文檔注釋  等等。子查詢(完整) from把內層的查詢結果作為外層查詢比較查詢例:查最新商品(以 goods_id最大為最新)1 select * from goods where goods_id = 最大的gooods_id;2 select * from goods where goods_id = (select max(goods_id) from goods);where  表達式則取出哪一行 表達式在哪一行成立 

12、 =,!= ,<,><=,>=  in ,between and  or,and,not having  表達式數據在表中,表在硬盤或者內存中以文件的形式存在where就是針對文件發生作用查詢結果,也可以看做是一張表,去文件一般臨時存在于緩沖區having 就是針對查詢結果發揮著作用group by分組 一般和統計函數(sum ,avg,min,max)結合使用 order by 默認是升序的如果想顯示聲明升序排列  可用asc來聲

13、明 可以"字段名" desc 來聲明降序排可以用來查詢商品等價格 以及新舊 注:可以按照多條件排序,前面的條件優先! order by 列1  asc/desc, 列2 asc/desc;exists把外層的查詢結果代入內層,看內層是否成立 查詢商品欄目select * from category where exists(select * from goods where goods.cat_id =categor.cat_id);cat_id字段相同  

14、;需要加上表前綴 limit在語句的最后  起到限制顯示結果條目個數 limit offset,N;offset表示偏移量(跳過幾個)N 表示取出的條目個數如果offset不寫  相當于0#在 mysql 里  表示 注釋列操作(增加 修改 刪除列)列操作(增加 修改 刪除列)創建表單表單描述增加列 1 alter table         列名

15、 add  列聲明;列聲明列名稱 列類型 【列屬性】列默認值增加的列默認在表的的最后一列  2  alter table        列名 add  列聲明 after 列;聲明 新增的列在原來哪個列后面3   alter table           &

16、#160;     列名 add  列聲明 first;如果放在第一列 那么 在列聲明后加first即可  發現問題auto_increment的問題插入 id 使用auto_increment時  要求列聲明里列必須被定義為 key修改列alter table  表名change 被改變的列 列聲明原來:修改列:刪除列alter table 表名 drop 列名 ;mysql

17、 union 的用法union 的用法  (一般用于多張表的union)合并查詢結果 將兩次或者兩次以上的結果合并在一起 要求: 兩次查詢的列數一致推薦,查詢每一列,相對應的列類型是一樣的多次sql語句 取出 的列名可以不一致,此時以取第一個sql 的列名為準。  如果不同的語句中取出的行  有每個列的值都相同,那么相同的行將被合并成一行(去重復)如果不想去重復union加上 all 創建表格create table ta(i

18、d char(1) default null, num int not null default 0) engine=InnoDB  charset=utf8; insert into ta(id,num)values('a',10),('b',20),('c',30),('d',40);     create table tb(id char(1) default null, num int not null default 0)

19、 engine=InnoDB  charset=utf8;   insert into tb(id,num)values('a',50),('b',60),('c',70),('d',80);  1  合并 兩張表格2  合并兩張表單 把相同id下的數值sum求和  發現問題 使用聚合 函數時  不許有空格Sum(num)Sum (num) 將會把

20、60; sum  識別為 表 報該數據庫下不存在該表單錯誤Error 1630(42000)   注意:如果子句里 有 order by | limit 需要 union 兩邊加小括號例如 (select  good_id,cat_id,goods_name,shop_price from goods _id =where cat_id = 4 order by shop_price desc )union (sel

21、ect  good_id,cat_id,goods_name,shop_price from goods _id =where cat_id = 5 order by shop_price desc);但是 容易有誤解決方案1  order by 盡量放在最后使用  即歲最終合并后的結果 進行排序(select  good_id,cat_id,goods_name,shop_price from goods _id =where cat_id = 4 )union&

22、#160;(select  good_id,cat_id,goods_name,shop_price from goods _id =where cat_id = 5  order by shop_price desc;2  每個子語句 加上limitmysql 視圖 視圖的定義:視圖 就是由查詢結果組成的一張虛擬表視圖的創建語法:create view視圖名 as  select  語句;顯示表 將會被顯示出來可以看到“表結構”和視圖內容刪除視圖語法:&

23、#160;drop view  視圖名;視圖修改alter view  視圖名 as select  語句; 創建視圖的原因:1、 簡化查詢2、 可以進行權限控制  比如:可以把 商品名稱 等創建視圖,把商品價格等“隱藏”。把表的權限保留,只把視圖提供給別人。3、大的數據分表時,可以用到數據。比如:表的行數大于200 萬行時,開始變慢,可以把一張表的數據拆成4張表(視圖)來存放。4、可以將多張表合并成一張表(視圖)。結合 union . 注意:1、可以完全把視圖當作表看待。&

24、#160; 2、視圖源于表,如果表的內容改變了,那么視圖的內容也會跟著發生改變。  3、視圖的增刪改也將會影響表,但是視圖并不是總是可以增刪改的。視圖和表數據是一一對應時,可以修改。對于視圖insert視圖必須包含所有表中沒有默認值的列。 視圖的 algorithm(算法)Algorithm = merge/temptable/undefinedmerge  當引用視圖時,引用視圖的語句和定義視圖的語句合并。意味著,視圖只是一個規則,當查詢視圖時,把查詢視圖的語句(比如where 等)與創建時的語句where子句合

25、并分析,形成一條select語句。相當于把語句效果疊加。 temptable當引用視圖時,根據視圖的創建語句,建立一個臨時表。是把 根據創建時候的語句瞬間創建臨時表,查詢視圖的語句,從該臨時表查詢。 undefined 未定義自動,讓系統幫你選擇。mysql 字符集(CHARACTER SET)和校對集(COLLATE)字符集(CHARACTER SET)和校對集(COLLATE)字符集:可以設置 服務器默認字符集數據庫默認字符集表默認字符集甚至到列默認字符集某個級別沒有指定,那么繼承上級。mysql4.1及其之后的版本,對字符集的支持分為四個

26、層次:服務器(server),數據庫(database),數據表(table)和連接(connection):character_set_server:這是設置服務器使用的字符集character_set_client :這是設置客戶端發送查詢使用的字符集character_set_connection :這是設置服務器需要將收到的查詢串轉換成的字符集character_set_results :這是設置服務器要將結果數據轉換到的字符集,轉換后才發送給客戶端整個過程:- client(如php程序)發送一個查詢;- 服務器收到查詢,將查詢串從charac

27、ter_set_client 轉換到character_set_connection,然后執行轉換后的查詢;- 服務器將結果數據轉換到character_set_results字符集后發送回客戶端。1 、告訴服務器發送的數據是什么類型的。character_set_client2、告訴轉換器,轉換什么編碼character_set_connection3、查詢結果用什么編碼character_set_results如果三者都是字符集N 那么 可以簡寫為 set names N; 例如:客戶端字符集和連接字符集  &

28、#160;如果connection和 服務器的字符集,比client小時,容易丟失數據。 create table 時的 charset 是 服務器的字符編碼校對集:可以理解為,排序規則等。一個字符集可能有多種校對集合;- 官方文檔-1、數據庫字符集和校對CREATE DATABASE db_name    DEFAULT CHARACTER SET charset_name    DEFAULT COLLATE c

29、ollation_name例如:CREATE DATABASE db_name    DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;MySQL這樣選擇數據庫字符集和數據庫校對規則:·         如果指定了CHARACTER SET X和COLLATE Y,那么采用字符集X和校對規則Y。·       

30、;  如果指定了CHARACTER SET X而沒有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默認校對規則。·         否則,采用服務器字符集和服務器校對規則。2、表字符集和校對每一個表有一個表字符集和一個校對規則,它不能為空。為指定表字符集和校對規則,CREATE TABLE 和ALTER TABLE語句有一個可選的子句:CREATE TABLE tbl_name (column_l

31、ist)    DEFAULT CHARACTER SET charset_name COLLATE collation_name ALTER TABLE tbl_name    DEFAULT CHARACTER SET charset_name COLLATE collation_nameMySQL按照下面的方式選擇表字符集和 校對規則:·       

32、  如果指定了CHARACTER SET X和COLLATE Y,那么采用CHARACTER SET X和COLLATE Y。·         如果指定了CHARACTER SET X而沒有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默認校對規則。·         否則,采用服務器字符集和服務器校對規則。如果在列定義中沒有

33、指定列字符集和校對規則,則默認使用表字符集和校對規則。表字符集和校對規則是MySQL的擴展;在標準SQL中沒有。3、列字符集和校對每一個“字符”列(即,CHAR、VARCHAR或TEXT類型的列)有一個列字符集和一個列 校對規則,它不能為空。列定義語法有一個可選子句來指定列字符集和校對規則:col_name CHAR | VARCHAR | TEXT (col_length)    CHARACTER SET charset_name COLLATE collation_name例如:CREATE TAB

34、LE Table1(    column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci);MySQL按照下面的方式選擇列字符集和校對規則:·         如果指定了CHARACTER SET X和COLLATE Y,那么采用CHARACTER SET X和COLLATE Y。·        

35、 如果指定了CHARACTER SET X而沒有指定COLLATE Y,那么采用CHARACTER SET X和CHARACTER SET X的默認校對規則。·         否則,采用表字符集和服務器校對規則。CHARACTER SET和COLLATE子句是標準的SQL。示例1:表和列定義CREATE TABLE t1(    c1 CHAR(10) CHARACTER SET latin1 COLLATE latin1_german1_ci

36、) DEFAULT CHARACTER SET latin2 COLLATE latin2_bin;在這里我們有一個列使用latin1字符集和latin1_german1_ci校對規則。是顯式的定義,因此簡單明了。需要注意的是,在一個latin2表中存儲一個latin1列不會存在問題。示例2:表和列定義CREATE TABLE t1(    c1 CHAR(10) CHARACTER SET latin1) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;這次我們有一個列使用latin1字符集和

37、一個默認校對規則。盡管它顯得自然,默認校對規則卻不是表級。相反,因為latin1的默認校對規則總是latin1_swedish_ci,列c1有一個校對規則latin1_swedish_ci(而不是latin1_danish_ci)。示例3:表和列定義CREATE TABLE t1(    c1 CHAR(10) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;我們有一個列使用一個默認字符集和一個默認校對規則。在這種情況下,MySQL查找表級別來確定列字符集和 校對規則。因此,列c1的字

38、符集是latin1,它的 校對規則是latin1_danish_ci。示例4:數據庫、表和列定義CREATE DATABASE d1    DEFAULT CHARACTER SET latin2 COLLATE latin2_czech_ci;USE d1;CREATE TABLE t1(    c1 CHAR(10);我們創建了一個沒有指定字符集和校對規則的列。我們也沒有指定表級字符集和校對規則。在這種情況下,MySQL查找數據庫級的相關設置。(數據庫的設置變為表的設置,其后變為列的設置。)因此,列c

39、1的字符集為是latin2,它的 校對規則是latin2_czech_ci。在SQL語句中使用COLLATE· 使用COLLATE子句,能夠為一個比較覆蓋任何默認校對規則。COLLATE可以用于多種SQL語句中。下面是一些例子:·         使用ORDER BY:·                SEL

40、ECT k·                FROM t1·                ORDER BY k COLLATE latin1_german2_ci;·       

41、;  使用AS:·                SELECT k COLLATE latin1_german2_ci AS k1·                FROM t1·    &

42、#160;           ORDER BY k1;·         使用GROUP BY:·                SELECT k·     

43、           FROM t1·                GROUP BY k COLLATE latin1_german2_ci;·         使用聚合函數:·  

44、60;             SELECT MAX(k COLLATE latin1_german2_ci)·                FROM t1;·         使用DISTINCT

45、:·                SELECT DISTINCT k COLLATE latin1_german2_ci·                FROM t1;·      &#

46、160;  使用WHERE:·                     SELECT *·                     FROM

47、 t1·                     WHERE _latin1 'Müller' COLLATE latin1_german2_ci = k;·               

48、60;     SELECT *·                     FROM t1·                   

49、  WHERE k LIKE _latin1 'Müller' COLLATE latin1_german2_ci;·         使用HAVING:·                SELECT k·     

50、0;          FROM t1·                GROUP BY k·                HAVING k = _latin

51、1 'Müller' COLLATE latin1_german2_ci; COLLATE子句優先COLLATE子句有較高的優先級(高于|),因此下面兩個表達式是等價的:x | y COLLATE zx | (y COLLATE z)觸發器(trigger)作用: 可以監視 增刪改操作并觸發 增刪改操作創建觸發器(delimiter $)create trigger 觸發器名稱after/before insert/update/delete on 表名for each rowbegin sql 語句一個或者多個語句,范圍在 insert/update/de

52、lete內;end ($)在此需要重新設置結束符號delimiter $創建第一個簡單觸發器:效果g 表 羊自動減少 3只發現問題:設置結尾符號語句 不可帶 分號否則設置不成功解決方案如何在觸發器中引用行的值對于insert 而言 ,新增的行用new來表示。行中的每一列的值,用 new.列名來表示。對于delete而言,刪去的行用 old來表示。行中的每一列的值,用old.列名來表示。對于update而言,更新前的行用 old來表示。old.列名表示更新前的引用。更新后的行,用new.列名來表示更新后的引用。觸發器的刪除drop trigger 觸發器名稱觸發器的顯示清空表單truncate

53、表名購買下單實例1、創建滿足條件的新的觸發器2、執行 insert(下第一筆訂單 購買 4 號商品,數量為2)3、查看o訂單4、g商品表中的 對應id號得商品減少 完整購買案例1、增加一個訂單,庫存相應減少2、刪除一個訂單,庫存相應增加3、修改下單時,商品表數量相應發生變化觸發器里 after 和 before的區別after 是先完成數據的操作,再出發時間,不能對前面的增刪改作出影響。如果用的是 before,可以對數據進行審查。是先于觸發再完成增刪改,可以審查、判斷、即將發生的增刪改操作。before應用創建觸發器時即可對插入數據進行影響create trigger buybefore i

54、nsert on ofor each rowbegin if new.much >5 then set new.much=5; end if; update g set num = num -new.much where id = new.gid;end$索引注意:1、 不要過度索引2、 索引條件列(where后面最頻繁的條件列)3、 盡量索引散列值,過于集中的值不要索引。索引類型1、普通索引(index):僅僅是加快查詢速度2、唯一索引(unique index):行上的值不能重復3、主鍵索引(primary key):主鍵不能索引主鍵索引必定是唯一的,唯一索引不一定是主鍵,一張表上只

55、能一個主鍵,可以有一個或者多個唯一索引。4、 全文索引(fulltext index):在mysql 默認情況下對于中文作用不大。查看 一張表上的索引show index from 表名 (/G可以橫著顯示)索引不知道名稱默認以索引的列名作索引建立索引alter table 表名 add index/unique/fulltext 索引名(列名) 索引名可以不寫 ,不寫默認與列名相同。alter table 表名 add primary key (列名)創建索引示例:為 tel列 創建普通索引為email列 添加唯一索引為intro列添加全文索引為id列添加主鍵刪除索引alter table

56、drop index 索引名示例:刪除email(唯一)索引刪除主鍵索引全文索引使用查看匹配度select 列名, match (索引) against ( 索引詞) from表名;新發現 as 支持 漢字全文停止字:全文索引,不針對非常頻繁的詞,做索引。針對漢語意義不大,因為因為英文單詞可以依賴空格等標點來判斷單詞界限,進而對單詞進行索引,而中文mysql無法識別單詞界限。以下表列出了默認的全文停止字 :a'sableaboutaboveaccordingaccordinglyacrossactuallyafterafterwardsagainagainstain'

57、tallallowallowsalmostalonealongalreadyalsoalthoughalwaysamamongamongstanandanotheranyanybodyanyhowanyoneanythinganywayanywaysanywhereapartappearappreciateappropriatearearen'taroundasasideaskaskingassociatedatavailableawayawfullybebecamebecausebecomebecomesbecomingbeenbeforebeforehandbehindbeingb

58、elievebelowbesidebesidesbestbetterbetweenbeyondbothbriefbutbyc'monc'scamecancan'tcannotcantcausecausescertaincertainlychangesclearlycocomcomecomesconcerningconsequentlyconsiderconsideringcontaincontainingcontainscorrespondingcouldcouldn'tcoursecurrentlydefinitelydescribeddespitediddi

59、dn'tdifferentdodoesdoesn'tdoingdon'tdonedowndownwardsduringeacheduegeighteitherelseelsewhereenoughentirelyespeciallyetetcevenevereveryeverybodyeveryoneeverythingeverywhereexexactlyexampleexceptfarfewfifthfirstfivefollowedfollowingfollowsforformerformerlyforthfourfromfurtherfurthermoreget

60、getsgettinggivengivesgogoesgoinggonegotgottengreetingshadhadn'thappenshardlyhashasn'thavehaven'thavinghehe'shellohelphenceherherehere'shereafterherebyhereinhereuponhersherselfhihimhimselfhishitherhopefullyhowhowbeithoweveri'di'lli'mi'veieifignoredimmediateininasmu

61、chincindeedindicateindicatedindicatesinnerinsofarinsteadintoinwardisisn'titit'dit'llit'sitsitselfjustkeepkeepskeptknowknowsknownlastlatelylaterlatterlatterlyleastlesslestletlet'slikelikedlikelylittlelooklookinglooksltdmainlymanymaymaybememeanmeanwhilemerelymightmoremoreovermostmo

62、stlymuchmustmymyselfnamenamelyndnearnearlynecessaryneedneedsneitherneverneverthelessnewnextninenonobodynonnonenoonenornormallynotnothingnovelnownowhereobviouslyofoffoftenohokokayoldononceoneonesonlyontoorotherothersotherwiseoughtouroursourselvesoutoutsideoveroverallownparticularparticularlyperperhap

63、splacedpleasepluspossiblepresumablyprobablyprovidesquequiteqvratherrdrereallyreasonablyregardingregardlessregardsrelativelyrespectivelyrightsaidsamesawsaysayingsayssecondsecondlyseeseeingseemseemedseemingseemsseenselfselvessensiblesentseriousseriouslysevenseveralshallsheshouldshouldn'tsincesixso

64、somesomebodysomehowsomeonesomethingsometimesometimessomewhatsomewheresoonsorryspecifiedspecifyspecifyingstillsubsuchsupsuret'staketakentelltendsththanthankthanksthanxthatthat'sthatsthetheirtheirsthemthemselvesthenthencetherethere'sthereaftertherebythereforethereintheresthereuponthesethey

65、they'dthey'llthey'rethey'vethinkthirdthisthoroughthoroughlythosethoughthreethroughthroughoutthruthustotogethertootooktowardtowardstriedtriestrulytrytryingtwicetwoununderunfortunatelyunlessunlikelyuntiluntoupuponususeusedusefulusesusingusuallyvaluevariousveryviavizvswantwantswaswasn&#

66、39;twaywewe'dwe'llwe'rewe'vewelcomewellwentwereweren'twhatwhat'swhateverwhenwhencewheneverwherewhere'swhereafterwhereaswherebywhereinwhereuponwhereverwhetherwhichwhilewhitherwhowho'swhoeverwholewhomwhosewhywillwillingwishwithwithinwithoutwon'twonderwouldwouldwould

67、n'tyesyetyouyou'dyou'llyou'reyou'veyouryoursyourselfyourselveszero 注意!換服務器導入數據:大數據量時,先把索引去掉,導入后,統一加上索引。索引加快查詢速度,降低增刪改的速度。額外:show create table 表名 可以查看 創建表的語句發現問題使用全文索引時加上引擎存儲引擎最常見的是:Mysam和 innoDB數據庫的engine顯示MyISAM ,批量插入速度快,不支持事務,鎖表InnoDB 批量插入相對較慢,支持事務,鎖行-官方文檔-beginMySQL插件式存儲引

68、擎的體系結構下述存儲引擎是最常用的:·         MyISAM:默認的MySQL插件式存儲引擎,它是在Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一。注意,通過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務器的默認存儲引擎。·         InnoDB:用于事務處理應用程序,具有眾多特性,包括ACID事務支持。·         BDB:可替代InnoDB的事務引擎,支持COMMIT、ROLLBACK和其他事務特性。·    &#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論