MySQL基本指令

文章日期:09/25/2007 05:31 pm

MySQL基本指令


連接資料庫
USE 資料庫名稱 ;

查看及列出資料庫
SHOW DATABASES ;

查看及列出資料庫下資料表
(該指令使用前要先用USE指令連接資料庫)
SHOW TABLES ;

查看資料表的結構
EXPLAIN 資料表名稱 ;

建立新的資料庫
CREATE DATABASE 資料庫名稱 ;

刪除資料庫
DROP DATABASE  [ IF EXISTS ] 資料庫名稱 ;

建立新的資料表
CREATE TABLE 資料表名稱
(
  欄名1   資料型態   屬性 ,
  欄名2   資料型態   屬性 ,
  ...
) ;

{ 數值型態 }

資料型態      佔用之bytes   數值範圍    
tinyint
tinyint unsigned
smallint
smallint unsigned
integer
integer unsigned
bigint
bigint unsigned
float
double
1 byte
1 byte
2 bytes
2 bytes
4 bytes
4 bytes
8 bytes
8 bytes
4 bytes
8 bytes
-128~127
0~255
-32768~32767
0~65535
-2147483648~2147483647
0~4294967295
-9.2E+18~9.2E+18(約)
0~1.8E+19(約)
-3.4E+38~3.4e+38(約)
-1.79E+308~1.79E+308(約)


{ 字串型態 }

資料型態 佔用之bytes
========================================================
char(N)   利用N進行設定, N 的範圍為1~255
text    可變長度, 最長可達64KB
longtext  可變長度, 最長可達4GB

{ 日期時間型態 }

資料型態  佔用之bytes  說明
========================================================
datetime 8 bytes    同時含有日期和時間
date   3 bytes    只含有日期
time   3 bytes    只含有時間

{ 欄位 屬性 } 主要有兩個 PRIMARY KEY , AUTO_INCREMENT
       primary key :
(1) 可加速該欄位的搜尋速度.
(2) 讓此一欄位成為資料表的代表性欄位.
(3) 注意一旦某一個欄位被設定成為"主健",
    該欄位就不可以出現重複的資料.
    auto_increment :  每當有新增資料錄時, 該欄位的值會自動加1.


更改資料表的結構
ALTER TABLE 資料表名稱 ADD  新欄名  新資料型態 ;
ALTER TABLE 資料表名稱 ADD  PRIMARY KEY  ( 欄名 ) ;
ALTER TABLE 資料表名稱 CHANGE  舊欄名  新欄名  新資料型態 ;
ALTER TABLE 資料表名稱 MODIFY  欄名  新資料型態 ;
ALTER TABLE 資料表名稱 DROP  欄名 ;
ALTER TABLE 資料表名稱 DROP  PRIMARY KEY ;

新增資料錄
INSERT INTO 資料表名稱 (欄名1, 欄名2, ...)
                              VALUES (資料1, 資料2, ...)
[ SELECT ... ] ;

刪除資料表
DROP TABLE  [ IF EXISTS ] 資料表名稱 ;
                             
刪除資料錄
DELETE FROM 資料表名稱 [ WHERE 條件 ] ;
                      
更新資料錄
UPDATE 資料表 SET 指定運算式
[ WHERE 條件 ] ;

資料的查詢
SELECT * FROM 資料表名稱
[ WHERE 條件 ]
[ ORDER BY  欄名 [ ASC | DESC ] ] ;

    { WHERE 條件 } 其他指令:
WHERE 欄名 LIKE '條件式'   // 用 % 代表 百搭字元
WHERE 欄名 BETWEEN 值1 AND 值2
WHERE 欄名 IN (值1, 值2, 值3 ... )
WHERE 欄名 IS NULL
WHERE 欄名 IS NOT NULL


p.s. 查詢時用 [ * ] 代表 顯示所有欄位, 也可以用欄名(field name)選擇性地顯示,
     也可以用 [ 欄名 as 顯示名稱 ] 更改欄名項目上的顯示.

例: select name as 姓名, address as 地址 from addressbook;


p.s. 查詢時用可使用 sum 總和 和 avg 平均值 統計資料.

例: select sum( chinese) from score;
例: select avg( english) from score;


參考資料:
http://dev.mysql.com/doc/refman/4.1/en/sql-syntax.html
http://www.1keydata.com/tw/sql/sql.html