mysql光速教程
日期:2010-07-29 |
來源:redice's Blog |
作者:redice |
167 人圍觀 |
0 人鼓掌了!
// by redice 2010.07.26
// redice@163.com
為公司實習生寫的MYSQL學習提綱,總結了一下在項目開發中用到最多的知識點,可以作為MYSQL快速入門的教程。
1 MYSQL列(欄位)資料類型:
(1)字串類
VARCHAR 可變長度的字串 高達255字元
適用於儲存使用者名稱,密碼,電話號碼,郵箱,地址等長度較短(小於255)的字串
TEXT 沒有最大長度限制的可變長度的字串
適用於儲存文章內容,產品描述,使用者留言等長度較大的(大於255)字串
(2)整數類
TINYINT 這個類型最多可容納三位元
SMALLINT 最多可容納五位元
MEDIUMINT 最多可容納八位元
INT 可以容納十位元
BIGINT 最多可容納二十位元
(3)小數類
DECIMAL 適用於儲存含有小數的數字,例如,產品價格,銷售額
DECIMAL(5+3,3)或 DECIMAL(8,3) 表示整數部分最多5位元,小數部分3位元
(4)時間日期類
DATE 以 yyyy-mm-dd格式的日期
TIME 以 hh:mm:ss格式的時間
DATETIME 以yyyy-mm-ddhh:mm:ss格式結合日期和時間,支援的範圍為'1000-01-01 00:00:00'到'9999-12-31 23:59:59',8個位元組儲存,時區轉化(改變時區,顯示不改變)
TIMESTAMP 以yyyy-mm-ddhh:mm:ss格式結合日期和時間,值不能早於1970或晚於2037,4個位元組儲存,與時區不轉換(改變時區,顯示自動調整)
說明:可將時間日期類當做特殊的字串類看待。
2 MYSQL常用的內建函數
(1)字元處理類
ASCII(str) 返回字串str的第一個字元的ASCII值(str是空串時返回0)
CHAR(N,...) 返回由參數N,...對應的ASCII代碼字元組成的一個字串(參數是N,...是數字序列,NULL值被跳過)
CONCAT(str1,str2,...) 把參數連成一個長字串並返回(任何參數是NULL時返回NULL)
REPLACE(str,from_str,to_str) 用字串to_str替換字串str中的子串from_str並返回
UCASE(str) 或 UPPER(str) 返回大寫的字串str
CHAR_LENGTH(str) 返回字串str的字元數(對於多位元組字元僅計算一次)
LENGTH(str)或OCTET_LENGTH(str) 返回字串str的位元組數(對於多位元組字元按位元組數計算)
(2)時間日期類
CURDATE() 以'YYYY-MM-DD'格式返回當前日期值,返回字串值
CURTIME() 以'HH:MM:SS'格式返回目前時間值(根據傳回值所處上下文是字串或數字),返回字串值
NOW() 以'YYYY-MM-DD HH:MM:SS'格式返回當前日期時間,返回字串值
UNIX_TIMESTAMP(datetimestr) 返回一個Unix時間戳記(從'1970-01-01 00:00:00'GMT開始的秒數,datetimestr預設值為目前時間),返回整數值
FROM_UNIXTIME(unix_timestamp) 以'YYYY-MM-DD HH:MM:SS'格式返回時間戳記的值,返回字串值
提示:為了加速查詢速度,大型系統通常把時間日期的時間戳記值以INT(10)的格式儲存。
3 SQL語句
SQL語句中,單引號來環繞文本(字串)值,例如 'redice' 文本中含有單引號需要轉義,例如 'redice's blog'
如果是數值,不要使用引號
時間日期類型按文本(字串)對待
(1)SELECT
SELECT 列名(欄位名) FROM 表名稱 WHERE 查詢條件
彙總函式:
AVG(column),COUNT(column),MAX(column),MIN(column),SUM(column)
(2)DELETE
DELETE FROM 表名稱 WHERE 查詢條件
(3)INSERT
INSERT INTO 表名稱 (列1, 列2,...) VALUES (值1, 值2,....)
例如:
insert into user (name,pass,age,regtime) values ('redice','123456',24,now())
(4)UPDATE
UPDATE 表名稱 SET 列1 = 值1,列2 = 值2,.... WHERE 查詢條件
本文參考了w3school的部分文章: http://www.w3school.com.cn/sql/index.asp