Mysql必知必會(huì)

1.表中的任何列都可以作為主鍵, 只要它滿足以下條件:
任意兩行都不具有相同的主鍵值;
每一行都必須具有一個(gè)主鍵值( 主鍵列不允許NULL值) ;
主鍵列中的值不允許修改或更新;
主鍵值不能重用( 如果某行從表中刪除, 它的主鍵不能賦給以后的新行)
2.MySQL的要求:任意兩行都不具有相同的主鍵值;
每個(gè)行都必須具有一個(gè)主鍵值(主鍵列不允許NULL值)。
3.tips:除MySQL強(qiáng)制實(shí)施的規(guī)則外,應(yīng)該堅(jiān)持的
幾個(gè)普遍認(rèn)可的最好習(xí)慣為:
? 不更新主鍵列中的值;
? 不重用主鍵列的值;
? 不在主鍵列中使用可能會(huì)更改的值。(例如,如果使用一個(gè)
名字作為主鍵以標(biāo)識(shí)某個(gè)供應(yīng)商,當(dāng)該供應(yīng)商合并和更改其
名字時(shí),必須更改這個(gè)主鍵。)

第二章

1.MySQL選項(xiàng)和參數(shù) 如果僅輸入mysql, 可能會(huì)出現(xiàn)一個(gè)錯(cuò)誤
消息。因?yàn)榭赡苄枰踩C書,或者是因?yàn)镸ySQL沒有運(yùn)行
在本地或默認(rèn)端口上。 mysql接受你可以(和可能需要)使用
的一組命令行參數(shù)。例如,為了指定用戶登錄名ben,應(yīng)該使
用mysql -u ben。為了給出用戶名、主機(jī)名、端口和口令,
應(yīng)該使用mysql -u ben -p -h myserver -P 9999。
完整的命令行選項(xiàng)和參數(shù)列表可用mysql --help獲得。
2.命令輸入在mysql>之后;
? 命令用;或\g結(jié)束,換句話說,僅按Enter不執(zhí)行命令;
? 輸入help或\h獲得幫助,也可以輸入更多的文本獲得特定命令的
幫助(如,輸入help select獲得使用SELECT語句的幫助);
? 輸入quit或exit退出命令行實(shí)用程序。

第三章

1.必須先使用USE打開數(shù)據(jù)庫(kù),才能讀取其中的數(shù)據(jù)。
2.SHOW COLUMNS 要 求 給 出 一 個(gè) 表 名 ( 這 個(gè) 例 子 中 的 FROM
customers),它對(duì)每個(gè)字段返回一行,行中包含字段名、數(shù)據(jù)
類型、是否允許NULL、鍵信息、默認(rèn)值以及其他信息(如字段cust_id
的auto_increment)。
什么是自動(dòng)增量? 某些表列需要唯一值。例如,訂單編號(hào)、
雇員ID或(如上面例子中所示的)顧客ID。在每個(gè)行添加到表
中時(shí), MySQL可以自動(dòng)地為每個(gè)行分配下一個(gè)可用編號(hào),不
用在添加一行時(shí)手動(dòng)分配唯一值(這樣做必須記住最后一次使
用的值)。這個(gè)功能就是所謂的自動(dòng)增量。
3.SHOW STATUS,用于顯示廣泛的服務(wù)器狀態(tài)信息;
? SHOW CREATE DATABASE和SHOW CREATE TABLE,分別用來顯示創(chuàng)
建特定數(shù)據(jù)庫(kù)或表的MySQL語句;
? SHOW GRANTS,用來顯示授予用戶(所有用戶或特定用戶)的安
全權(quán)限;
? SHOW ERRORS和SHOW WARNINGS, 用來顯示服務(wù)器錯(cuò)誤或警告消息。

第四章 檢索數(shù)據(jù)

