PIXNET Logo登入

岳 程式與鍵盤間的故事

跳到主文

這是個購買了一個"機械式鍵盤"後,因打字的衝動而產生的程式部落格~

部落格全站分類:不設分類

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 6月 28 週二 201613:27
  • SQL CONCAT 串連字串

在 MySQL 裡面,想要將兩個以上的字串合再一起,應該怎麼做呢?
可使用以下方法:
 
/* 該語法會將 字串1 ~ 字串N 全部串再一起 */
CONCAT( 字串1, 字串2, 字串3, ... , 字串N );
 
(繼續閱讀...)
文章標籤

岳 發表在 痞客邦 留言(0) 人氣(615)

  • 個人分類:語法
▲top
  • 4月 26 週二 201617:43
  • SQL INSERT INTO


這邊會介紹 INSERT INTO 的用法,包含新增一筆、新增多筆、從其它表匯入、從其它表匯入再加上預設值。
 
INSERT INTO 的用法如下:
 
 
一次新增一筆:
 
/* 照表欄位順序給值 */
INSERT INTO `表名稱` VALUES (`欄位1值`, `欄位2值`, `欄位3值`, ...);
/* 也可指定欄位給值 */
INSERT INTO `表名稱` (`欄位1`, `欄位2`, `欄位3`) VALUES (`欄位1值`, `欄位2值`, `欄位3值`);
 

 
一次新增多筆:
 
/* 照表欄位順序給值 */
INSERT INTO `表名稱` VALUES (`欄位1值`, `欄位2值`, `欄位3值`, ...), (`欄位1值`, `欄位2值`, `欄位3值`, ...), (`欄位1值`, `欄位2值`, `欄位3值`, ...);
/* 也可指定欄位給值 */
INSERT INTO `表名稱` (`欄位1`, `欄位2`, `欄位3`) VALUES (`欄位1值`, `欄位2值`, `欄位3值`), (`欄位1值`, `欄位2值`, `欄位3值`), (`欄位1值`, `欄位2值`, `欄位3值`);
 

 
一次新增多筆,從其它表取值:
 
/* 照表欄位順序給值 */
INSERT INTO `表名稱` (SELECT `欄位1`, `欄位2`, `欄位3`, ... FROM `表名稱`);
/* 也可指定欄位給值 */
INSERT INTO `表名稱` (`欄位1`, `欄位2`, `欄位3`) (SELECT `欄位1`, `欄位2`, `欄位3` FROM `表名稱`);
/* 若欄位不一致或者欄位名稱不一致等其它問題, 也可以直接給值 */
/* 照表欄位順序給值 */
INSERT INTO `表名稱` (SELECT `欄位1`, 直接給值2, `欄位3`, ... FROM `表名稱`);
/* 也可指定欄位給值 */
INSERT INTO `表名稱` (`欄位1`, `欄位2`, `欄位3`) (SELECT `欄位1`, 直接給值2, `欄位3` FROM `表名稱`);
 

 
 
以下為示範範例:
 
例如,我有兩個資料庫資料如下:
 
分別為表 "user",有 5 筆資料,欄位有編號、使用者名稱,編號為 AUTO_INCREMENT,表示編號會自動累加。
 
`id`    `name`    
1       Bill      
2       Bob       
3       Carl      
4       David     
5       Tom  
 

 
   
分別為表 "player",沒有資料,欄位有編號、使用者名稱、玩家遊戲人物等級、玩家遊戲人物名稱,編號為 AUTO_INCREMENT,表示編號會自動累加。
 
`id`    `name`    `lv`    `role_name`
 

 
 
一次新增一筆:
 
/* 照表欄位順序給值, 因為這邊沒有指定欄位, 所以每個欄位都必須給值, 
   就算編號會自動累加, 我們也不能跳過, 必須給予 NULL 的值 */
INSERT INTO `player` VALUES (NULL, 'player1', 1, 'role001');
/* 以下為執行後結果 */
`id`    `name`    `lv`    `role_name`
1       player1   1       role001
 

 
/* 也可指定欄位給值, 給值的順序跟指定欄位的順序是一致的 */
INSERT INTO `player` (`name`, `lv`, `role_name`) VALUES ('player2', 1, 'role002');
/* 以下為執行後結果 */
`id`    `name`    `lv`    `role_name`
1       player1   1       role001
2       player2   1       role002
 

 
/* 指定欄位順序打亂 */
INSERT INTO `player` (`lv`, `name`, `role_name`) VALUES (1, 'player3', 'role003');
/* 以下為執行後結果 */
`id`    `name`    `lv`    `role_name`
1       player1   1       role001
2       player2   1       role002
3       player3   1       role003
 

 
 
