摘 要:作為當(dāng)前中小企業(yè)普遍選擇的MySQL數(shù)據(jù)庫以其低成本和高性能在互聯(lián)網(wǎng)市場占據(jù)著不可或缺的一席。本文將探討在開源模式下如何將數(shù)據(jù)有效地根據(jù)TCP/IP協(xié)議輸出數(shù)據(jù)庫。
關(guān)鍵詞:軟件技術(shù);MySQL數(shù)據(jù)庫;PHP語言
1 MySQL數(shù)據(jù)庫概述
MySQL是一個(gè)開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫?,F(xiàn)在MySQL數(shù)據(jù)庫是甲骨文公司旗下的一款數(shù)據(jù)庫產(chǎn)品。
2 MySQL數(shù)據(jù)庫輸出方案
2.1 從數(shù)據(jù)庫輸出至網(wǎng)頁腳本
MySQL數(shù)據(jù)庫與PHP之間通過PHP內(nèi)置函數(shù)進(jìn)行交互(PHP語言對(duì)多種數(shù)據(jù)庫均留有接口),之后再一個(gè).php文件下使用上述交互措施,代買如下:
<?php //假設(shè)MySQL數(shù)據(jù)庫中有有一個(gè)叫user的數(shù)據(jù)庫,有一張login的表,表中有id,name,pw三個(gè)字段。
mysql_connect(\"localhost\",\"root\",\"\")or die(mysql_error());//這里使用的是默認(rèn)的MySQL配置
mysql_select_db(\"user\")or die(mysql_error());
mysql_query(\"set names utf8\");//設(shè)定字符集
$command=\"SELECT * FROM `login` WHERE 1 ORDER BY `id`;\";
$query=mysql_query($command);
while ($row=mysql_fetch_array($query))
{
?>
<?php
}
?>
這樣便能在頁面經(jīng)由服務(wù)器組件編譯后將login表中數(shù)據(jù)展現(xiàn)在一個(gè)網(wǎng)頁上。
2.2 從數(shù)據(jù)庫輸出至sql文件
作為MySQL的一個(gè)方便之處,數(shù)據(jù)庫可以通過簡單地導(dǎo)入導(dǎo)出事先備份,MySQL提供了mysqldump命令實(shí)現(xiàn)了這種備份功能,我們?cè)诜?wù)器端下打開命令行(這里仍然使用上一個(gè)例子):
mysqldump -u root -p users login>usersLogin.sql
這樣便會(huì)在文件目錄下找到一個(gè)名為usersLogin.sql的文件,這個(gè)文本文件可以通過vi編輯器等軟件查看,同時(shí)也能被MySQL數(shù)據(jù)庫加載恢復(fù)成數(shù)據(jù)庫中的表,方法為(這里假設(shè)文件源存放于d:\下):
mysql -u root -p
mysql>use user
mysql>source d:\usersLogin.sql
這樣便能快速將一張表導(dǎo)入數(shù)據(jù)庫,但是同時(shí)這么做會(huì)覆蓋之前數(shù)據(jù)庫同名的表。
2.3 從數(shù)據(jù)庫導(dǎo)出至excel表格
眾所周知,excel與數(shù)據(jù)庫中表的結(jié)構(gòu)是相差無幾的,因此,我們不由得聯(lián)想到是否者之間存在可以互換的方法。MySQL在這里再一次展示了它強(qiáng)大的功能,它通過自身的XML編碼實(shí)現(xiàn)將數(shù)據(jù)庫表輸出至任何一個(gè).xls的表格(仍然使用上面的例子):
ALTER TABLE login CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
SELECT * INTO OUTFILE 'login.xls' FROM login
ALTER TABLE login CHARACTER SET utf8 COLLATE utf8_general_ci;
這里要經(jīng)過字符變換才能保證不輸出亂碼。
3 總結(jié)與展望
通過上述測試,我們發(fā)現(xiàn)PHP與MySQL在兼容方面做的無懈可擊,同時(shí)在應(yīng)用方面也體現(xiàn)出它們的易操作性和高效性。在PHP與MySQL不斷發(fā)展的趨勢下,互聯(lián)網(wǎng)服務(wù)器的快速部署將更加容易且高效地實(shí)現(xiàn)。