顯示具有 SQL 標籤的文章。 顯示所有文章
顯示具有 SQL 標籤的文章。 顯示所有文章

2008年5月2日 星期五

Perl 裡面,運用 DBI模組幾個重要事項

首先,do與prepare語法上的finish差異。
prepare $sth->finish(); 可以用finish。
do $sth->finish(); 若使用finish則會出現 perl的錯誤訊息

update 語法的注意事項
UPDATE `sql`.`table` SET columns = '$abc';
$abc 則必須用 ''括起來,如果不是變數是數值則也需用''括起來。

2008年4月10日 星期四

MySQL Administrator 呼叫 QueryBrowser出現錯誤

之前使用MySQL 的免安裝版Tools,結果因為資料夾的搬移,而導致在MySQL Administrator呼叫 Query Browser出現錯誤訊息,大致如下 :Cannot launch MySQL Query Browser from MySQL Administrator.
在官方網站發現的解決方法如下:
在regedit編輯器中,找到下列的機碼:
HKEY_CURRENT_USER\Software\MySQL AB\MySQL Administrator 1.2
HKEY_CURRENT_USER\Software\MySQL AB\MySQL Query Browser 1.2
將location的數值修改成目前工具的目錄即可,我的目錄如下:
C:\Program Files\MySQL\MySQL Tools for 5.0\
ps最後面的斜線千萬別忘了。

2007年11月12日 星期一

2個My SQL問題紀錄

2個My SQL問題紀錄:
1.正體中文顯示問題。
2.樣式比對正體中文,有內容會出現無法正確顯示搜尋結果問題。


1.對於正體中文的顯示方式,因為My SQL 5.0後預設的Table 表內文的編碼為utf8,則需在程式與網頁內容均需存檔成utf8格式,這樣在進行中文輸入時,無須在第一行設定 set names big5 ,再進行中文的輸入與瀏覽。

2.樣式比對時若使用LIKE進行模糊比對會有正體中文比對異常的狀況。
EX:SELECT * FROM Table WHERE 'name' LIKE '%關鍵字%'
改成 SELECT * FROM Table WHERE 'name' REGEXP '關鍵字'
則可以順利進行中文搜尋了

2007年6月6日 星期三

Mysql command line

設定root密碼:
mysqladmin -u root password 'your.password' ##在share下
登入mysql server:
mysql -u root -p ##務必加上-p參數才可出現輸入password的提示
建立測試資料庫:
create database test;
建立使用者擁有test的權限,並可以由遠端登入:
grant all privileges on test.* to derek@'%' identified by '1234';

#####continue#####

2007年5月19日 星期六

MY SQL root password reset

當忘記MY SQL Server的root密碼於windows系統的回復方式:

首先必須為windows系統的管理者或是具有停止與啟用MYSQL服務的權限。
開始功能表->系統管理工具->服務
找到MYSQL的服務先將其關閉。
接著開啟記事本在記事本的內容輸入:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mysqlpassword');
mysqlpassword為新的密碼

將其存檔成任何檔名的txt文件,如 sqlpwd.txt
接著開啟一個命令提示字元,進行以下輸入:

cd C:\Program Files\MySQL\MySQL Server 5.0\bin
mysqld-nt --init-file=C:\sqlpwd.txt
其中C:\為剛才存文字檔的路徑

最後重新啟動MYSQL服務就大功告成。
PS:文章參考 MYSQL官方網站

2007年4月11日 星期三

My SQL中 "許蓋功"字集解決方式

近日在MY-SQL資料庫中實際輸入中文字集(BGI5)一樣遇到"許蓋功"的字集顯示問題。

而查閱了多數相關指導方式,都是採用PHP函數 addslashes ,然而對於我不使用PHP撰寫網頁實在是沒有益處。
然而當我知道該錯誤發生的原理為:

許蓋功 會顯示錯誤原為ASCII碼的問題,因為該類字元會被判斷為跳脫字元,故顯示時會出現亂碼等錯誤。

而我解決的方式:

在許蓋功該字元前面加入 \
\許 \蓋 \功
這樣就可以輕鬆解決問題啦!

2007年3月25日 星期日

SQL 錯誤訊息輸出

今天為了實做資料的輸入驗證,嚐試了在SQL中許多調整.
設定column的primary key(避免column重複),並利用perl dbi模組的錯誤輸出顯示出重複資料的判斷:



##以下為建立與mysql資料庫連結
$dbh = DBI->connect('dbi:mysql:test;host=127.0.0.1;port=3306', $username , $pwd , {PrintError =>0}) ;
die "unable connect : $dbi::errstr \n" unless (defined $dbh);

$sth = $dbh->prepare("insert into special_cm_config(customer_no,customer_ip,customer_mac,description,type) values(?,?,?,?,?)") or die "Cannot prepare: " . $dbh->errstr();
$sth->execute($customer_no,$customer_ip,$customer_mac,$description,$type);
if($sth->err()){
print "已有重複的客戶編號,錯誤訊息:". $dbh->errstr()."\n";
exit();};
$dbh->disconnect ;

SQL 基本語法 -復函式運用

#####my sql中有許多的複合式函數 #####
舉凡 max ->取最大值
min ->取最小值
average ->平均值
sum ->總數
count ->個數計算
以上的複合式函數都必須搭配 group by來運作
舉例說明 :
select count(a),b,c from table group by b;
順便也介紹一下MY-SQL的中文參考手冊
雖然內容與MY-SQL官方網站的詳細度有差,不過應該是初學者很好的參考指南。

2007年3月12日 星期一

SQL 基本語法筆記

~~~~~基本SQL語法簡介~~~~~
關於我最常使用的就是perl程式碼,來進行與sql server的連結與資料的輸入與輸出.
但使用 Active perl 則需安裝相關的函式套件.
若使用MY-SQL則需安裝 DBI.pm該函式.
而再perl程式碼一開始也必須宣告函式的使用.
###############################
use DBI;
use Win32::PingICMP;
use Net::SNMP;
###############################
基本的與sql server連結語法
#####connet mysql datebase
$dbh = DBI->connect('dbi:mysql:eskm;host=w.x.y.z;port=3306', $username , $pwd , {RaiseError => 1}) ;
die "unable connect : $dbi::errstr \n" unless (defined $dbh);



#####基本語法#####
###傳回資料表中所有資料
SELECT * FROM table_name;
###輸入資料於資料庫內
insert into table_name(column_name) values (values);
###將資料Update的語法
update table_name set column_name1=values,column_name2=values where other_column=values;
###將資料表整個刪除
delete from table_name;
###將資料表中哪些符合資格的資料刪除
delete from table_name where other_column=values;

~~~~~continue~~~~~