一次新增多筆:
 
/* 照表欄位順序給值, 因為這邊沒有指定欄位, 所以每個欄位都必須給值, 
   就算編號會自動累加, 我們也不能跳過, 必須給予 NULL 的值 */
INSERT INTO `player` VALUES (NULL, 'player4', 1, 'role004'), (NULL, 'player5', 1, 'role005'), (NULL, 'player6', 1, 'role006');
/* 以下為執行後結果 */
`id`    `name`    `lv`    `role_name`
1       player1   1       role001
2       player2   1       role002
3       player3   1       role003
4       player4   1       role004
5       player5   1       role005
6       player6   1       role006
 

 
/* 也可指定欄位給值, 給值的順序跟指定欄位的順序是一致的 */
INSERT INTO `player` (`name`, `lv`, `role_name`) VALUES ('player7', 1, 'role007'), ('player8', 1, 'role008'), ('player9', 1, 'role009');
/* 以下為執行後結果 */
`id`    `name`    `lv`    `role_name`
1       player1   1       role001
2       player2   1       role002
3       player3   1       role003
4       player4   1       role004
5       player5   1       role005
6       player6   1       role006
7       player7   1       role007
8       player8   1       role008
9       player9   1       role009
 

 
 
一次新增多筆,從其它表取值:
 
/* 照表欄位順序給值, 
   因為兩張表的欄位不一致所以這邊我們直接給值 */
INSERT INTO `player` (SELECT NULL, `name`, 1, 'roleName' FROM `user`);
/* 以下為執行後結果 */
`id`    `name`    `lv`    `role_name`
1       player1   1       role001
2       player2   1       role002
3       player3   1       role003
4       player4   1       role004
5       player5   1       role005
6       player6   1       role006
7       player7   1       role007
8       player8   1       role008
9       player9   1       role009
10      Bill     1       roleName
11     Bob       1       roleName
12     Carl     1       roleName
13     David     1       roleName
14     Tim       1       roleName
 

 
/* 也可指定欄位給值 */
INSERT INTO `player` (`name`) (SELECT `name` FROM `user`);
/* 以下為執行後結果, 
   因為其它欄位我們沒有給值, 所以預設為空的 */
`id`    `name`    `lv`    `role_name`
1       player1   1       role001
2       player2   1       role002
3       player3   1       role003
4       player4   1       role004
5       player5   1       role005
6       player6   1       role006
7       player7   1       role007
8       player8   1       role008
9       player9   1       role009
10      Bill      1       roleName
11      Bob       1       roleName
12      Carl      1       roleName
13      David     1       roleName
14      Tim       1       roleName
15      Bill      0
16      Bob       0
17      Carl      0
18      David     0
19      Tim       0
 

 
/* 照指定欄位給值, 
   因為欄位不一致所以這邊我們直接給值 */
INSERT INTO `player` (`name`, `lv`, `role_name`) (SELECT `name`, 1, `name` FROM `user`);
/* 以下為執行後結果, 
   因為 `role_name` 欄位我們一樣給 `name` 的值, 所以名稱會跟 `name` 一樣 */
`id`    `name`    `lv`    `role_name`
1       player1   1       role001
2       player2   1       role002
3       player3   1       role003
4       player4   1       role004
5       player5   1       role005
6       player6   1       role006
7       player7   1       role007
8       player8   1       role008
9       player9   1       role009
10      Bill      1       roleName
11      Bob       1       roleName
12      Carl      1       roleName
13      David     1       roleName
14      Tim       1       roleName
15      Bill      0
16      Bob       0
17      Carl      0
18      David     0
19      Tim       0
20      Bill      1       Bill 
21      Bob       1       Bob
22      Carl      1       Carl
23      David     1       David
24      Tim       1       Tim
 

 


 


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

岳 發表在 痞客邦 留言(0) 人氣(23,419)

  • 個人分類:語法
▲top
  • 2月 15 週一 201613:28
  • MySQL 取資料不重複

