2013-05-04 32 views
0

我正在學習SQL,一些朋友建議我安裝XAMPP,因爲它都已經過預配置並可以使用。那麼,我安裝它,現在我創建了2個數據庫,我通過PhpMyAdmin進行練習。這就是說,我試圖做兩件事情:DMBS:Union,intersection與PhpMyAdmin和MySql opninons的區別

a)設置OperationsUnion,Intersect,Difference。唯一可用的PhpMyAdmin(因此MySql我猜,因爲我發現PhpMyAdmin是基於MySql的)是UNION。 INTERSECT和DIFFERENCE關鍵字不存在。那該怎麼做?

b)直接使用mysql.exe控制檯。我嘗試使用像USE數據庫名稱等命令,但它說「訪問拒絕用戶'''本地主機'數據庫名'

我試圖把連接命令在所有可能的口味(連接用戶傳遞主機數據庫,連接用戶傳遞數據庫和所有類型的組合),但沒有效果。

如何做到這一點?似乎Phpmyadmin爲數據庫設置了自己的密碼。我輸入了空密碼並在Phpmyadmin中檢查了那些密碼是空密碼我在做什麼錯了?

+0

MySQL(不像大多數現代DBMS)不支持'INTERSECT'或'EXCEPT'。 – 2013-05-04 21:10:31

+0

這是爲什麼?感謝Explosion Pills的帖子,我發現你做了INTERSECT,除了INNER和OUTER JOINS。 – 2013-05-06 19:58:12

+0

爲什麼是什麼?你的意思是:「*爲什麼MySQL缺少這麼多標準的SQL功能?」好吧,我不知道。 – 2013-05-06 20:03:49

回答

0

UNION關鍵字在phpmyadmin上工作得很好Phpmyadmin只是MySQL的一個接口嘗試在phpmyadmin中使用「SQL」視圖來直接測試你的SQL查詢。

如果涉及到mysql.exe,請嘗試使用用戶進行連接,例如, [email protected]。默認情況下,root不應該有密碼。

+0

我嘗試各種命令等 連接「namedatabase」「根@本地」「」(空密碼) 連接「namedatabase」「根」 @「本地主機」‘’ 連接‘namedatabase’‘根’‘本地主機’ '' 等等。所有給予拒絕訪問,不能訪問localhost blablablah和所有蒸BS。 到底是什麼?如何正確的語法? – 2013-05-05 12:58:21

0

a)UNION是一個MySQL關鍵字,它是兩個查詢的聯合。這比工會相交不同,並且概念,它們通過JOIN一切都實現。 This may help explain

b)至於您的密碼,用戶名可能默認爲root,但它可能是別的。如果你沒有設置它,密碼可能是空字符串。也許嘗試運行xampp\mysql\resetroot.bat

+1

重新a)這並非完全正確。 SQL標準確實知道「EXCEPT」(可能是OP與「差異」的含義)和「INTERSECT」(其中*是交集運算符)。這不是全部「只是」JOIN。但是,與大多數現代DBMS不同,MySQL不支持它們。 – 2013-05-04 21:08:35

+0

@a_horse_with_no_name但他的問題是關於mysql – 2013-05-04 21:11:07

+0

我知道,但OP「想學習SQL」,所以我認爲他/她可能會感興趣的是,這僅僅是MySQL的限制,而不是語言本身。 – 2013-05-04 21:12:10