1.要想從一個(gè)表中檢索多個(gè)列,使用相同的SELECT語句。唯一的不同
是必須在SELECT關(guān)鍵字后給出多個(gè)列名,列名之間必須以逗號(hào)分隔。
2.mysql命令行用;
3.在選擇多個(gè)列時(shí),一定要在列名之間加上逗號(hào),但
最后一個(gè)列名后不加。如果在最后一個(gè)列名后加了逗號(hào),將出
現(xiàn)錯(cuò)誤。
4.如果給定一個(gè)通配符( *),則返回表中所有列
5.SELECT DISTINCT vend_id告訴MySQL只返回不同(唯一)的
vend_id行,因此只返回4行.不能部分使用DISTINCT DISTINCT關(guān)鍵字應(yīng)用于所有列而
不僅是前置它的列。
6.此語句使用SELECT語句檢索單個(gè)列。 LIMIT 5指示MySQL返回
不多于5行.LIMIT 5, 5指示MySQL返回從行5開始的5行。
7.SELECT products.prod_name FROM products;

第五章,排序

1.SELECT prod_name
FROM products
ORDER BY prod_name;
2.SELECT prod_id,prod_price,prod_name FROM products
ORDER BY prod_price,prod_name DESC;
DESC表示降序,ASC是升序
3.如何區(qū)分大小寫和排序順序是數(shù)據(jù)庫(kù)管理員設(shè)定規(guī)則
4.在給出ORDER BY子句時(shí),應(yīng)該保證它
位于FROM子句之后。如果使用LIMIT,它必須位于ORDER BY
之后。使用子句的次序不對(duì)將產(chǎn)生錯(cuò)誤消息。

第六章 過濾數(shù)據(jù)

1.SELECT prod_name,prod_price
FROM products
WHERE prod_price=2.50
2.在同時(shí)使用ORDER BY和WHERE子句時(shí),應(yīng)
該讓ORDER BY位于WHERE之后, 否則將會(huì)產(chǎn)生錯(cuò)誤
3.SELECT prod_name,prod_price
FROM products
WHERE prod_price BETWEEN 5 AND 10;
4.SELECT prod_name
FROM products
WHERE prod_price IS NULL;

第七章 數(shù)據(jù)過濾

1.AND在計(jì)算次序中優(yōu)先級(jí)更高。
2.SELECT prod_name,prod_price
FROM products
WHERE vend_id NOT IN (1002,1003)
ORDER BY prod_name;
3.MySQL 支 持 使 用 NOT 對(duì) IN 、 BETWEEN 和
EXISTS子句取反,這與多數(shù)其他DBMS允許使用NOT對(duì)各種條件
取反有很大的差別。

第八章 用通配符進(jìn)行過濾

1.通配符,搜索模式,在搜索子句中用通配符必須使用LIKE操作符
2.SELECT prod_id,prod_name
FROM products
WHERE prod_name LIKE 'jet%';
%表示任何字符出現(xiàn)的任意次數(shù)。
3.tips:尾空格可能會(huì)干擾通配符匹配。例如,在保存詞
anvil 時(shí) , 如 果 它 后 面 有 一 個(gè) 或 多 個(gè) 空 格 , 則 子 句 WHERE
prod_name LIKE '%anvil'將不會(huì)匹配它們,因?yàn)樵谧詈蟮膌
后有多余的字符。解決這個(gè)問題的一個(gè)簡(jiǎn)單的辦法是在搜索模
式最后附加一個(gè)%。
雖然似乎%通配符可以匹配任何東西,但有一個(gè)例
外,即NULL。即使是WHERE prod_name LIKE '%'也不能匹配
用值NULL作為產(chǎn)品名的行
4.與%能匹配0個(gè)字符不一樣, _總是匹配一個(gè)字符,不能多也不能少。
5.tips:不要過度使用通配符。如果其他操作符能達(dá)到相同的目的,應(yīng)該
使用其他操作符。
? 在確實(shí)需要使用通配符時(shí),除非絕對(duì)有必要,否則不要把它們用
在搜索模式的開始處。把通配符置于搜索模式的開始處,搜索起
來是最慢的。
? 仔細(xì)注意通配符的位置。如果放錯(cuò)地方,可能不會(huì)返回想要的數(shù)

第九章 用正則表達(dá)式進(jìn)行搜索