如果我要使用 SQL 語法去撈資料,但是又希望可以過濾掉相同的值時,應該怎麼做呢?
很簡單!只需要加上 DISTINCT 就可以了!
 
SELECT DISTINCT `欄位` FROM `表`
 
(繼續閱讀...)
文章標籤

岳 發表在 痞客邦 留言(0) 人氣(12,739)

  • 個人分類:語法
▲top
  • 1月 28 週四 201613:34
  • MySQL 更改欄位字串為大小寫

在 MySQL 裡面想要修改欄位字串大小寫的話怎麼辦呢?
可以嘗試執行下面的語法,該語法會將 "表" 裡面指定的 "欄位值" 修改為大寫或小寫。
(繼續閱讀...)
文章標籤

岳 發表在 痞客邦 留言(0) 人氣(3,520)

  • 個人分類:語法
▲top
1

文章搜尋

文章分類

toggle 虛擬幣 (1)
  • 虛擬幣平台 (5)
toggle 外匯 (1)
  • JCI (0)
toggle Nintendo Switch (1)
  • Nintendo Switch (1)
toggle Unity (6)
  • 問題排除 (19)
  • 其它 (22)
  • iOS (2)
  • 屬性(Attribute) (1)
  • Android (12)
  • UGUI (6)
toggle C# (3)
  • 程式碼風格 (4)
  • 其它 (1)
  • 程式基礎與小技巧 (10)
toggle MySQL (1)
  • 語法 (4)
  • 未分類文章 (1)

熱門文章

  • (62,070)列舉 (enum)
  • (38,850)Unity 導出 Android APK 檔
  • (17,874)Android Studio 匯出 JAR 檔
  • (14,254)Unity UGUI 文字 (Text) - 語法
  • (12,739)MySQL 取資料不重複
  • (12,122)Unity 取得亂數的函數
  • (8,342)Android Studio 匯出 JAR 檔 - 加入 Unity classes.jar
  • (3,520)MySQL 更改欄位字串為大小寫
  • (1,522)浮點數 (double)
  • (1,265)行動裝置的狀態列 (StatusBar)

最新文章

  • 探索美食之旅-九爺阿擼霸串串香火鍋的美味體驗
  • 達觀寒舍
  • 台灣 ACE 王牌數位貨幣交易所
  • DarbFinance 歐洲虛擬幣交易所 - 註冊教學
  • 簡單且免費的挖礦工具 CryptoTab
  • YoBit 俄羅斯虛擬幣交易所 - 註冊教學
  • 台灣的虛擬幣交易所 MAX
  • Nintendo Switch EDEV 各按鈕對應的 KeyCode
  • 如何在 Unity 的 Android 推播中加入震動、音效、閃光等效果
  • Unity 的 Slider 物件會亂跳的問題

最新留言

  • [25/04/28] 蘋果用蘋果 於文章「Nintendo Switch EDEV...」留言:
    這份對應表很實用,方便開發者使用搖桿! 我是部落格流量商 ...
  • [22/04/25] 訪客 於文章「浮點數 (float)...」留言:
    原本在搜尋引擎找出一堆 Blog 文章,不知哪幾篇值得花時間...
  • [21/11/25] 訪客 於文章「簡單且免費的挖礦工具 CryptoTab...」留言:
    https://cryptotabbrowser.com/3...
  • [20/11/03] 張紫婕 於文章「CoinDeal 歐洲虛擬幣交易所 - ...」發表了一則私密留言
  • [20/09/25] LEON 於文章「Unity 導出 Android APK...」留言:
    請問這個可以改APK的名稱嗎?謝謝!...
  • [20/08/10] 訪客 於文章「Unity 取得亂數的函數...」留言:
    不能將bool隱式轉換成int ...
  • [20/05/25] 訪客 於文章「在 Unity 中調用 Android ...」留言:
    你好 我想請問一下 我在輸出APK的時候 失敗 E...
  • [20/05/11] 訪客 於文章「在 Unity 中調用 Android ...」留言:
    可以請問這是什麼意思嗎qq App Error: FATA...
  • [20/04/24] 張咻滑 於文章「簡單且免費的挖礦工具 CryptoTab...」留言:
    用Crypto Tab瀏覽器直接跑比Google瀏覽器裝插件...
  • [20/04/19] 訪客 於文章「Unity 導出 Android APK...」留言:
    非常感謝您,非常有用!!!...

誰來我家

參觀人氣

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