13個mysql數據庫的實用SQL小技巧

MYSQL作為最成功的開源關系型數據庫之一,擁有大批的粉絲(本人也是),在這篇文章中,我們精心收集了10個最實用的mysql查詢技巧,希望能夠帶給大家驚喜,如果大家也有非常不錯的SQL,請留言與我們分享!

相關閱讀:SQL,MYSQL

使用CASE來重新定義數值類型


  1. SELECT id,title,
  2. (CASE date WHEN '0000-00-00' THEN '' ELSE date END) AS date
  3. FROM your_table
  4. SELECT id,title,
  5. (CASE status WHEN 0 THEN 'open' WHEN 1 THEN 'close' ELSE 'standby' END) AS status
  6. FROM your_table

查找重復的email記錄字段


  1. SELECT email, COUNT(email) AS q
  2. FROM emails_table GROUP BY email HAVING q > 1
  3. ORDER BY q DESC

取出隨機順序得到記錄


  1. SELECT * FROM your_table ORDER BY RAND()

使用update替換指定字段里的字符


  1. UPDATE your_table
  2. SET name=REPLACE(name, 'gbin1.com', 'gbtags.com')
  3. WHERE name LIKE '%John%';

重設置指定table里的自動增加數值


  1. ALTER TABLE your_table AUTO_INCREMENT = 2

下一次你插入數據,那么id自動增加為2

為select語句添加一個自動增加的字段列


  1. set @N = 0;
  2. SELECT @N := @N +1 AS number, name, surname FROM gbtags_users;

使用concat來連接字段


  1. SELECT CONCAT(name,' ',surname) AS complete_name FROM users

使用date方法來取出日期類型的指定部分


  1. SELECT id,title, YEAR(date_field) FROM your_table
  2. SELECT id,title,
  3. CONCAT(MONTH(date_field),'/',YEAR(date_field)) as new_date
  4. FROM your_table

上面語句,第一個select取出了年份,第二取出了月份和年份組合

針對unique key(唯一鍵)類型字段的重復插入不報錯的insert語句


  1. INSERT IGNORE INTO tags (tag) VALUES ('good');

這個insert語句可以執行多次,不會報錯,重復的插入會被忽略

使用全文索引并且匹配搜索


  1. select * from articles where MATCH(content_column) AGAINST ('music')

你需要首先添加全文搜索索引到指定的列(content_column)。注意如果你表里已經有數據的話,不會創建索引,所以你需要使用一個空的表來執行這個語句

如果查詢一個月以前


  1. SELECT user, count(*) AS logins
  2. FROM stat_log
  3. WHERE action='LOGIN' AND dt_when >= DATE_ADD(CURDATE(), INTERVAL -1 MONTH)
  4. GROUP BY user

這個語句能夠讓你查詢字段dt_when一個月以前的所有記錄

設置正確的字符集


  1. SET NAMES 'utf8';

請在連接開始后執行這個語句

從一個表插入另外一個表


  1. INSERT INTO yourtable (field1,field2,field3)
  2. SELECT newfield1,newfield2,'fixed value'
  3. FROM yourtable2

這個語句能夠快速的幫助大家快速的添加一個表中的特定內容到另外一個表中。

希望這里我們介紹的這些SQL能夠幫助大家更好更快的使用Mysql,如果大家也有很多自己保存的SQL,請大家給我們留言!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443935.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443935.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443935.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

今日頭條校園招聘歷年經典面試題匯總:C++研發崗

這個系列計劃收集幾百份朋友和讀者的面經,作者合集方便查看,各位有面經屯著可以聯系我哦 這個系列離結束差的還特別多,會更新涵蓋所有一線大廠的所有崗位,也可以關注一下。 京東&華為 Java開發歷年經典題匯總 百度校招歷年經…

騰訊校招歷年經典面試匯總:C++研發崗

這個系列計劃收集幾百份朋友和讀者的面經,作者合集方便查看,各位有面經屯著可以聯系我哦 這個系列離結束差的還特別多,會更新涵蓋所有一線大廠的所有崗位,也可以關注一下。 今日頭條校園招聘歷年經典面試題匯總:C研發…

騰訊校園招聘歷年經典面試題匯總:前端

這個系列計劃收集幾百份朋友和讀者的面經,作者合集方便查看,各位有面經屯著可以聯系我哦 這個系列離結束差的還特別多,會更新涵蓋所有一線大廠的所有崗位,也可以關注一下。 騰訊校招歷年經典面試匯總:C研發崗 今日頭…

網易校園招聘歷年經典面試題匯總:前端 崗

這個系列計劃收集幾百份朋友和讀者的面經,作者合集方便查看,各位有面經屯著可以聯系我哦 這個系列離結束差的還特別多,會更新涵蓋所有一線大廠的所有崗位,也可以關注一下。 騰訊校園招聘歷年經典面試題匯總:前端 騰訊…

Selenium兩萬字大題庫

