2008年11月4日 星期二

建立及使用資料庫

建立資料庫
------------

create 是mysql用來新增資料用的語句,像資料庫、資料表等等,都可以使用它來新增:

mysql> create database new;
Query OK, 1 row affected (0.02 sec)
第一句意思為新增一個名為new的資料庫,如果要新增資料表,把database改成table就好了。資料庫或資料表名稱需注意大小寫需一樣。

建立完資料庫,我們就可以在裡面新增資料,但在新增資料我們必須確定我們現在用的是哪個資料庫,mysql使用use來設定使用的資料庫:

mysql> use new
Database changed
第一行意思為要使用new這個資料庫,第二行顯示使用的資料庫已經是new。

我們也可以在登入mysql時就指定要使用的資料庫:

[root@localhost ~]# mysql -u root -p new
Enter password:

要注意後面那個new,是要使用的資料庫名稱,而不是你的密碼,當你輸入完並按下Enter,它才會要你輸入密碼。


建立資料表
-----------

先來看看new這個資料庫裡面有甚麼資料表:

mysql> show tables;
Empty set (0.00 sec)
用show這個指令來看有甚麼資料表,記住你要看哪個資料庫的資料表,要先用use切換到那個資料庫下面。同樣的,我們也可以使用show來看有甚麼資料庫,記住tables跟databases,用show都要加s。

和新增資料庫一樣,使用create這個指令來新增資料表:

mysql> create table phonebook(
-> name varchar(20),
-> phone int(20));
Query OK, 0 rows affected (0.08 sec)
為了方便閱讀所以我分三行輸入。create table phonebook後面用()包了一些指令,資料表裡的欄位要使用()包起來,以這個例子來看,第一個欄位為name,後面接資料型別(下面會介紹資料型別),資料型別後面的(20)代表這個欄位的長度。如果還有別的欄位請用","(逗點)分開。
這裡我新增一個叫做phonebook的資料表,裡面包含兩個欄位,分別為name跟phone。

建立完資料表我們來看看是否真的有建立進去:


mysql> show tables;
+---------------+
| Tables_in_new |
+---------------+
| phonebook |
+---------------+
1 row in set (0.00 sec)

真的有剛剛新增的資料表。

除了show,還可以使用describe來看看資料表欄位的類型:

