firebird數(shù)據(jù)庫安裝包自帶了一套命令行工具,用這些工具能完成所有所需的管理工作,但使用起來(特別是開發(fā)階段)并不是很方便,效率也不高.但免費且功能強大,下面分別介紹:firebird自帶的命令行工具都在安裝文件夾的\bin下。Windows8下按Win鍵+x,選擇命令提示符(管理員),進入\bin目錄. - 創(chuàng)建數(shù)據(jù)庫(ISQL):命令窗口執(zhí)行下列命令,并在相應文件夾檢查是否創(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ù)庫:
- \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ù)庫元素(表、視圖、觸發(fā)器、域、索引等)
- 域:其實就是自己重新定義的數(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
- 表:用域來創(chuàng)建表比直接用原始數(shù)據(jù)類型方便以后管理。比如以后“KEY_NAME”這類類型,字串長度改變,只需要改變域“KEY_NAME”的定義,所有表格中用域"KEY_NAME"定義的字段的類型都自動改變了,而不需要一個個去更改。
- SQL>CREATE TABLE YS_STAFF (
CON>STAFFID KEY_ID NOT NULL , CON>STAFFNAME KEY_NAME , CON>STAFF_OPTION NORM_BLOB CON>); - 設置表的主鍵:
SQL>ALTER TABLE YS_STAFF ADD CONSTRAINT PK_YS_STAFF_1 PRIMARY KEY (STAFFID); - 顯示表格:
SQL>SHOW TABLES; YS_STAFF
- 就不一一舉例了,具體的可以查看官網(wǎng)上的pdf手冊或SQL語言手冊。
- OUTPUT <FILENAME>:將輸出結(jié)果寫進指定文件,這是一個很有用的功能。
- edit:默認打開寫字板。編輯后保存退出即可執(zhí)行寫字板語句。
- shell:執(zhí)行os的命令。這樣就能在方便編寫自動日常處理功能。比如用output filename 產(chǎn)生報表,調(diào)用外部程序rar.exe 壓縮備份.調(diào)用ftp程序分發(fā)報表。等等。
- 數(shù)據(jù)庫備份與恢復(GBAK.EXE):工具是bin目錄下的GBAK.EXE;
- 先看看它自帶的幫助(直接輸入GBAK回車),如圖。
BIN>GBAK
 - 例子:
- 本地簡單備份
\bin>gbak -b -user "SYSDBA" -password "masterkey" Z:\database\firebird\BSKY_DB.FDB p:\back\firebird\BSKY_DB.FBK
- 本地簡單恢復
\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
- 本地從多卷恢復
\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 - 從遠程備份服務器:firebird本身提供的fbsvcmgr方式感覺很難用。后來自己寫了一個服務(以后會講到)。原理就是遠程控制這個服務,服務控制本地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 - 修改遠程服務器sysdba密碼
gsec -user sysdba -password masterkey -database beysky.com:"Z:\database\firebird\BSKY_DB.FDB" -modify sysdba -pw 666666 - 修改遠程服務器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手冊。這里就不再說了(以后有機會再說吧。累了!)。 下一篇介紹強大的第三方工具 IBExpert。你會發(fā)現(xiàn)用開發(fā)時用這些命令行工具真的是找虐。當然,這些工具用于日常定時的備份、數(shù)據(jù)同步等成品數(shù)據(jù)庫的管理還是很強大的。
|