PIXNET Logo登入

程式開發學習之路

跳到主文

本站 程式開發教學學習交流,主要提高開發程式效率同時分享一些開發程式經驗。

深入探討開發程式體驗等技術和教學,相關技術等學習交流: 語言(Languages)及框架(Framework): Java、 JSP/Tag/JSTL/Servlet、 Grails、 jQuery、 JavaScript、 Spring、 SpringMVC、 SpringSecurity、 Hibernate、 Struts、 PHP、 C/C++、 GoogleAppEngine、 HTML5/CSS3、 Android、 Xml、 Ajax、 Json、 Ant、 UML、 ShellScripts、 AngularJS等。
工具(Software)/環境(Environment): Windows7、 Eclipse、 Linux、 Subversion、 maven、 Tomcat、 Weblogic、 Jboss、 Apache 等。
資料庫(Database): MySQL、 Oracle SQL、 PostgerSQL、 SQL Server 等。
本站內容僅供分享學習交流之用,將不對任何資源負法律責任。如有侵犯您的版權,請來信或留言給我們,我們將盡快為您處理。

部落格全站分類:職場甘苦

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 8月 28 週二 201200:01
  • [MySQL]MySQL的replace用法,取代字串功能





1.replace into

replace into table (id,name) values(1,'MYSQL'),(2,'GG')
此語法的作用是將table中插入兩條記錄。
如果主鍵id為1或2不存在則做新增動作,如果已存在則做替換動作。


2.replace(object,search,replace)

把object中出现search的全部替換為replace

select replace('123QWERTYEEE','E','1')--->123QW1RTY111

例:把表table中的name字段中的123替换为456
update table set name=replace(name,'123','456')

參考網站
http://dev.mysql.com/doc/refman/5.0/en/replace.html

