MySQL使用教程(四)

3.4. 得數據和表的信息

如果你忘數據或表的名字,或定的表的構是什(例如,它的列叫什),怎麼辦MySQL提供數據及其支持的表的信息的幾個句解決問題

你已經見SHOW DATABASES,它列出由服器管理的數據了找出當前選擇了哪個數據,使DATABASE()函數:

mysql> SELECT DATABASE();

+------------+

| DATABASE() |

+------------+

| menagerie  |

+------------+

如果你選擇任何數據NULL

了找出當前的數據包含什(例如,當你不能確定一個表的名字),使用個命令:

mysql> SHOW TABLES;

+---------------------+

| Tables in menagerie |

+---------------------+

|event              |

|pet                |

+---------------------+

如果你想要知道一個表的構,可以使DESCRIBE命令;它示表中個列的信息:

mysql> DESCRIBE pet;

+---------+-------------+------+-----+---------+-------+

| Field   |Type        | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+-------+

| name    | varchar(20) |YES  |     | NULL   |       |

| owner   | varchar(20) | YES |     | NULL   |       |

| species | varchar(20) | YES |     | NULL    |      |

| sex     |char(1)     | YES  |     |NULL    |       |

| birth   |date        | YES |     | NULL   |       |

| death   |date        | YES |     | NULL   |       |

+---------+-------------+------+-----+---------+-------+

Field示列名字Type是列的數據Null表示列是否能包含NULLKey示列是否被索引Default指定列的默認值

如果表有索引,SHOW INDEX FROM tbl_name生成有索引的信息。

3.5. 在批理模下使用mysql

在前面的章中,你交互式地使mysql查詢並且果。你也可以以批模式運mysql了做到些,把你想要運行的命令放在一個文件中,然後告mysql從文件取它的

shell> mysql < batch-file

如果在Windows下運行mysql,並且文件中有一些可以造成問題的特殊字符,可以這樣操作:

C:\> mysql -e "source batch-file"

如果你需要在命令行上指定接參數,命令應爲

shell> mysql -h host -u user-p < batch-file

Enter password: ********

這樣mysql則創建一個腳本文件,然後行腳本。

如果你想在句出現錯誤候仍想繼續執行腳本,則應使--force命令行選項

要使用一個腳本?有很多原因:

·        如果你需要重運行查詢(比如天或),可以把它成一個腳本,則每不必重新入。

·        可以通編輯腳本文件從似的有的查詢生成一個新查詢

·        當你正在開發查詢時,批模式也是很有用的,特別對多行命令或多句命令序列。如果你犯了一個錯誤,你不必重新入所有內容,只需要編輯腳本來改正錯誤,然後告mysql再次行腳本。

·        如果你有一個生多個出的查詢,你可以通一個分器而不是着它翻屏到屏幕的端來運行出:

·               shell> mysql < batch-file | more

·        你可以捕捉文件中的出以便理:

·               shell> mysql < batch-file > mysql.out

·        你可以將腳本分發給另外的人,以便他也能運行命令。

·        某些情況不允交互地使用,例, 當你從一個cron中運行查詢時。在這種情況下,你必使用批模式。

當你以批模式運行mysql,比起你交互地使用它,其默認輸出格式是不同()。例如,當交互式運行SELECTDISTINCT species FROM pet應爲

 

+---------+

| species |

+---------+

| bird    |

| cat     |

| dog     |

| hamster |

| snake   |

+---------+

但是當以批模式運行應爲

species

bird

cat

dog

hamster

snake

如果你想要在批模式中得到交互出格式,使mysql -t了回出被行的命令,使mysql -vvv

可以使用源代 \.命令從mysql提示符運行腳本:

mysql> source filename;

mysql> \. filename

發佈了48 篇原創文章 · 獲贊 50 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章