6個有用的MySQL語句

openkk 12年前發布 | 1K 次閱讀 5.2.1版本發布

  1. 計算年數
    你想通過生日來計算這個人有幾歲了。
    </p>

    SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) – TO_DAYS(@dateofbirth)), '%Y') + 0; 

  2. 兩個時間的差
    取得兩個 datetime 值的差。假設 dt1 和 dt2 是 datetime 類型,其格式為 ‘yyyy-mm-dd hh:mm:ss’,那么它們之間所差的秒數為:
    </p>
     UNIX_TIMESTAMP( dt2 ) – UNIX_TIMESTAMP( dt1 )

    除以60就是所差的分鐘數,除以3600就是所差的小時數,再除以24就是所差的天數。3. 顯示某一列出現過N次的值

    SELECT id
    FROM tbl
    GROUP BY id
    HAVING COUNT(*) = N;
     

  3. 計算兩個日子間的工作日
    所謂工作日就是除出周六周日和節假日。
    </p>

    SELECT COUNT(*)
    FROM calendar
    WHERE d BETWEEN Start AND Stop
      AND DAYOFWEEK(d) NOT IN(1,7)
      AND holiday=0;

  4. 查找表中的主鍵
    </p>
     SELECT k.column_name
    FROM information_schema.table_constraints t
    JOIN information_schema.key_column_usage k
    USING (constraint_name,table_schema,table_name)
    WHERE t.constraint_type='PRIMARY KEY'
      AND t.table_schema='db'
      AND t.table_name=tbl'

     

  5. 查看你的數庫有多大
    </p>
     SELECT
      table_schema AS 'Db Name',
      Round( Sum( data_length + index_length ) / 1024 / 1024, 3 ) AS 'Db Size (MB)',
      Round( Sum( data_free ) / 1024 / 1024, 3 ) AS 'Free Space (MB)'
    FROM information_schema.tables
    GROUP BY table_schema ;
    </div>
 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!