首頁 / CompScience / Database / MySQL / 全國資料庫應用技能測驗MySQL 5模擬試題第二回

全國資料庫應用技能測驗MySQL 5模擬試題第二回

這是MySQL 5實力養成暨評量裡的全國資料庫應用技能測驗MySQL 5模擬試題第二回,ㄚ琪試著檢驗自己的MySQL 5的功力如何,這次的成績是91分自我感覺良好,不過我們還是得好好改善我們答題的大腦才行。

06.『關於鍵值的說明,下列敘述何者有錯誤?』

答案:(D) 候補鍵可以用來指向其他資料表內的主鍵

這題錯過了,直接參考關聯式資料庫鍵值

07.『下關於關連式資料庫的敘述,何者不正確?』

答案:(C)  表格內的資料不可以重複

我選的是(D) 表格內的欄位代表資料的屬性,我很納悶為何是錯的,當然(C)雖然有點疑問,不過冷靜思考之後表格內應該還是會有重複的。而且沒錯欄位代表資料的屬性這是正確的,奇怪有時考這種邪門的題目就是會錯?

15.『在文字模式下,如果離開MySQL伺服器,需要執行下列哪一個命令?』

答案:(A) (B) (C) \q

exit有點似曾相似,但是還是沒把握,改善一下我們的大腦吧,請看MySQL 5.7 Reference Manual :: 4 MySQL Programs :: 4.5 MySQL Client Programs :: 4.5.1 mysql — The MySQL Command-Line Tool :: 4.5.1.2 mysql Commands

MySQL 5.1参考手册 :: 8. 客户端和实用工具程序::8.3. mysql:MySQL命令行工具::8.3.2. mysql命令

轉成繁體中文如下:

將發出的SQL語句發送到待執行的伺服器。還有一系列命令mysql可以自己解釋。要查看這些命令,在mysql>提示下輸入help或\h:

mysql> help

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear command.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute a SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

每個命令有長形式和短形式。長形式對大小寫不敏感;短形式敏感。長形式後面可以加一個分號結束符,但短形式不可以。

在delimiter命令中,應避免使用反斜線(『\』),因為這是MySQL的轉義符。

Editnopagerpagersystem命令只在Unix中工作。

status命令提供連接和使用的伺服器相關的部分訊息。如果用–safe-updates模式運行,status也打印影響查詢的MySQL變數的值。

要想記錄查詢及其輸出,應使用tee命令。螢幕上顯示的所有資料被追加到給定的檔案後面。這對於調試也很有用。可以用–tee選項在命令行中啟用該特性,或者用tee命令交互式啟用。可以用notee命令交互式禁用tee檔案。再次執行tee可以重新啟用日誌。前面的檔案使用時不帶任何參數。請注意執行完每個語句後tee可以將查詢結果刷新到一個檔案中,並且在mysql打印下一個提示前刷新。

用–pager選項,可以用交互式模式使用Unix程式,例如less、more或者其它類似的程式,來瀏覽或搜索查詢結果。如果未指定該選項的值,mysql檢查PAGER環境變數的值並將PAGER設為該值。可以用pager命令交互式啟用輸出分頁,並用nopager禁用。該命令採用可選參數;如果給出,分頁程式設置為該值。如果沒有給出參數,分頁器被設置為在命令行中設置的分頁器的值,如果未指定分頁器,則設置為stdout。

輸出分頁只適合Unix,因為它使用popen()函數,該函數在Windows中不存在。在Windows中,可以使用tee選項來保存查詢輸出,儘管在某些情況下瀏覽輸出時不如pager方便。

關於pager命令的一些技巧:

·         可以使用它寫入一個檔案,將結果只輸出到該檔案中:

·                mysql> pager cat > /tmp/log.txt

也可以為將用作分頁器的程式傳遞選項:

mysql> pager less -n -i -S

·         注意前面例子中的-S選項。它可以幫助瀏覽廣範圍的查詢結果。有時太廣的結果很難在螢幕上讀出來。less的-S選項可以使結果更易於讀,因為可以用左、右箭頭水平滾動它。還可以在less中交互式使用-S,以關閉或打開水平瀏覽模式。詳細訊息請閱讀手冊中的less頁:

