搜尋此網誌

2011年10月20日 星期四

Debian - LAMP

REFERENCE


1.apache
apt-get  install  apache2  apache2-mpm-prefork


  • prefork
    • 這是最傳統的模式,運作時會有數個 child processes,每個 processes 都只跑一個 thread。因此每個 thread 都隸屬於不同 processes 不會互相干擾,雖然效能較差且耗費比較多記憶體,但是對於有安裝一些第三方的模組時穩定性比較好!例如安裝 PHP 時一定要用這個 thread model,不過若先裝 Apache 預設的 mpm-worker 也沒關係,偉大的套件管理系統會自動幫您換成 mpm-prefork 版的 Apache。






2.php
apt-get  install  php5  libapache2-mod-php5 php5-gd php5-mysqli


3.mysql
apt-get  install  mysql-server mysql-client  libapache2-mod-auth-mysql  php5-mysql






apache相關設定檔/etc/apache2/


httpd.conf


apache2.conf → 全域設定。在設定檔中,有很多被註解起來的地方實際上已經分離到其他地方了,所以若沒有必要的話,儘量不要把那些註解起來的東西啟用唷!


sites-available/ → 可用的各別虛擬主機設定檔(沒有啟用)


sites-enabled/ → 要啟用的各別虛擬主機設定檔,要啟用sites-available的設定檔只要用soft link連結到sites-enabled即可



mod-available/ → 可用的模組檔(沒有啟用)


mod-enabled/ → 要啟用的模組檔,要啟用mod-available的模組檔只要用soft link連結到mod-enabled即可


範例1 - 啟用php模組

ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/php5.load
ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf
/etc/init.d/apache2 restart

site啟用工具
a2ensite emook
a2dissite emook


mod啟用工具
a2enmod php5
a2dismod php5


檢查設定檔 → apache2ctl -t
列出虛擬機 → apache2ctl -S




啟用個人網頁
a2enmod userdir


個人網頁設定檔 /etc/apache2/mods-available/userdir.conf:

<IfModule mod_userdir.c>
# 在使用者家目錄底下的 public_html 為個人網頁目錄
UserDir public_html

# 關閉 root 不能使用個人網頁
UserDir disabled root

# 以下是預設的個人網頁目錄設定,若讀者要修改成不是放在 public_html 的話,
# 要同時修改 UserDir 和 以下的 Directory 裡面的目錄位置。
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>




PHP 設定檔 /etc/php5/apache2/php.ini






MySQL主要設定檔/etc/mysql/my.cnf
MySQL的帳號和密碼寫在 /etc/mysql/debian.cnf



在知道原始密碼的情況下修改 MySQL 密碼:
mysqladmin -u <帳號> -p password <輸入您要的新密碼>
  1. 按 ENTER 後輸入原來的舊密碼
當您不知道原先的密碼時,或者密碼遺失等等,可以使用救急帳號的帳號密碼來修改其他帳號的密碼。當您修改過 debian.cnf 要把他同步回資料庫,也可以使用這種方式。
用急救帳號或者 root 帳號修改其他帳號的 MySQL 密碼:
  1. 若使用者知道 MySQL root 密碼時,也可以使用同樣方式來修改其他帳號密碼。
  2. 當使用救急帳號時,其實可以不用輸入帳號和密碼,直接用以下指令引入 debian.cnf
  3. mysql --defaults-extra-file=/etc/mysql/debian.cnf
