firebird數(shù)據(jù)庫(kù)安裝包自帶了一套命令行工具,用這些工具能完成所有所需的管理工作,但使用起來(lái)(特別是開(kāi)發(fā)階段)并不是很方便,效率也不高.但免費(fèi)且功能強(qiáng)大,下面分別介紹:firebird自帶的命令行工具都在安裝文件夾的\bin下。Windows8下按Win鍵+x,選擇命令提示符(管理員),進(jìn)入\bin目錄. - 創(chuàng)建數(shù)據(jù)庫(kù)(ISQL):命令窗口執(zhí)行下列命令,并在相應(yīng)文件夾檢查是否創(chuàng)建成功。
- \bin>isql -u sysdba -p masterkey
SQL>CREATE DATABASE "x:\DATABASE\BSKY_DB.FDB"; - 編輯安裝目錄的“aliases.conf”文件,添加一行"BSKY_DB=X:\database\BSKY_DB.FDB"。
- 連接數(shù)據(jù)庫(kù):
- \SQL>CONNECT '127.0.0.1:x:\DATABASE\BSKY_DB.FDB' USER 'SYSDBA' PASSWORD 'masterkey';
或 CONNECT '127.0.0.1:BSKY_DB' USER 'SYSDBA' PASSWORD 'masterkey';如圖
- ISQL的幫助:如圖

- 創(chuàng)建并管理數(shù)據(jù)庫(kù)元素(表、視圖、觸發(fā)器、域、索引等)
- 域:其實(shí)就是自己重新定義的數(shù)據(jù)類型,好處是容易閱讀和統(tǒng)一修改。例:
- SQL>CREATE DOMAIN EMAIL_ADDRESS AS
CON>VARCHAR(255) CHARACTER SET NONE COLLATE NONE; - CREATE DOMAIN KEY_ID AS INTEGER NOT NULL;
- CREATE DOMAIN KEY_NAME AS VARCHAR(40) CHARACTER SET NONE COLLATE NONE;
- SQL>CREATE DOMAIN NORM_BLOB AS BLOB SUB_TYPE 0 SEGMENT SIZE 80;
- 顯示域:
SQL>SHOW DOMAINS; EMAIL_ADDRESS KEY_ID KEY_NAME NORM_BLOB
- 表:用域來(lái)創(chuàng)建表比直接用原始數(shù)據(jù)類型方便以后管理。比如以后“KEY_NAME”這類類型,字串長(zhǎng)度改變,只需要改變域“KEY_NAME”的定義,所有表格中用域"KEY_NAME"定義的字段的類型都自動(dòng)改變了,而不需要一個(gè)個(gè)去更改。
- SQL>CREATE TABLE YS_STAFF (
CON>STAFFID KEY_ID NOT NULL , CON>STAFFNAME KEY_NAME , CON>STAFF_OPTION NORM_BLOB CON>); - 設(shè)置表的主鍵:
SQL>ALTER TABLE YS_STAFF ADD CONSTRAINT PK_YS_STAFF_1 PRIMARY KEY (STAFFID); - 顯示表格:
SQL>SHOW TABLES; YS_STAFF
- 就不一一舉例了,具體的可以查看官網(wǎng)上的pdf手冊(cè)或SQL語(yǔ)言手冊(cè)。
- OUTPUT <FILENAME>:將輸出結(jié)果寫(xiě)進(jìn)指定文件,這是一個(gè)很有用的功能。
- edit:默認(rèn)打開(kāi)寫(xiě)字板。編輯后保存退出即可執(zhí)行寫(xiě)字板語(yǔ)句。
- shell:執(zhí)行os的命令。這樣就能在方便編寫(xiě)自動(dòng)日常處理功能。比如用output filename 產(chǎn)生報(bào)表,調(diào)用外部程序rar.exe 壓縮備份.調(diào)用ftp程序分發(fā)報(bào)表。等等。
- 數(shù)據(jù)庫(kù)備份與恢復(fù)(GBAK.EXE):工具是bin目錄下的GBAK.EXE;
- 先看看它自帶的幫助(直接輸入GBAK回車),如圖。
BIN>GBAK
 - 例子:
- 本地簡(jiǎn)單備份
\bin>gbak -b -user "SYSDBA" -password "masterkey" Z:\database\firebird\BSKY_DB.FDB p:\back\firebird\BSKY_DB.FBK
- 本地簡(jiǎn)單恢復(fù)
\bin>gbak -b -user "SYSDBA" -password "masterkey" p:\back\firebird\BSKY_DB.FBK Z:\database\firebird\BSKY_DB.FDB - 本地備份到多卷并保存?zhèn)浞萑罩荆?br>\bin>gbak -b Z:\database\firebird\BSKY_SYS.FDB p:\back\firebird\BSKY_SYS.FB1 2m p:\back\firebird\BSKY_SYS.FB2 2m p:\back\firebird\BSKY_SYS.FB3 -user "SYSDBA" -password "masterkey" -v -y p:\back\firebird\BSKY_SYS.20120418.log
- 本地從多卷恢復(fù)
\bin>gbak -c p:\back\firebird\BSKY_SYS.FB1 2m p:\back\firebird\BSKY_SYS.FB2 2m p:\back\firebird\BSKY_SYS.FB3 Z:\database\firebird\BSKY_SYS.FDB -user "SYSDBA" -password "masterkey" -v -y p:\back\firebird\BSKY_SYS.20120418.log - 從遠(yuǎn)程備份服務(wù)器:firebird本身提供的fbsvcmgr方式感覺(jué)很難用。后來(lái)自己寫(xiě)了一個(gè)服務(wù)(以后會(huì)講到)。原理就是遠(yuǎn)程控制這個(gè)服務(wù),服務(wù)控制本地gbak.exe
- 用戶管理(gsec.exe):工具是bin目錄下的gsec.exe
- 自帶的幫助
\bin>gsec -help - 新增使用者
gsec -user sysdba -password masterkey gsec> add Puser -pw 1111 -fname 普通用戶 -lnmae 普通用戶 - 修改密碼
gsec> modify Puser -pw 123456 - 修改sysdba密碼
gsec -user sysdba -password masterkey -modify sysdba -pw 123456 - 修改遠(yuǎn)程服務(wù)器sysdba密碼
gsec -user sysdba -password masterkey -database beysky.com:"Z:\database\firebird\BSKY_DB.FDB" -modify sysdba -pw 666666 - 修改遠(yuǎn)程服務(wù)器ip( beysky.com)使用tcp port 3838
gsec -user sysdba -password masterkey -database beysky.com/3050:"Z:\database\firebird\BSKY_DB.FDB -modiyf sysdba -pw 383838 - 刪除本地使用者
gsec -user sysdba -password masterkey -delete Puser
- 其它工具:其它工具用的很少了。具體可以查看官網(wǎng)上的pdf手冊(cè)。這里就不再說(shuō)了(以后有機(jī)會(huì)再說(shuō)吧。累了?。?。 下一篇介紹強(qiáng)大的第三方工具 IBExpert。你會(huì)發(fā)現(xiàn)用開(kāi)發(fā)時(shí)用這些命令行工具真的是找虐。當(dāng)然,這些工具用于日常定時(shí)的備份、數(shù)據(jù)同步等成品數(shù)據(jù)庫(kù)的管理還是很強(qiáng)大的。
|