·                shell> man less

·         可以指定很複雜的pager命令來處理查詢輸出:

·                mysql> PAGER cat | tee /dr1/tmp/res.txt \
·                          | tee /dr2/tmp/res2.txt | less -n -i -S

在該例子中,該命令將查詢結果發送到位於/dr1和/dr2上安裝的兩個不同的檔案系統中的兩個不同目錄中的兩個檔案中,但仍然可以通過less將結果顯示在螢幕上。

還可以結合使用teepager函數。啟用一個tee檔案並將pager設置為less,能夠使用less 程式瀏覽結果,並且仍然可以同時將內容新增到一個檔案中。結合pager命令使用的Unix tee和 mysql嵌入式tee命令的差別是即使沒有可用的Unix tee,嵌入式tee仍然可以工作。嵌入式tee還可以記錄在螢幕上輸出的內容,而結合pager命令使用的Unix tee不能記錄那麼多的內容。並且,可以從MySQL中交互式打開或關閉tee檔案日誌。當您想要將部分查詢記錄到一個檔案中時很有用,但其它不適合。

預設mysql>提示符可以重新配置。定義提示符的字串可以包含下面的特殊序列:

選項 描述
\v 伺服器版本
\d 當前的資料庫
\h 伺服器主機
\p 當前的TCP/IP端口或套接字檔案
\u 您的帳號
\U 您的全user_name@host_name帳號名
\\ 『\』反斜線字元
\n 新行字元
\t Tab字元
\ 空格(反斜線後面的空格)
\_ 空格
\R 當前的時間,24-小時軍用時間(0-23)
\r 當前的時間,標準12-小時(1-12)
\m 當前時間的分鐘
\y 當前的年,兩位
\Y 當前的年,四位
\D 當前的日期
\s 當前時間的秒
\w 當前周的天,3字元格式(Mon,Tue,…)
\P am/pm
\o 當前的月,數字格式
\O 當前的月,3字元格式(Jan,Feb,…)
\c 隨發出的每個語句遞增的計數
\S 分號
\’ 單引號
\” 雙引號

『\』後面跟隨的其它字母則變為該字母。

如果不用任何參數指定提示命令,mysql將提示重新設置位預設mysql>。

可以用幾種方式設置提示:

·         使用環境變數

可以用MYSQL_PS1環境變數來設置提示字串。例如:

shell> export MYSQL_PS1="(\u@\h) [\d]> "

·         使用選項檔案

可以在MySQL選項檔案中的[mysql]組設置提示,例如根目錄中的/etc/my.cnf或.my.cnf檔案。例如:

[mysql]
prompt=(\\u@\\h) [\\d]>\\_

在該例子中,請注意反斜線是雙線。如果使用選項檔案中的prompt選項來設置提示,當使用特殊提示選項時,建議使用雙反斜線。在允許的提示選項和選項檔案中可識別的特殊轉義序列中有部分重疊。(這些序列列於4.3.2節,「使用選項檔案」)。如果使用單反斜線,會遇到問題。例如,\s被解釋為空格而不是當前的秒值。下面的例子顯示了如何在選項檔案中定義提示以包括當前的時間,格式為HH:MM:SS>:

[mysql]
prompt="\\r:\\m:\\s> "

·         使用命令行選項

可以在mysql的命令行中設置–prompt選項。例如:

shell> mysql --prompt="(\u@\h) [\d]> "
(user@host) [database]>

·         交互式

您可以使用prompt(或\R)命令交互地更改提示。例如:

mysql> prompt (\u@\h) [\d]>\_
PROMPT set to '(\u@\h) [\d]>\_'
(user@host) [database]>
(user@host) [database]> prompt
Returning to default PROMPT of mysql>
mysql>
馬上成為工作達人的Fans

About ㄚ琪

工作達人Fun Taiwan的創辦者及總編,可以在這裡更認識他。

發表迴響

你的電子郵件位址並不會被公開。 Required fields are marked *

*

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Scroll To Top