今天看了下mysql5的英文手冊,雖然只看了一點點,還是要分享一下其中比較實用的東西。為了方便大家學習,舉出下面給出一些例子。大家看著用就行了。特別是被很多程式設計師忽略的mysql變數,那可真是個好東西呀。
1、時間操作
表名:table
字段:birth(格式1989-05-13 )
根據年紀計算歲數
select birth, curdate(), (year(curdate())-year(birth)) - (right(curdate(),5)選5月出生的記錄
select name, birth from pet where month(birth) = 5
選當前月的下乙個月,月數
select month(date_add(curdate(),interval 1 month));
日期函式
select now();//'1997-12-15 23:50:26'
select now() + 0;//19971215235026
2、萬用字元『_』
查詢5個字元的記錄
select * from pet where name like '_____';
3、正則
顯示欄位name以b字元開頭的記錄(不區分大小寫)
select * from pet where name regexp '^b';
顯示欄位name以b字元開頭的記錄(區分大小寫,二進位制匹配)
select * from pet where name regexp binary '^b';
顯示欄位name以fy字元結尾的記錄
select * from pet where name regexp 'fy$';
顯示欄位name帶有w字元的記錄(regexp 'w'相當於like '%w%')
select * from pet where name regexp 'w';
顯示欄位name只包括5位字元的記錄
select * from pet where name regexp '^.....$';
select * from pet where name regexp '^.$';
count統計記錄同時匹配species, ***兩欄位(兩字段值一樣時,count才工作)group的記錄
select species, ***, count(*) from pet group by species, ***;
3、資料庫
顯示資料庫
select database();
顯示資料表
show tables;
顯示資料表結構
describe tables;
4、max函式
顯示group by article中欄位price的最大值記錄
select article, max(price) as price from shop group by article
5、變數
select @a:=1000;//變數是以@開頭的字元,賦值符號是:=
select @a+9;//結果是1009
爬蟲的一點經驗
1.寫乙個網頁爬蟲的時候遇到了乙個div巢狀問題,即乙個大的div裡面有很多小的div,如 xx x 這樣乙個型別,如果爬取內層的div是很簡單的,正規表示式十分好寫 div 但是如果要爬取外面的div該怎麼辦呢?當時我的做法是繼續尋找,找出該段內容後面的具有識別該段內容能力的內容。如上式,在正規表...
一點工作經驗
1 只要醒著,就要思考,隨時隨地 堅持這一點,3個月後你就會看到巨大的不同。人與人當然有智力的差別,但大部分人的差別不在於智力本身的高低,而在於如何運用自己的智力。當然,這麼巨大的思維量,沒有個好的身體是無法支撐的,所以,天天鍛鍊,控制工作時間,不要輕易加班。2 平衡與灰色 程式設計師是外向好還是內...
學習經驗一點點。。。
splice與merge最大的不同時,不用排序,也不要求原始鍊錶有序。相同點是,被合併的鍊錶或元素將消失。基類中若是有純虛函式 即基類是抽象類 子類繼承父類之後 必須實現父類中的純虛函式 虛基類不能例項化 但是能宣告指標啊。父類中若是也含所有虛函式 可不用在子類中實現 但必須父類中實現。因為被例項化...