1.SELECT prod_name
FROM products
WHERE prod_name REGEXP'1000'
ORDER BY prod_name;
2.LIKE是匹配整個(gè)列,REGEXP匹配列值,為在搜索子句中使用通配符,必須使用LIKE操作符。 LIKE指示MySQL,
后跟的搜索模式利用通配符匹配而不是直接相等匹配進(jìn)行比較。
3.MySQL正則表達(dá)式匹配后不區(qū)分大小寫。區(qū)分大小寫可以用BINARY關(guān)鍵字,如WHERE prod_name REGEXP BINARY 'JetPack.000'
4.匹配特定的字符用[].
5.否定字符集合用^.
6.正則表達(dá)式匹配列值,只要列值中含有就可以,LIKE則是匹配整個(gè)列形式。
7..是匹配任意字符,匹配特殊字符用\為前導(dǎo)。、|[].
8.\f換頁,\n換行,\r回車,\t制表,\v縱向制表。
9.找出你自己經(jīng)常使用的數(shù)字,所有字母字符或所有數(shù)字字母字符的匹配。預(yù)定義的字符類。
[:alnum:]任意字母和數(shù)字
[:alpha:]任意字符
[:blank:]空格和制表[\t]
[:cntrl:]ASCII控制字符 0到31和127
[:digit:]任意數(shù)字
[:graph:]與[:print:]相同,但不包括空格
[:lower:]任意小寫
[:print:]任意可打印字符
[:punct:]既不是alnum也不是cntrl的字符
[:space:]包括空格在內(nèi)的空白字符,同[\f\n\r\t\v]
[:upper:]
[:xdigit:]任意十六進(jìn)制數(shù)字
10.匹配多個(gè)實(shí)例
*0個(gè)或多個(gè)匹配
+1個(gè)或多個(gè)
?0個(gè)或1個(gè)
{n}指定數(shù)目的匹配
{n,}不少于指定數(shù)目的匹配
{n,m}匹配數(shù)目的范圍
11.^文本的開始 $文本的結(jié)尾 [[:<:]]詞的開始 [[:>:]]詞的結(jié)尾
SELECT 'hello' REGEXP '[0-9]'返回0

第十章 創(chuàng)建計(jì)算字段

1.存儲(chǔ)在表中的數(shù)據(jù)都不是應(yīng)用程序所需要的。
我們需要直接從數(shù)據(jù)庫(kù)中檢索出轉(zhuǎn)換、計(jì)算或格式化過的數(shù)據(jù);而不是
檢索出數(shù)據(jù),然后再在客戶機(jī)應(yīng)用程序或報(bào)告程序中重新格式化。
這就是計(jì)算字段發(fā)揮作用的所在了。與前面各章介紹過的列不同,
計(jì)算字段并不實(shí)際存在于數(shù)據(jù)庫(kù)表中。計(jì)算字段是運(yùn)行時(shí)在SELECT語句
內(nèi)創(chuàng)建的。數(shù)據(jù)庫(kù)知道SELECT語句中哪些列是實(shí)際的
表列,哪些列是計(jì)算字段。從客戶機(jī)(如應(yīng)用程序)的角度來看,計(jì)算
字段的數(shù)據(jù)是以與其他列的數(shù)據(jù)相同的方式返回的。

2.tips:多數(shù)DBMS使用+或||來實(shí)現(xiàn)拼接,
MySQL則使用Concat()函數(shù)來實(shí)現(xiàn)。當(dāng)把SQL語句轉(zhuǎn)換成
MySQL語句時(shí)一定要把這個(gè)區(qū)別銘記在心
3.SELECT Concat(vend_name,'(',vend_country,')')
FROM vendors
ORDER BY vend_name;
4.SELECT Concat(RTrim(vend_name),'(',RTrim(vend_country),')')
FROM vendors
ORDER BY vend_name;
Rtrim去掉右邊所有空格,Ltrim去掉左邊所有空格
5.使用別名
SELECT Concat(RTrim(vend_name),'(',RTrim(vend_country),')')AS
vent_title
FROM vendors
ORDER BY vend_name;
6.計(jì)算字段
SELECT prod_id,
quatity,
item_price,
quatity*item_price AS expanded_price
FROM orderotems
WHERE order_num=2005;

第十一章 用數(shù)據(jù)處理函數(shù)