dbtsai@ubuntu:~ $ mysql -u <救急帳號> -p Enter password: <---- 這裡輸入在 Debian.cnf 看到的密碼 mysql> use mysql
  1. 以下範例修改 root 密碼為 abcdef,同樣的方式可以改其他帳號
  2. 也可以用 set password for root@localhost = password('abcdef);
  3. 不過這個是明確指定修改在主機 localhost 上的帳號。
mysql> update user set password=password('abcdef') where user='root';
  1. 將權限紀錄更新
mysql> flush privileges; mysql> quit
最後一種情形是 debian.cnf 裡面的帳號莫名其妙的不能用,而且 root 帳號的密碼也搞丟了,這時候就比較麻煩了!此時需加上省略帳號認證的參數來略過帳號檢查並進入 MySQL 系統中。





apache相關模組


PAM認證 - libapache2-mod-auth-pam


2011年10月3日 星期一

Debian - 網路設定

設定檔:/etc/network/interfaces

loopback設定方式
auto lo
iface lo inet loopback


DHCP設定方式
auto eth0
iface eth0 inet dhcp



固定IP設定方式
auto eth0
iface eth0 inet static
address 192.168.122.254
netmask 255.255.255.0
gateway 192.168.122.1



DNS設定檔:/etc/resolv.conf
nameserver 168.95.1.1


重新啟動網路
/etc/init.d/networking restart


查看網路設定
ifconfig


查看主機名稱
hostname
hostname  -f  → FQDN




2011年9月30日 星期五

Debian - APT (Advanced Packaging Tool)

apt套件來源伺服器設定檔
/etc/apt/sources.list 

安裝GNOME桌面環境
apt-get install x-window-system-core gnome

source 更新
apt-get update

軟體升級
apt-get upgrade

系統升級
apt-get dist-upgrade

移除套件
apt-get remove

顯示套件資訊(類似rpm -qi)
apt-catch show

搜尋
apt-catch search

手動安裝套件
#dpkg -i name.deb
#dpkg -r name.deb   (移除套件)


dpkg -S `whereis ypserv` = rpm -qf

2011年6月20日 星期一

Net2ftp架設

net2ftp是一個網頁版的FTP用戶端網站。
一、架設net2ftp需要
1.LAMP & vsFTP
使用yum安裝:
yum -y install httpd php php-mysql mysql mysql-server vsftp
2.net2ftp


官方網站下載:http://www.net2ftp.com/download/
二、安裝步驟
step1.將net2ftp解壓縮,並將"files_to_upload"裡面的檔案都放到網頁目錄位置
#unzip net2ftpv0.98.zip
#mkdir /var/www/html/netftp
#mv net2ftpv0.98/files_to_upload/* /var/www/html/netftp
step2.修改temp資料夾的權限
#chmod 777 /var/www/html/netftp/temp
step3.如果有開啟SELinux需要開放權限
#setsebool -P ftp_home_dir on

#setsebool -P httpd_enable_ftp_server on

#setsebool -P httpd_can_network_connect on
因為-P會修改到設定檔所以需要花點時間。
step4.啟動服務
/etc/init.d/httpd start
/etc/init.d/mysqld start
/etc/init.d/vsftpd start
記得設定chkconfig,重開機時自動啟動服務。


三、細部設定
1.vsFTP
☆將使用者限制在自己的家目錄,不能訪問別的目錄
#vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
2.HTTP
☆最大單一檔案上傳大小 (net2ftp也要設定)
#vim /etc/php.ini
post_max_size = 1G
upload_max_filesize = 1G
☆最大可執行的時間
#vim /etc/php.ini
max_execution_time = 600   (600 = 10分鐘)
max_input_time =  600
☆無回應斷線時間
#vim /etc/php.ini
default_socket_timeout = 20
3.net2ftp - 設定檔settings.inc.php
☆net2ftp的管理者帳號密碼
$net2ftp_settings["admin_username"] = "admin";
$net2ftp_settings["admin_password"] = "Password";
☆最大單一檔案上傳大小
$net2ftp_settings["max_filesize"] = "1024000000";  //1G
☆LOG記錄設定
$net2ftp_settings["use_database"] = "yes";  //開啟Log記錄
$net2ftp_settings["dbusername"] = "root";  //Mysql管理者帳號
$net2ftp_settings["dbpassword"] = "Password";   //Mysql管理者密碼
$net2ftp_settings["dbname"] = "net2ftp";  //存放log的資料庫名稱
資料庫建好後要將"create_tables.sql"匯進資料庫裡面。
Mysql語法可以參考本站的SQL基礎語法




2011年5月6日 星期五

SQL基礎語法

★設定MySQL密碼<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#mysqladmin password "<em>newpassword</em>"<br />
★進入資料庫<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.使用PHPMyAdmin登入修改。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.使用Linux文字界面登入修改。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#mysql -u  root -p<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(-u:後面接帳號,-p:輸入密碼)<br />
★SHOW指令<br />
&nbsp;&nbsp;&nbsp;&nbsp;.顯示資料表<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> SHOW TABLES;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> SHOW TABLES FROM <em>database_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;.顯示資料欄位<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> SHOW COLUMNS FROM <em>table_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;.顯示InnoDB的狀態<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> SHOW ENGINE INNODB STATUS;<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<strong>一、資料定義語言(Data Definition Language,DDL)</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;.<strong>DDL的主要功能</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.新增、刪除、修改資料庫和資料表。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.主要語法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CREATE:建立資料庫<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ALTER:修改資料庫<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DROP:刪除資料庫<br />
&nbsp;&nbsp;&nbsp;&nbsp;.<strong>CREATE</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)建立資料庫<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> CREATE DATABASE <em>database_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)建立資料表<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> CREATE TABLE <em>table_name</em>(<em>column1_name column1_type column1_option, column2_name column2_type column2_option, ......, index</em>(<em>column_name</em>));<br />
<table align="center" border="1" style="width: 357px;"><tbody>
<tr>     <td align="center" colspan="4" valign="middle">Column_Type</td>   </tr>
<tr>     <td align="center" valign="middle" width="110">數字</td>     <td align="center" valign="middle" width="47">字元</td>     <td align="center" valign="middle" width="53">時間</td>     <td align="center" valign="middle" width="119">其它</td>   </tr>
<tr>     <td align="center" valign="middle">int (4 bytes)</td>     <td align="center" valign="middle">char</td>     <td align="center" valign="middle">date</td>     <td align="center" valign="middle">Boolean</td>   </tr>
<tr>     <td align="center" valign="middle">smalling (2 bytes)</td>     <td align="center" valign="middle">varchar</td>     <td align="center" valign="middle">datetime</td>     <td align="center" valign="middle"></td>   </tr>
<tr>     <td align="center" valign="middle">int8 (8 bytes)</td>     <td align="center" valign="middle">text</td>     <td align="center" valign="middle"></td>     <td align="center" valign="middle"></td>   </tr>
<tr>     <td align="center" valign="middle">float</td>     <td align="center" valign="middle"></td>     <td align="center" valign="middle"></td>     <td align="center" valign="middle"></td>   </tr>
<tr>     <td align="center" valign="middle">small float</td>     <td align="center" valign="middle"></td>     <td align="center" valign="middle"></td>     <td align="center" valign="middle"></td>   </tr>
<tr>     <td align="center" valign="middle">money</td>     <td align="center" valign="middle"></td>     <td align="center" valign="middle"></td>     <td align="center" valign="middle"></td>   </tr>
</tbody></table>
<br />
<center>
註:資料型態的說明可到<a href="http://publib.boulder.ibm.com/infocenter/idshelp/v10/topic/com.ibm.ddi.doc/ddi57.htm">此網站</a>查詢</center>
<br />
<table align="center" border="1"><tbody>
<tr>       <td align="center" colspan="2" valign="middle"><strong>Column_Option</strong></td>     </tr>
<tr>       <td width="214">NULL</td>       <td width="301">欄位可以沒有資料。</td>     </tr>
<tr>       <td>NOT NULL</td>       <td>欄位一定要有資料。</td>     </tr>
<tr>       <td>DEFAULT '<em>default</em>'</td>       <td>如果欄位沒資料就會使用default。</td>     </tr>
<tr>       <td align="center" colspan="2" valign="middle"><strong>Index</strong></td>     </tr>
<tr>       <td>aoto_increment</td>       <td>自動將編號加一。</td>     </tr>
<tr>       <td>PRIMARY KEY(<em>column_name</em>)</td>       <td>主索引鍵,每個資料表只能有一個主索引鍵。通常配合aoto_increment一起使用。</td>     </tr>
<tr>       <td>KEY(<em>column_name</em>)</td>       <td>索引鍵,每個資料表可以有多個索引鍵。</td>     </tr>
<tr>       <td>INDEX(<em>column_name</em>)</td>       <td>與KEY的功用相同。</td>     </tr>
<tr>       <td>UNIQUE</td>       <td>唯一值,同一欄位的其他資料不可以重複。</td>     </tr>
</tbody> </table>
<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;.<strong>ALTER</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)修改資料表名稱<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>old_table_name</em> RENAME <em>new_table_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)修改欄位名稱<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>table_name</em> CHANGE <em>old_column_name new_column_name column_type</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)修改欄位型態<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>table_name</em> MODIFY <em>column_name</em> <em>column_type</em> <em>column2_option</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(4)新增欄位、索引<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>table_name</em> ADD <em>new_column_name</em> <em>new_column_type</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>table_name</em> ADD <em>index</em>(<em>column_name</em>);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(5)刪除欄位、索引<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>table_name</em> DROP <em>column_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>table_name</em> DROP <em>index</em>(<em>column_name</em>);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(6)新增欄位時調整欄位順序<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>table_name</em> ADD <em>new_column_name</em> <em>column_type</em> AFTER <em>old_column_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>table_name</em> ADD <em>new_column_name</em> <em>column_type</em> FIRST;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(7)設置Foreign Key,以確保資料的一致性與完整性<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>database_name</em> ENGINE=INNODB;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(8) 新增關聯限制 (CREATE和ALTER皆可使用)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>database_name</em> ADD FOREIGN KEY(<em>column_name</em>) REFERENCES <em>database_name</em>(<em>column_name</em>) <em>trigger_condition</em> <em>action</em>;<br />
<table align="center" border="1"><tbody>
<tr>       <td align="center" colspan="2" valign="middle">Trigger_Condition(觸發條件)</td>     </tr>
<tr>       <td width="172">ON DELETE</td>       <td width="107">刪除資料時</td>     </tr>
<tr>       <td>ON UPDATE</td>       <td>更新資料時</td>     </tr>
</tbody> </table>
<table align="center" border="1"><tbody>
<tr>       <td align="center" colspan="2" valign="middle">Action(動作)</td>     </tr>
<tr>       <td width="171">CASCADE</td>       <td width="305">將所有關聯的欄位進行刪除或修改</td>     </tr>
<tr>       <td>NO ACTION</td>       <td>當欄位有其它的關聯時,會禁止父資料表的刪除或修改</td>     </tr>
<tr>       <td>RESTRICT</td>       <td>與NO ACTION的功用相同</td>     </tr>
<tr>       <td>SET NULL</td>       <td>將所有關聯的欄位設定成NULL</td>     </tr>
</tbody> </table>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(8) 刪除關聯限制<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> ALTER TABLE <em>database_name</em> DROP FOREIGN KEY`<em>database_name</em>`;<br />
&nbsp;&nbsp;&nbsp;&nbsp;.<strong>DROP</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)刪除資料庫<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> DROP <em>database_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)刪除資料表<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> DROP <em>table_name</em>;<br />
<br />
<br />
<br />
<strong>二、資料操縱語言(Data Manipulation Language,DCL)</strong><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.DDM的主要功能<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.操作資料庫資料內容的語法。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.主要語法<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INSERT:新增資料到資料表中。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UPDATE:修改資料表的資料。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DELETE:刪除資料表的資料。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT:選取資料表的資料。<br />
&nbsp;&nbsp;&nbsp;&nbsp;.<strong>INSERT</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)新增資料<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> INSERT INTO <em>database_name</em>(<em>column1_name, column2_name, ...</em>) VALUES ('column1_data', 'column2_data', '...');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)資料庫閒置時才新增資料<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> INSERT LOW_PRIORITY <em>database_name</em>(<em>column1_name, column2_name, ...</em>) VALUES ('column1_data', 'column2_data', '...');<br />
&nbsp;&nbsp;&nbsp;&nbsp;.<strong>SELECT</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)查詢資料表的所有欄位資料<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> SELECT * FROM <em>table_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)指定要查詢的欄位資料<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> SELECT <em>column1_name,column2_name,....</em> FROM <em>table_name</em>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)指定篩選條件查詢欄位資料<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> SELECT * FROM <em>table_name</em> WHERE <em>column_name</em> <em>filter</em>;<br />
<table align="center" border="1"><tbody>
<tr>       <td align="center" colspan="2" valign="middle">Filter</td>     </tr>
<tr>       <td width="200"><em>column_name</em> = '條件'</td>       <td width="248">EX:book_no = 'B001'</td>     </tr>
<tr>       <td><em>column_name</em> LIKE '條件'</td>       <td>EX:book_no = '1%'</td>     </tr>
<tr>       <td>條件1 AND 條件2</td>       <td>兩個條件都要符合才會顯示</td>     </tr>
<tr>       <td>條件1 OR 條件2</td>       <td>符合兩個條件的其中一個就會顯示</td>     </tr>
<tr>       <td align="center" colspan="2" valign="middle">其它</td>     </tr>
<tr>       <td align="center" valign="middle">%</td>       <td>萬用字元。EX:'B%'</td>     </tr>
<tr>       <td align="center" valign="middle">_</td>       <td>一個字元。EX:'B00_'</td>     </tr>
</tbody> </table>
&nbsp;&nbsp;&nbsp;&nbsp;.<strong>UPDATE</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)更新欄位資料<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> UPDATE <em>table_name</em> SET <em>column_name</em>='<em>data</em>' WHERE <em>column_name</em>&nbsp;= '條件';<br />
&nbsp;&nbsp;&nbsp;&nbsp;.<strong>DELETE</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)刪除資料<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> DELETE FROM <em>table_name</em> WHERE  <em>column_name</em>&nbsp;= '條件';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)刪除資料後釋放記憶空間<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> OPTIMIZE TABLE <em>table_name</em>;