mysql> describe phonebook;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| phone | int(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
這個指令會將資料表欄位的資訊顯示出來,如果你忘記欄位類型,這是很好用的指令。


新增資料
---------

接著便要在資料表裡新增資料,新增的方式有幾種,先講第一種:
直接輸入:
在mysql>提示字元下,一行一行輸入資料:

mysql> insert into phonebook values('xiang', '0970-123456');
Query OK, 1 row affected, 1 warning (0.00 sec)
新增的指令為"insert into",phonebook代表你要新增資料到哪個資料表,values後面接(),裡面用來放新增的資料。以這個例子來看,phonebook資料表裡有兩個欄位,因此()內我必須要有兩筆資料,每筆資料要以''框起來,資料間要以,隔開,新增資料有分順序,因為phonebook第一個欄位為name,第二個欄位為phone,所以第一個欄位就要輸入名字,第二個欄位要須入電話號碼,要注意資料型別,資料型別錯誤的話,新增會有問題的。

mysql> insert into phonebook values('0970-123456', 'xiang');
ERROR 1046 (3D000): No database selected
我將上面例子的資料反過來,就出現錯誤了。

另一種方法,你可以先將資料寫好,使用匯入的方式,在資料很多的時候這是很方便的方法:
我在/tmp/mysql下面建立了一個名為phonebook.txt的文字檔,內容如下:
jack 0935-000000
mary 0933-123456
david 0928-101999
一行為一筆資料,每行有兩個欄位,欄位之間用tab鍵隔開,建立完之後再來就要匯入了:

mysql> load data local infile '/tmp/mysql/phonebook.txt' into table phonebook;
Query OK, 3 rows affected, 3 warnings (0.00 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 3
應該很容易看出來語法吧,匯入指令load data local infile,用''框起來的就是檔案路徑,into table phonebook就是要匯入到phonebook這個資料表。

安裝與登入mysql

安裝mysql

以fedora環境下,直接輸入 yum install mysql及yum install mysql-server


啟動mysql


與一般服務的管理方式一樣,在fedora可以使用 service來管理,亦或是在 /etc/init.d下直接來管理服務。輸入 service mysqld restart,安裝後第一次啟動mysql,會提示你使用 mysqladmin -u root password 'your-password'來指定root密碼:


[root@Fedora8DK etc]# service mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h Fedora8DK password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]



登入mysql


登入mysql的指令如下:
mysql [-h host_name][-u user_name][-pyour_pass ]

-h為要登入的主機名稱,可省略,未指定就是本機
-u為使用者名稱,可省略,未指定就是下指令的user
-p為密碼,如果有設密碼的話就不能省略。密碼不用先輸入,按下確定後系統會請你輸入密碼,如範例第二行
-h, -u和-p選項的另一種形式是--host=host_name、--user=user_name和--password=your_pass。注意在-p或--password=與跟隨它後面的口令之間沒有空格。
下面為指令範例:

[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

成功登入後,提示字元變成mysql>,代表現在在mysql底下。


登出mysql

輸入quit即可,或是按Ctrl+d也可以。



輸入查詢


這裡將介紹輸入命令的基本原則及特性。一般進入mysql後會顯示 mysql>,表示已經在mysql底下,並可以開始輸入命令,mysql>有幾個特性:
* 通常一個命令會以 ;(分號結尾),如果沒有";"即使按Enter鍵,mysql仍然會等待輸入(並非全部,像quit就不用以;結尾)
* mysql用資料表格(行和列)方式顯示查詢輸出。第一行包含列的標籤,隨後的行是查詢結果。通常,列標籤是您取自資料庫資料表的列的名字。
* 當執行完一個命令,mysql會將命令傳給伺服器,並將結果顯示出來,然後顯示另一個 mysql>等待下一個命令的輸入
* mysql的結果會顯示返回了多少行,以及查詢花了多長時間,它給您提供伺服器性能的一個大致概念。
* mysql底下不分大小寫,除了一些特定的字

底下為一些示範:

select version()使用version()來查詢現在的版本,底下輸出結果以及查詢所花費的時間。
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.45 |
+-----------+
1 row in set (0.00 sec)


您可以在一行上輸入多條語句,只需要以一個;(分號)間隔開各語句:

mysql> select version(); select now();
+-----------+
| version() |
+-----------+
| 5.0.45 |
+-----------+
1 row in set (0.00 sec)

+---------------------+
| now() |
+---------------------+
| 2008-11-03 16:13:32 |
+---------------------+
1 row in set (0.00 sec)


你可以不用把所有的命令都集中在同一行,前面有說過,mysql以;(分號)做為結束符號,因此你也可以將命令分成好幾行,像這樣:
一樣使用select version();這個命令做示範,我將這個命令分成三行輸入,結果是一樣的。
mysql> select
-> version()
-> ;
+-----------+
| version() |
+-----------+
| 5.0.45 |
+-----------+
1 row in set (0.00 sec)

如果你在輸入到一半的想取消輸入,可以直接輸入 "\c"來取消輸入:
mysql> select
-> version()
-> \c
mysql>

這裡要注意一下,當我沒輸入;就按Enter的話,提示字元為 ->,其實每個符號各有不同的意思:

提示符號 含義
mysql> 準備好接受新的命令
-> 等待多行命令的下一行
'> 等待下一行,等待以單引號(「'」)開始的字串的結束。
"> 等待下一行,等待以雙引號(「"」)開始的字串的結束。
`> 等待下一行,等待以反斜點(『`』)開始的識別符的結束。
/*> 等待下一行,等待以/*開始的註釋的結束。

2008年10月31日 星期五

客製化你的logo

相信很多人架好Plone後,一定會想將佈景換上自己的風格。首先就來介紹如何更換頁面最上方的logo。



首先當然是先準備你的logo,尺寸的話就看個人喜好,這裡我用的尺寸為 283x91。
登入Plone之後,點選左上角的Site Setup進入站台設定介面。



點選Zope Management Interface進入Zope的管理介面



點選portal_skins



點選plone_images



點選logo.jpg,這個就是logo的圖檔。


進去之後會顯示檔案的狀態,按一下下面的Customize進入客製化的介面



按一下下面的 File Data後面的"瀏覽",選取你的logo,接著點選uploadSave Change後,你的logo就變成你要的





將將~~真的變成我的logo了

2008年10月13日 星期一

Adding Files

新增檔案的功能可以讓我們很容易的上傳各種檔案到網站上,供人下載使用。新增的步驟很簡單,這個範例中我已經事先新增一個資料夾用來放要新增的檔案,其他步驟如下:
點選工具列上的 Add new... > File 就會到新增檔案的頁面:



Title :檔案標題(一定要有)
Description:檔案描述(可有可無)
File:點一下瀏覽,到電腦裡選擇你的檔案
最後別忘記按下save




新增完成,要注意的是,檔案的名稱為該檔案你存在電腦時的名稱,而不是Title

2008年10月1日 星期三

Adding Folders

新增資料夾是管理Plone裡最基本的動作之一。

新增的方式很簡單,點一下Add new選單會跳出項目清單:




點一下Folder,就會進入新增資料夾的畫面,在title的地方輸入資料夾的名稱。要注意,紅色方塊的地方是一定要輸入的,其它像是description,不填也沒關係,日後有需要也是可以回來填上你要的描述:



description 在使用者執行搜尋時很有用,因為搜尋的結果會包含title與description兩者。
另外,你會發現上面有一排標籤:Default, 用來輸入title與description, Categorization, 將資料夾分類(你應該知道key words), Dates, 設定資料夾的開放時間, Ownership, 給特定的使用者或投稿者來修改文件, Settings, 設定是否開放註解、是否出現在navigation menu。
這些是標準的標籤,當你新增別的型別的內容,你會很常看到它。

最後,別忘記按下save完成新增的動作。

2008年9月19日 星期五

CCNA啪斯~

準備好一陣子的CCNA總算是去給他考過了 真是太開心了阿~~~~
雖然只是最低階的考試 不過還是有點緊張 畢竟可是要200美金阿
整理了一些心得

上課或自修:能的話當然上課聽講師講會比較好,補習班要挑可以實機操作,不是用模擬器。
這裡當然推一下我上的奇科,講師是Henry,個人覺得很不錯,他有CCIE,除了NA的內容,他也常會講一些不錯的觀念(學習或工作態度等等)給我們
奇科的環境是個小機房 可以真正摸到機器 課後要作lab的話 只要沒有其他人上課在用就可以去作(嘖嘖 應該跟奇科收廣告費的)

參考書籍:
去上課的話一般都會有原廠教材,老實說真的看那個就夠了,一方面可以訓練英文能力,不過我比較急一點所以我還是買了一本中文書
推旗標翻譯的CCNA認證教戰手冊第六版 這本厚到絕對可以砸死人(驚) 當初在天瓏買的1千大洋
網路上有關CCNA的電子書也是一堆 需要的可以跟我要(當然是看交情拉,我還有NP哩哩摳摳的)

Lab:
可以的話,當然是有設備最好了,不然就是用模擬器,Cisco原廠出的Packet Tracer,以CCNA考試的範圍來說,這個已經夠用了。

考題:
考題也有很多種可以選,我看的是Pass4sure,網路上找一下,很容易找到

準備方法:
我是先去補習班上過(之前有一點網路的底子,一點點而已),上完後開始k那本中文書,Lab一直作(我都用模擬器的拉),等看完一兩遍就開始看考題
考題邊看,有問題就查書,多作幾遍到最後答案都記得了(疑?)。準備要考的前一個禮拜可以去網上看看有什麼特別的訊息,像我這次,前兩天我上網看
才發現最近Cisco考題有變動的情形,而我抓的Pass4sure也有最新的版本是針對這次的變動,好險有抓到,超級多題目是一模一樣的(疑疑?)

說真的,如果只死背考題也是會pass的,但是就失去證照的意義了,看個人怎麼斟酌,恁爸pass要來找飯局了~挖哈哈哈哈
禮拜三之前 找我請吃飯 呼呼

2008年9月4日 星期四

Linux 常用軟體

compress
rarlinux :使linux支援winrar