1.常用文本處理函數(shù)
Left()返回左邊字符,Length(),Locate()找出串的一個(gè)子串,Lower(),LTrim(),Right(),Rtrim(),Soundex()返回串的soundex值,SubString()返回子串的字符,Upper()
2.SELECT cust_name,cust_contact
FROM customers
WHERE Soundex(cust_contact)=Soundex('Y Lie');
3.日期和時(shí)間處理函數(shù)
AddDate()天,周,AddTime()時(shí),分,CurDate(),CurTime(),Date()日期時(shí)間的日期部分,DateDiff()日期之差,Date_Add()高度靈活的日期運(yùn)算函數(shù),Date_Format()返回格式化日期或者時(shí)間串,Day(),DayOfWeek(),Hour(),Minute(),Month(),Now(),Second(),Time(),Year()。
4.數(shù)值處理函數(shù)
abs(),cos(),exp(),mod(),pi(),rand()隨機(jī)數(shù),sin(),sqrt(),tan()
第十二章 匯總數(shù)據(jù)
1.聚集函數(shù) 運(yùn)行在行組上,計(jì)算和返回單個(gè)值的函數(shù)。
2.AVG()平均值COUNT()行數(shù) MAX()MIN()SUM()
3.SELECT AVG(prod_price)AS avg_price
FROM products;
4.確定特定列的平均值
AVG()忽略NULL的行
SELECT AVG(prod_price) AS avg_price
FROM products
WHERE vend_id =1003;
5.COUNT()
COUNT()包含null,COUNT(column)忽略null
SELECT COUNT(
) AS num_cust
FROM customers;
6.MAX()在用于文本數(shù)據(jù)時(shí),如果數(shù)
據(jù)按相應(yīng)的列排序,則MAX()返回最后一行。???
7.SELECT SUM(item_pricequantity)AS total_price
FROM orderitems
WHERE order_num=2005;
8.distinct只考慮不同的
SELECT AVG(DISTICT prod_price)AS avg_price
FROM products
WHERE vend_id =1003;
9tips:
如果指定列名,則DISTINCT只能用于COUNT()。DISTINCT
不能用于COUNT(
),因此不允許使用COUNT( DISTINCT),
否則會(huì)產(chǎn)生錯(cuò)誤。類似地, DISTINCT必須使用列名,不能用
于計(jì)算或表達(dá)式。

第十三章 分組數(shù)據(jù)

1.SELECT vend_id, COUNT() AS num_prods
FROM products
GROUP BY vend_id;
GROUP BY子句可以包含任意數(shù)目的列。這使得能對(duì)分組進(jìn)行嵌套,
為數(shù)據(jù)分組提供更細(xì)致的控制。
? 如果在GROUP BY子句中嵌套了分組,數(shù)據(jù)將在最后規(guī)定的分組上
進(jìn)行匯總。換句話說,在建立分組時(shí),指定的所有列都一起計(jì)算
(所以不能從個(gè)別的列取回?cái)?shù)據(jù))。
? GROUP BY子句中列出的每個(gè)列都必須是檢索列或有效的表達(dá)式
(但不能是聚集函數(shù))。如果在SELECT中使用表達(dá)式,則必須在
GROUP BY子句中指定相同的表達(dá)式。不能使用別名。
? 除聚集計(jì)算語句外, SELECT語句中的每個(gè)列都必須在GROUP BY子
句中給出。
? 如果分組列中具有NULL值,則NULL將作為一個(gè)分組返回。如果列
中有多行NULL值,它們將分為一組。
? GROUP BY子句必須出現(xiàn)在WHERE子句之后, ORDER BY子句之前。
使用有 WITH ROLLUP 子句的 GROUP BY 語句時(shí),不能再使用 ORDER語句對(duì)結(jié)果集進(jìn)行排序,如果對(duì)返回的結(jié)果順序不滿意,需要應(yīng)用程序獲得結(jié)果后在程序中進(jìn)行排序
2.WHERE 過濾行,HAVING過濾分組
SELECT cust_id,COUNT(
)AS orders
FROM orders
GROUP BY cust_id
HAVING count()>=2;
這里有另一種理解方法,WHERE在數(shù)據(jù)
分組前進(jìn)行過濾, HAVING在數(shù)據(jù)分組后進(jìn)行過濾。這是一個(gè)重
要的區(qū)別, WHERE排除的行不包括在分組中。這可能會(huì)改變計(jì)
算值,從而影響HAVING子句中基于這些值過濾掉的分組。
3.SELECT vend_id,COUNT(
)AS num_prods
FROM products
WHERE prod_price>=10
GROUP BY vend_id
HAVING COUNT()>=2;
4.如果用了having 就要用group by。
SELECT order_num,SUM(quatity
item_price)AS ordertotal
FROM orderitems
GROUP BY order_num
HAVING SUM(quatity*item_price)>=50
ORDER BY ordertotal;
5.SELECT 是
WHERE 否
GROUP BY 按組計(jì)算聚集使用
HAVING 否 ORDER BY
LIMIT 否