測試最流行框架之一,可以學習一下。 填空 1、根據項目流程階段劃分軟件測試:(單元測試)、(集成測試)、(系統測試)、(驗收測試) (單元測試&#…

Tomcat 6.0配置連建池的方式:

1.連接池的概念: JNDI解釋:JNDI全稱JavaNamingandDirectoryInterface(java命名和目錄服務)用于定位查找服務對象。 2.使用連接池的優點(企業開發中常用) 3.在Tomcat6.0中配置連接池的步驟如下: (1).在tomcat/conf目錄下找到context.xml文件,在…

FIX三天日記-FIX簡介

由于作者還未在真實項目中實踐,以下知識均限于學習,有些知識來源網絡,不保證絕對準確。 一、FIX是什么? 是一個適用于實時證券和金融電子交易開發、不受單一實體控制的開放的數據通信標準,此協議能夠被調整適用于任何…

vscode遠程連接開發機失敗/解決方案大合集

錯誤合集 channel 1: open failed: administratively prohibited: open failed channel 2: open failed: administratively prohibited: open failed channel 3: open failed: administratively prohibited: open failed channel 4: open failed: administratively prohibi…

新鮮面經——騰訊金融類后臺開發

一面 1、合并兩個有序鏈表,我是寫的不怎么停頓而且一次對的,這種題我建議最低標準就按這個來。 2、在微信九宮格組合售賣。實現的代碼中,輸入用戶支付單號listid后,代碼需要保證能夠將三種商品都發貨成功; 3、設計電…

百度實習后端開發一二三面

三連面,完全沒準備,一臉懵的面完。 狀態:已拿offer 一面 如何判斷鏈表是否有環? 答:快慢指針 介紹一下堆這種數據結構 答:大根小根堆,遞歸定義,實現,空間復雜度&am…

FIX三天日記-quick fix簡介

一、介紹 fix協議在上篇已經學習了,不再介紹。 QuickFIX是一款C實現的開源FIX引擎,同時提供Python等多種語言實現,具體看quickfix git地址 官網已經介紹如何編譯quickfix、配置文件字段含義等等,我假設你可以看懂,用…

FIX三天日記-quick fix源碼

一、概述 1.1 如何閱讀? 對于一般人,沒必要像對待常用公共組件一樣,搞清楚每一個點,我們從使用的角度出發,把我們用到的功能讀到即可。 1.2 如何下載 ? https://github.com/quickfix/quickfix 1.3 大概…

如何寫出高性能SQL語句

優化SQL查詢:如何寫出高性能SQL語句 1、首先要搞明白什么叫執行計劃?執行計劃是數據庫根據SQL語句和相關表的統計信息作出的一個查詢方案,這個方案是由查詢優化器自動分析產生欀如一條SQL語句如果用來從一個10萬條記錄的表中查1條記錄&#…

兔老大的系統設計(一)健康度系統

本系列用大白話,手把手帶你實現上百個BAT公司內部真實的常用中型系統。評論抽獎送書 與培訓班/營銷號/忽悠人的低水平作者,不同的是: 保證聽懂(小白也可以,這是我的一貫風格,字典式小白式的輸出&#xff0…

小白入門Haskell 語言

Haskell 語言 安裝 因為我是 Windows 系統,在這里下載一個 GHC for Win 后解壓縮,將解壓縮后的目錄中的 bin 添加到環境變量的 Path 中,在命令行中輸入 ghci 就可用交互式的了。 其中 bin 目錄下有一個 runhaskell.exe 文件,我…

兔老大的系統設計(二)定時系統(延時隊列)

之前文章: 兔老大的系統設計(一)健康度系統 一、背景 延遲隊列的應用場景非常廣泛,如客戶主動操作: 股票定投顧客預約場景會員定時續費/繳費CSDN定時發布或系統內部操作: 訂單成功后,在30分…

作為軟件工程師,你必須知道的20個常識

作為一名優秀是軟件開發工程師,以下的這些常識你知道嗎?在實際工作中有沒有總結過呢?小編就帶大家一起分享這20個軟件開發常識。 1、針對面向對象的設計與分析:為了讓軟件有更好的可維護性,重用性以及快速開發&#xf…

新鮮美團測試崗面經(帶答案)

1、測試環境搭建過程 2、 驗證環境部署是否成功時 跑測試用例 接口是什么樣的?(服務對外提供的調用接口) 3、 數據庫 表 有個字段 name字段 nameliuguoge 唯一標識id3 修改nameguogeliu update user set nameguogeliu where id3; 4、寫…

如何實現兩個數據庫之間的同步

兩臺服務器分別架在兩個不同的機房,要實現所有表中數據的同步,延時一兩分鐘沒關系,數據庫數據量很大,表大概有不到一百個吧,怎么實現同步?不同服務器數據庫之間的數據操作--創建鏈接服務器 execsp_addlink…

博弈論經典入門

文章目錄博弈論常見模型必勝點和必敗點的概念:必勝點和必敗點的性質:巴什博弈斐波那契博弈威佐夫博弈尼姆博弈SG函數與SG定理博弈論 博弈論 ,是經濟學的一個分支,主要研究具有競爭或對抗性質的對象,在一定規則下產生的…