(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(2,520)

  • 個人分類:MySQL-函式相關
▲top
  • 4月 18 週三 201200:09
  • [MySQL]使用正則表達式(REGEXP)的用法


[MySQL]使用正則表達式(REGEXP)的用法


練習

需求說明:
                 有多筆資料,每筆有多種商品代號碼(如:AAA,BBB,AAA_BBB)
                 每種商品用此附號 ( , )分開,
                 請找出商品代號為AAA的資料。
語法如下:

SELECT*
FROM
(#測試資料
      SELECT "AAA,BBB,CCC,DDD,EEE,AAA_BBB" AS number
      UNION ALL
      SELECT "AAA_BBB,CCC_DDD,EEE_AAA_BBB" AS number
      UNION ALL
      SELECT "AAA_BBB_CCC,DDD_EEE,AAA_BBB" AS number
      UNION ALL
      SELECT "BBB,CCC_DDD,EEE_AAA_BBB,AAA" AS number
      UNION ALL
      SELECT "CCC_DDD,EEE_AAA_BBB" AS number
      UNION ALL
      SELECT "CCC_DDD" AS number
      UNION ALL
      SELECT "AAA" AS number
      )AS testData
where testData.number REGEXP '[[:<:]]AAA[[:>:]]' > 0;#判斷語法

UNION ALL 的用法

結果如下:
會將有AAA的商品找出來,而上述的第二筆中的AAA_BBB,是不會背找出來的。
(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(4,549)

  • 個人分類:MySQL-函式相關
▲top
  • 2月 07 週二 201212:08
  • [MySQL]多行查詢結果欄位資料合併成單一行欄位資料 語法GROUP_CONCAT()




GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [[SEPARATOR  str_val])
*SEPARATOR是要用什麼為分割字
參考資料

例:
資料建立一個訂單明細的資料表。
CREATE TABLE products_table (
  order_id bigint(20) NOT NULL default '0' COMMENT '關連訂單id',
  product_name varchar(255) NOT NULL default '' COMMENT '產品名稱',
  price bigint(20) NOT NULL default '0' COMMENT '價格'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO products_table(order_id,product_name,price)
VALUES
        (1,"商品1",10),
        (2,"商品1",10),
        (3,"商品1",10),
        (1,"商品2",20),
        (1,"商品3",30),
        (2,"商品4",40),
        (2,"商品5",50),
        (3,"商品6",60);

查詢語法1:(使用預設的)

SELECT p.order_id,
       GROUP_CONCAT(p.product_name ) as '訂單產品明細'
FROM products_table AS p
GROUP BY p.order_id;
結果:
(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(6,880)

  • 個人分類:MySQL-函式相關
▲top
  • 1月 07 週六 201222:57
  • [MySQL]字串合併、字串連接 語法CONCAT()


CONCAT(str1,str2,...)
用法例:
SELECT CONCAT('M','y','S','Q', 'L');
結果:MySQL

用法例:
SELECT CONCAT(user.username,user.password ) FROM user
(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(32,343)

  • 個人分類:MySQL-函式相關
▲top
  • 12月 27 週二 201117:32
  • [MySQL]字串長度與字串切割CHARACTER_LENGTH()、CHAR_LENGTH()、LENGTH()


字串長度測量函式分別是CHARACTER_LENGTH()、CHAR_LENGTH()、LENGTH()。
CHARACTER_LENGTH()、CHAR_LENGTH()是相同的,以UTF8來計算,中英文都可以計算。
LENGTH()也可以計算中英文,但對中文的計算會因編碼不同而計算不同,分別是UTF8一字三位,BIG5一字二位。
字串切割函式分別是SUBSTRING_INDEX(culomnName, exp, number)、SUBSTR(culomnName, startIndex, length)。
SUBSTRING_INDEX(culomnName, exp, number)︰
exp是你想開始切割的辨別字元。
number則是以正負數兩種區分,當輸入正數則顯示辨別字左方所有字元,當輸入負數則顯示右方所有字元,如果輸入0會無法辨別。
SUBSTR(culomnName, startIndex, length)︰
startIndex是欲切割起始的index,開頭第一位是1,如果輸入0會無法辨別。
length是自起始index想要切的長度,一字一位元包含空白字元也要算。
以下將由範例一一示範解說︰
使用SUBSTRING_INDEX(culomnName, exp, number)
SELECT  username, SUBSTRING_INDEX(username, '.', 1)
FROM     user
結果︰辨別字元是'.',輸入正數所以只出現左邊的所有字元
(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(2,772)

  • 個人分類:MySQL-函式相關
▲top
  • 12月 24 週六 201114:26
  • [MySQL]EXPLAIN使用範例


EXPLAIN 使用的方式:
只要在SELECT語法前面加上 EXPLAIN 指令即可。

以下為執行畫面範例



其中針對EXPLAIN的欄位說明如下:
table:關連到的資料表(Table)會顯示在此。
type:顯示使用了何種類型。從最優至最差的類型為const、eq_reg、ref、range、indexhe、ALL。
         System:system資料表,此為const連接類型的特殊情況。          
         Const:資料表中的一個記錄的最大值能夠符合這個查詢。因為只有一行,這個值就是
                      常數,因為MySQL會先讀這個值然後把它當做常數。
         eq_ref:MySQL在連接查詢時,會從最前面的資料表,對每一個記錄的聯合,從資料
                       表中讀取一個記錄,在查詢時會使用索引為主鍵或唯一鍵的全部。
         ref:只有在查詢使用了非唯一鍵或主鍵時才會發生。
         range:使用索引返回一個範圍的結果。例如:使用大於>或小於<查詢時發生。
         index:此為針對索引中的資料進行查詢。
         ALL:針對每一筆記錄進行完全掃描。
possible_keys:顯示可能使用到的索引。此為從WHERE語法中選擇一個適合的欄位名稱。
key:實際使用到的索引。如果為NULL,則是沒有使用索引。
key_len:使用索引的長度。長度越短 準確性越高。
ref:顯示那一列的索引被使用。一般是一個常數(const)。
rows:MySQL用來返回資料的筆數。
Extra:MySQL用來解析額外的查詢訊息。如果此欄位的值為:Using temporary和Using filesort,表示MySQL無法使用索引。
Extra為MySQL用來解析額外的查詢訊息,其中欄位值所代表的意義如下:
         Distinct:當MySQL找到相關連的資料時,就不再搜尋。
         Not exists:MySQL優化 LEFT JOIN,一旦找到符合的LEFT JOIN資料後,就不再搜
                            尋。
         Range checked for each Record(index map:#):無法找到理想的索引。此為最慢的
                                                                                          使用索引。
         Using filesort:當出現這個值時,表示此SELECT語法需要優化。因為MySQL必須進
                                    行額外的步驟來進行查詢。
         Using index:返回的資料是從索引中資料,而不是從實際的資料中返回,當返回的資
                               料都出現在索引中的資料時就會發生此情況。
         Using temporary:同Using filesort,表示此SELECT語法需要進行優化。此為MySQL
                                       必須建立一個暫時的資料表(Table)來儲存結果,此情況會發生在針
                                       對不同的資料進行ORDER BY,而不是GROUP BY。
         Using where:使用WHERE語法中的欄位來返回結果。



(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(1,029)

  • 個人分類:MySQL-函式相關
▲top
  • 12月 23 週五 201115:36
  • [MySQL]把字串轉數字排序,使用CAST()函式

(把字串轉數字排序)欄位varchar型態,用數字型態排序,使用CAST()函式


drop table table_a;
CREATE TABLE table_a (
id bigint(10) NOT NULL AUTO_INCREMENT,
number varchar(255)DEFAULT NULL,
PRIMARY KEY (id)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into table_a(number) VALUES(1),(10),(5),(3),(2),(11),(14),(12),(13);


SELECT * FROM table_a AS a ORDER BY CAST(a.number AS UNSIGNED);

SELECT * FROM table_a AS a ORDER BY CAST(a.number AS decimal(10,0))



(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(15,092)

  • 個人分類:MySQL-函式相關
▲top
  • 12月 13 週二 201110:00
  • [MySQL]函式ELT()從傳入的順位數值取出對應欄位的字串

ELT()從傳入的順位數值取出對應欄位的字串
ELT(N,str1,str2,str3,...)
N為傳入的順位數值
str1,str2,str3,...傳入的字串

若N=1,則回傳值為str1,
若N=2,則回傳值為str2,
以此類推。
若N小於1或大於參數的數目,
則回傳值為NULL。
ELT()是FIELD()的補數。

SELECT ELT(1,'live', 'love', 'like','llee');
'live'

SELECT ELT(4, 'live', 'love', 'like','llee');
'llee'



(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(293)

  • 個人分類:MySQL-函式相關
▲top
  • 12月 13 週二 201109:56
  • [MySql]好用的比對函式FIELD() 回傳字串在列表中的順位

FIELD() 回傳字串在列表中的順位


FIELD(str,str1,str2,str3,...)
str傳入的字串
str1,str2是指傳入列表的字串

回傳值為字串str在str1, str2, str3,……列表中的順位。
在找不到str的情況下,回傳值為0。
如果所有對於FIELD()的參數均為字串,
則所有參數均按照字串進行比較。
如果所有的參數均為數字,則按照數字進行比較。
否則,參數按照double格式進行比較。
如果str為NULL,則回傳值為0,
原因是NULL不能同任何值進行同等比較。
FIELD()是ELT()的補數。
SELECT FIELD('live', 'live', 'love', 'like','llee');
1

SELECT FIELD('love', 'live', 'love', 'like','llee');
2



(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(682)

  • 個人分類:MySQL-函式相關
▲top
  • 12月 08 週四 201113:40
  • [MySQL]tinyint的取值方法

tinyint的取值方法

型態byte範圍tinyint
tinyint unsigned
1byte-128~127
UNSIGNED: 0~255

tinyint1byte=8bit
1 111 1111 -> -1280 111 1111 ->  127
(繼續閱讀...)
文章標籤

PG Levin Li 發表在 痞客邦 留言(0) 人氣(42)

  • 個人分類:MySQL-函式相關
▲top
12»

廣告

B 組廣告版面

個人資訊

PG Levin Li
暱稱:
PG Levin Li
分類:
職場甘苦
好友:
累積中
地區:

熱門文章

  • (37,225)Oracle SQL DECODE用法教學
  • (20,972)JavaScript 基本類 使用onClick 及 this取得id
  • (14,872)Oracle SQL INSERT INTO TABLE 基本用法
  • (8,966)Oracle SQL to_date的用法
  • (5,110)Oracle SQL AVG GROUP BY 用法教學
  • (5,100)PostgreSQL pgAdmin III 設定中文介面
  • (4,002)Oracle SQL minus 用法教學
  • (677)Oracle SQL next_day用法教學
  • (267)Oracle SQL SOME的用法教學
  • (255)Oracle SQL nonequal join 不對等join

文章分類

toggle ZK (1)
  • ZK (2)
toggle SQLite (2)
  • SQLite for Java (11)
  • SQLite (2)
toggle Java (19)
  • Servlet (4)
  • JAVA-綀習分享 (3)
  • JAVA 7 (1)
  • JAVA-流程控制類 (10)
  • JAVA_IDE (2)
  • JAVA_其它_itext套件 (1)
  • JAVA-WEB (1)
  • JAVA-lang套件 (16)
  • java mail (1)
  • JAVA-OCJP (1)
  • JAVA-問題 (2)
  • JAVA_IO (1)
  • JAVA-OCWCD (7)
  • Joda Time (1)
  • JAVA-程式分享 (4)
  • JAVA.util套件 (6)
  • JAVA-基本類 (19)
  • JAVA (4)
  • JAVA其它 (1)
toggle Android (4)
  • Android NDK (3)
  • Android Studio (7)
  • Android基本類 (2)
  • Android (7)
toggle SSH (12)
  • Struts 2 (1)
  • Spring Mobile (3)
  • Hibernate-基本類 (3)
  • Spring MVC (3)
  • grails-其它類 (1)
  • Spring i18n (2)
  • grails-基本類 (13)
  • Spring Batch (2)
  • SpringHibernate (5)
  • Spring-基本類 (4)
  • Spring (3)
  • Spring AOP (2)
toggle Oracle (10)
  • Oracle join (14)
  • sqldeveloper (9)
  • Oracle_VirtualBox (1)
  • Oracle DDL (4)
  • Oracle Date (17)
  • Oracle (5)
  • Oracle Sub Query (17)
  • Oracle GROUP BY (20)
  • Oracle SQL (49)
  • Oracle DB (16)
toggle SQL Server/MSSQL (1)
  • SQL Server (1)
toggle MySQL (8)
  • MySQL (7)
  • MySQL-語法快速查詢 (2)
  • MySQL-基本系列教學 (10)
  • MySQL-其它類 (1)
  • MySQL-進階系列教學 (15)
  • MySQL-DATE相關 (8)
  • MySQL-函式相關 (11)
  • MySQL DB Toad (9)
toggle PostgreSQL (1)
  • PostgreSQL (5)
toggle Tool (11)
  • TortoiseSVN (1)
  • Subversive (1)
  • Dev-C++ (4)
  • Squid (3)
  • UML (1)
  • Eclipse IDE for C/C++ (3)
  • Tool (1)
  • eclipse (13)
  • Jboss (1)
  • JBoss-問題 (2)
  • SWT (1)
toggle C/C++ (5)
  • c語言綀習題 (2)
  • c/c++ (2)
  • c (4)
  • c++ (2)
  • MinGw (6)
toggle Apache (9)
  • Apache_Tomcat (3)
  • Apache_JMeter (1)
  • Apache套件_BeanUtils (1)
  • Apache套件_StringUtils (1)
  • Apache套件_POI (5)
  • maven (3)
  • Apache (2)
  • apache_Maven (2)
  • Tomcat 8 (2)
toggle jQuery (8)
  • jQuery UI (1)
  • jQuery Datepicker (26)
  • jQuery-事件處理 (2)
  • jQuery-套件類 (3)
  • jQuery-基本類 (3)
  • jQuery-進階 (1)
  • jQuery Mobile (2)
  • jQuery-Selector (11)
toggle JavaScript (8)
  • JavaScript-基本類 (20)
  • JavaScript (14)
  • JavaScript-Date物件 (5)
  • JavaScript-其它類 (3)
  • JavaScript-陣列類 (7)
  • JavaScript HTML DOM (37)
  • JavaScript-String類 (8)
  • JavaScript-數學類 (6)
toggle Web/HTML/CSS/JS/JQ (6)
  • css-基本類 (18)
  • CSS (4)
  • CSS2 (2)
  • CSS3 (1)
  • CSS Selector (42)
  • HTML5 (3)
toggle 其它 (6)
  • 生活其它 (3)
  • PHP (11)
  • 其它類 (3)
  • 基本資訊 (3)
  • 開發資訊 (1)
  • 圖片工具 (1)
toggle Win/OS/linux (4)
  • Linux_其它 (1)
  • Linux (14)
  • Windows (3)
  • WIN7-基本類 (14)
toggle 生活點點 (1)
  • 生活新聞 (29)
  • 未分類文章 (1)

最新文章

  • 生機生技引進營養製劑 產品廣獲好評
  • 【芋頭鮮奶盲測】超狂給料像拌水泥 強者迷客夏輸了
  • 口碑行銷、網紅行銷當道 品牌企業合作首選 達摩媒體BloggerAds
  • 想知道最夯時事分析?邀請你加入BloggerAds市場調查!
  • 日本FSK隔熱紙-居家隔熱、防曬、節能好幫手
  • AROFLY開箱實測、從退貨評價到獲取消費者認同!
  • 五個健康理由讓您考慮吃「有機食品」
  • 美食推薦 新北泰山 霸王櫻桃鴨 聚餐聊天好去處
  • 一心好文,農藥最後會流到這裡
  • 360°康健指數打破生活迷思,掌握美好生活的妙招

最新留言

  • [14/04/11] 匿名 於文章「[Android]Android系統調用...」留言:
    多謝分享,對我有幫助。...
  • [14/02/24] Levin Li 於文章「[JAVA]String-取出字串某個位...」留言:
    使用 subSequence(起始位置,結束位置); Str...
  • [14/02/22] JHANG allen 於文章「[JAVA]String-取出字串某個位...」留言:
    如果我有一串數字1234567890abcdefghihk ...
  • [13/08/19] 洪甫 於文章「[JAVA]OCJP(SCJP)免費的考...」留言:
    太感謝了 我終於看到中文版了!!...
  • [13/06/23] Levin Li 於文章「[Apache_Tomcat] Tomc...」留言:
    (^^) 我不懂你說的「不會過」,是何事 不會過????...
  • [13/06/22] 丁丁 於文章「[Apache_Tomcat] Tomc...」留言:
    第6點有問題,在我的電腦上, rolename和roles填...
  • [13/05/17] 歐兆傑 於文章「強大的JQuery圖表套件...」留言:
    當時我所用的是IE9,是可呈現的,請問你版本是?...
  • [13/05/16] 王暉鈞 於文章「強大的JQuery圖表套件...」留言:
    請問大大,如何能讓此在IE上呈現?...

動態訂閱

文章精選

文章搜尋

參觀人氣

  • 本日人氣:
  • 累積人氣:

C 組廣告版面

留言板