第14章 使用子查詢

1.SQL
SELECT cust_id
FROM orders
WHERE order_num IN(SELECT order_num
FROM orderitems
WHERE prod_id='TNT2');
2.SELECT cust_name,cust_contact
FROM customers
WHERE cust_id IN(SELECT cust_id
FROM orders
WHERE order_num IN(SELECT order_num
FROM orderitems
WHERE prod_id='TNT2'));
3.列必須匹配:
在WHERE子句中使用子查詢(如這里所示),應(yīng)
該保證SELECT語句具有與WHERE子句中相同數(shù)目的列。通常,
子查詢將返回單個(gè)列并且與單個(gè)列匹配,但如果需要也可以
使用多個(gè)列。
4.SELECT cust_name,
cust_state,
(SELECT COUNT(*)
FROM orders
WHERE order.cust_id=customers.cust_id)AS orders
FROM customers
ORDER BY cust_name;

第十五章 聯(lián)結(jié)表

1.外鍵為某個(gè)表中的一列,它包含另一個(gè)表
的主鍵值,定義了兩個(gè)表之間的關(guān)系。
2.在一條SELECT語句中聯(lián)結(jié)幾個(gè)表時(shí),相應(yīng)的關(guān)系是
在運(yùn)行中構(gòu)造的。在數(shù)據(jù)庫(kù)表的定義中不存在能指示MySQL如何對(duì)表進(jìn)
行聯(lián)結(jié)的東西。你必須自己做這件事情。在聯(lián)結(jié)兩個(gè)表時(shí),你實(shí)際上做
的是將第一個(gè)表中的每一行與第二個(gè)表中的每一行配對(duì)。 WHERE子句作為
過濾條件,它只包含那些匹配給定條件(這里是聯(lián)結(jié)條件)的行。
3.由沒有聯(lián)結(jié)條件的表關(guān)系返回
的結(jié)果為笛卡兒積。檢索出的行的數(shù)目將是第一個(gè)表中的行數(shù)乘
以第二個(gè)表中的行數(shù)。
4.SELECT vend_name,prod_name,prod_price
FROM vendors INNER JOIN products
ON vendors.vend_id=products.vend_id;
5.ANSI SQL規(guī)范首選INNER JOIN語法。此外,
盡管使用WHERE子句定義聯(lián)結(jié)的確比較簡(jiǎn)單,但是使用明確的
聯(lián)結(jié)語法能夠確保不會(huì)忘記聯(lián)結(jié)條件,有時(shí)候這樣做也能影響
性能
SELECT cust_name,cust_contact
FROM customers
WHERE cust_id IN(SELECT cust_id
FROM orders
WHERE order_num IN(SELECT order_num
FROM orderitems
WHERE prod_id='TNT2'));
SELECT cust_name,cust_contact
FROM customers,orders,orderitems
WHERE customers.cust_id=orders.cust_id
AND orderitems.order_num=order.order_num
ADN prod_id='TNT2';
第十六章 創(chuàng)建高級(jí)聯(lián)結(jié)


