MySQL基礎練習

2021-10-04 16:32:31 字數 1983 閱讀 3927

#二.數學函式

1 abs 絕對值

select abs(-2.4);

2 ceil 向上取整 返回》=該引數的最小整數

select ceil(1.09);

3 floor 向下取整 返回<=該引數的最大整數

select floor(1.09);

4 round 四捨五入

select round(1.87123456);

select round(1.87123456,2);

5 truncate 截斷

select truncate(1.87123456,2);

6 mod 取餘

select mod(-10,3);

select -10%3;

select 10%3;

select -10%-3;

select 10%-3;

#三.日期時間

nowselect now();

curdate

select curdate();

curtime

select curtime();

datediff

select datediff(『1998-1-3』,『2020-4-1』);

date_format

select date_format(『1998-1-3』,』%y年%m月%d日 %h小時%i分鐘%s秒』) 出生日期;

select date_format(hiredate,』%y年%m月%d日 %h小時%i分鐘%s秒』) 入職日期

from employees;

str_to_date 按指定格式解析字串為日期型別

select str_to_date(『3/15 1998』,』%m/%d %y』);

select * from employees

where hiredate#四.流程控制函式

if 函式

select if(100>9,『true』,『false』);

#需求: 如果有獎金,則顯示最終獎金,如果沒有,則顯示0

select if(commission_pct is not null,salary12commission_pct,0) 獎金,commission_pct

from employees;

case 函式

情況1 : 類似於switch 語句, 可以實現等值判斷

case 表示式

when 值1 then 結果1

when 值2 then 結果2

…else 結果n

end案例:

部門編號是30,工資顯示為2倍

部門編號是50,工資顯示為3倍

部門編號是60,工資顯示為4倍

顯示 部門編號,新工資,舊工資

select department_id,salary,

case department_id

when 30 then salary2

when 50 then salary3

when 60 then salary*4

else salary

end 新工資

from employees;

情況2:類似於多重 if 語句,實現區間判斷

case

when 條件1 then 結果1

when 條件2 then 結果2

…else 結果n

end案例:如果工資》20000,顯示級別a

工資》15000,顯示級別b

工資》10000,顯示級別c

否則,顯示d

select last_name,

case

when salary>20000 then 『a』

when salary>15000 then 『b』

when salary>10000 then 『c』

else 『d』

end 級別

from employees;

(五)MySQL基礎(練習一)

1 建立使用者 create user your mysql name your client host identified by your password root賬號就跟管理員賬號一樣,有操作不同資料庫的許可權。我們為不同的web應用建立與之對應的資料庫,只需要建立管理該資料庫的使用者,並限...

MySQL基礎的小練習

要求 使用 mysql 完成 完成下面的功能 1.將所有員工薪水修改為5000元。2.將姓名為 zhangsan 的員工薪水修改為3000元。3.將姓名為 lisi 的員工薪水修改為4000元,改為female。4.將xiaohong的薪水在原有基礎上增加1000元。create table emp...

MySQL基礎(四) 實戰練習

資料匯入匯出 見附件 將excel檔案匯入mysql表 mysql匯出表到excel檔案 建立employee 表,包含所有員工資訊,每個員工有其對應的 id,salary 和 department id。idname salary departmentid 1joe 7000012 henry 8...