--檢視現在的連線數
show processlist
--當前時間
select
current_time()
;--當前日期
select
current_date()
--時間戳
select
current_timestamp
()
--日期格式化
date_format(
now(),
'%y'
)--獲取月份
month
(now()
)-- 、查詢下週過生日的學生
select
*from student
where weekofyear(date_format(
now(),
'%y%m%d'))
= weekofyear(date_format(s_birth,
'%y%m%d'
)- date_format(s_birth,
'%y')*
10000
+ date_format(
now(),
'%y')*
10000)-
1;
if( 判斷條件,trueval,falseval )
-- 35、查詢所有學生的課程及分數情況; 實現了mysql的行轉列
select st.s_id,st.s_name,
max(
if(s.c_id=
'01'
,s.s_score,0)
)as 數學
,max(if
(s.c_id=
'02'
,s.s_score,0)
)as 語文
,max(if
(s.c_id=
'03'
,s.s_score,0)
)as 英語
from student st left
join score s on st.s_id=s.s_id group
by s.s_id
--行轉列,使用 case when then else end
select s_id,
max(
case c_id when
'01'
then s_score else
0end
)as 數學,
max(
case c_id when
'02'
then s_score else
0end
)as 語文,
max(
case c_id when
'03'
then s_score else
0end
)as 英語
from score group
by s_id;
--如果為null 賦預設值
select
*, ifnull(columnname2,0)
from tablename;
select
*from emp order
by sal desc
limit
5;
使用 @ i:=1
-- 20、查詢學生的總成績並進行排名
select s_id 學號,
@k:=@k+
1 無並列排名,
@s:=if(
@score
=sumsc,@s,
@k) 有並列排名,
@score:=sumsc 總成績
from
(select
@k:=
0)r,
(select s_id,
sum(s_score) sumsc from score group
by s_id order
by sumsc desc
)s
MySQL的一些常用SQL語句
備份表 create table 新錶 select from 舊表 建立臨時表 create temporary table tablename id varchar 100 name varchar 100 age varchar 100 刪除臨時表 drop temporary table i...
一些sql語句
一。在oracle中建表,怎麼實現id自動編號 1 建表 create table code test id int,name varchar2 20 2.建立序列 create sequence s country id increment by 1 start with 1 maxvalue 9...
一些Sql語句
case when xx then yy else zz 例 case when count is null then 0 else count 當count為空的時候賦值0,不為空則取原值 isnull express1,express2 例 isnull count,0 當count為空的時候則...