1.SELECT p1.prod_id,p1.prod_name
FROM products AS p1,products AS p2
WHERE p1.vend_id=p2.vend_id
AND p2.prod_id='DTNTR';
自聯(lián)結(jié)通常作為外部語句用來替代
從相同表中檢索數(shù)據(jù)時(shí)使用的子查詢語句。雖然最終的結(jié)果是
相同的,但有時(shí)候處理聯(lián)結(jié)遠(yuǎn)比處理子查詢快得多。應(yīng)該試一
下兩種方法,以確定哪一種的性能更好。
2.自然聯(lián)結(jié)
SELECT c.*o.order_num,o.order_date,
oi.prood_id,oi.quatity,OI.item_price
FROM customers AS c,orders AS o,orderitems AS oi
WHERE c.cust_id=o.cust_id
AND oi.order_num=o.order_num
AND prod_id='FB';
通配符只對(duì)第一個(gè)表使用。所有其他列明確列
出,所以沒有重復(fù)的列被檢索出來。
3.SELECT customer.cust_id,orders.order_num
FROM customers INNER JOIN orders
ON customers.cust_id=orders.cust_id;
4.SELECT customer.cust_id,orders.order_num
FROM customers LEFT OUTER JOIN orders
ON customers.cust_id=orders.cust_id;
這條SELECT語句使用了關(guān)
鍵字OUTER JOIN來指定聯(lián)結(jié)的類型(而不是在WHERE子句中指
定)。但是,與內(nèi)部聯(lián)結(jié)關(guān)聯(lián)兩個(gè)表中的行不同的是,外部聯(lián)結(jié)還包括沒
有關(guān)聯(lián)行的行。在使用OUTER JOIN語法時(shí),必須使用RIGHT或LEFT關(guān)鍵字
指定包括其所有行的表( RIGHT指出的是OUTER JOIN右邊的表,而LEFT
指出的是OUTER JOIN左邊的表)。上面的例子使用LEFT OUTER JOIN從FROM
子句的左邊表( customers表)中選擇所有行。???
5.SELECT customers.cust_name,
customers.cust_id,
COUNT(orders.order_num)AS num_ord
FROM customers INNER JOIN orders
ON customers.cust_id=orders.cust_id
GROUP BY custmers.cust_id;
6.SELECT customers.cust_name,
customers.cust_id,
COUNT(orders.order_num)AS num_ord
FROM customers LEFT OUTER JOIN orders
ON customers.cust_id=orders.cust_id
GROUP BY customers.cust_id:

第十七章 組合查詢

1.使用UNION
SELECT vend_id,prod_id,prod_price
FROM products
WHERE prod_price<=5
UNION
SELECT vend_id,prod_id,prod_price
FROM products
WHERE vend_id IN(1001,1002);
TIPS:UNION可能比使用WHERE子句更為復(fù)雜。
但對(duì)于更復(fù)雜的過濾條件,或者從多個(gè)表(而不是單個(gè)表)中檢索數(shù)據(jù)
的情形,使用UNION可能會(huì)使處理更簡(jiǎn)單。

  1. UNION規(guī)則
    必須由兩條或兩條以上的SELECT語句組成,語句之間用關(guān)
    鍵字UNION分隔(因此,如果組合4條SELECT語句,將要使用3個(gè)
    UNION關(guān)鍵字)。
    ? UNION中的每個(gè)查詢必須包含相同的列、表達(dá)式或聚集函數(shù)(不過
    分析各個(gè)列不需要以相同的次序列出)。
    ? 列數(shù)據(jù)類型必須兼容:類型不必完全相同,但必須是DBMS可以
    隱含地轉(zhuǎn)換的類型(例如,不同的數(shù)值類型或不同的日期類型)。
    如果遵守了這些基本規(guī)則或限制,則可以將并用于任何數(shù)據(jù)檢索任務(wù)。
    UNION可以去除重復(fù)的行,想返回所有匹配行,使用UNION ALL 而不是UNION,在使用UNION組合查詢的時(shí)候,只能使用一條ORDER BY,必須出現(xiàn)在最后一條SELECT語句之后 不能用多條

第十八章,全文本搜索

1.MySQL
支持幾種基本的數(shù)據(jù)庫(kù)引擎。并非所有的引擎都支持本書所描
述的全文本搜索。兩個(gè)最常使用的引擎為MyISAM和InnoDB,
前者支持全文本搜索,而后者不支持。這就是為什么雖然本書
中 創(chuàng) 建 的 多 數(shù) 樣 例 表 使 用 InnoDB , 而 有 一 個(gè) 樣 例 表
( productnotes表)卻使用MyISAM的原因。

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

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

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