目前MySQL數(shù)據(jù)庫(kù)是網(wǎng)站比較常用的,這種數(shù)據(jù)庫(kù)安全可靠。那么專業(yè)的技術(shù)人員該如何寫好數(shù)據(jù)庫(kù)的語(yǔ)句呢?在下面的內(nèi)容中,廊坊網(wǎng)站建設(shè)公司會(huì)將自己的一些經(jīng)驗(yàn)分享給大家。
1、顯示某一列出現(xiàn)過(guò)N次的值:
SELECTid
FROMtbl
GROUPBYid
HAVINGCOUNT(*)=N;
2、計(jì)算兩個(gè)日子間的工作日,所謂工作日就是除出周六周日和節(jié)假日。
SELECTCOUNT(*)
FROMcalendar
WHEREdBETWEENStartANDStop
ANDDAYOFWEEK(d)NOTIN(1,7)
ANDholiday=0;
3、查看你的數(shù)庫(kù)有多大:
SELECT
table_schemaAS'DbName',
Round(Sum(data_length+index_length)/1024/1024,3)AS'DbSize(MB)',
Round(Sum(data_free)/1024/1024,3)AS'FreeSpace(MB)'
FROMinformation_schema.tables、GROUPBYtable_schema;
4、計(jì)算年數(shù),你想通過(guò)生日來(lái)計(jì)算這個(gè)人有幾歲了。SELECTDATE_FORMAT(FROM_DAYS(TO_DAYS(now())-TO_DAYS(@dateofbirth)),'%Y')+0;
5、顯示某一列出現(xiàn)過(guò)N次的值:SELECTid、FROMtbl、GROUPBYid、HAVINGCOUNT(*)=N;
6、兩個(gè)時(shí)間的差,取得兩個(gè)datetime值的差。假設(shè)dt1和dt2是datetime類型,其格式為‘yyyy-mm-ddhh:mm:ss’,那么它們之間所差的秒數(shù)為:UNIX_TIMESTAMP(dt2)-UNIX_TIMESTAMP(dt1)除以60就是所差的分鐘數(shù),除以3600就是所差的小時(shí)數(shù),再除以24就是所差的天數(shù)。