日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

MySQL命令大全

發布時間:2024/8/26 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 MySQL命令大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.基礎查詢

1.查詢全部列

SELECT *FROM 表名;

2.查詢特定的列:

SELECT id, name FROM student;

3.起別名:

SELECT 列名1 AS "列1別名",列名2 AS "列2別名" FROM 表名;

SELECT 列名1 "列1別名",列名2 "列2別名" FROM 表名;

4.查詢去重

select distinct 字段名 from 表名;

5.+號的作用

select 數值+數值;

6.concat函數(拼接字符,相當于java中的"1"+"23"="123"

select concat(字符1,字符2,字符3,...);

7.ifnull函數

select ifnull(commission_pct,0) from employees;

8.isnull函數

功能:判斷某字段或表達式是否為null,如果是,則返回1,否則返回0

二.條件查詢

select 查詢列表 from 表名 where 篩選條件;

1.按條件表達式查詢

SELECT * FROM employees WHERE salary>12000;

2.按邏輯表達式篩選

SELECT last_name, salary, commission_pct FROM employees WHERE salary>=10000 AND salary<=20000;

3.模糊查詢

select last_name, salary FROM employees WHERE last_name LIKE '__e_a%';(查詢員工名中第三個字符為e,第五個字符為a的員工名和工資)

4.IN查詢

SELECT last_name, job_id FROM employees WHERE job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');

5.IS NULL語句

SELECT last_name, commission_pct FROM employees WHERE commission_pct IS NULL;

6.安全等于<=>

SELECT last_name, salary FROM employees WHERE salary <=> 12000;

三.排序查詢

ASC(ascend): 升序。DESC(descend): 降序

select 查詢列表 from 表名 【where 篩選條件】 order by 排序的字段或表達式;

1.單個字段查詢

SELECT * FROM employees WHERE department_id>=90 ORDER BY employee_id DESC;

2.按表達式排序

SELECT *,salary*12*(1+IFNULL(commission_pct,0)) FROM employees ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;

3.按函數排序

SELECT LENGTH(last_name),last_name FROM employees ORDER BY LENGTH(last_name) DESC;

4.多個字段排序

SELECT * FROM employees ORDER BY salary DESC,employee_id ASC;

四.單行函數

字符函數:

1.length(s)  獲取字符長度

SELECT LENGTH('john'); SELECT LENGTH('張三豐hahaha');

2.concat(s1,s2...sn)  拼接字符串

SELECT CONCAT(last_name,'_',first_name) 姓名 FROM employees;

3.upper(s)  將字符串轉換為大寫

SELECT UPPER('john');

4.lower(s)  將字符串轉換為小寫

SELECT LOWER('joHn');

5.substr(s,start,length)、substring()  SUBSTR(s, start, length):從字符串 s 的 start 位置截取長度為 length 的子字符串

SELECT SUBSTR('李莫愁愛上了陸展元',1,3) out_put;

6.instr(s,s)  返回子串第一次出現的索引,如果找不到返回0

SELECT INSTR('楊不殷六俠悔愛上了殷六俠','殷八俠') AS out_put;

7.trim(s)  去掉字符串開始和結尾處的空格

SELECT LENGTH(TRIM(' 張翠山 ')) AS out_put;

8.lpad(s1,len,s2)  在字符串 s1 的開始處填充字符串 s2,使字符串長度達到 len

SELECT LPAD('殷素素',5,'*') AS out_put; --> **殷素素

9.rpad(s1,len,s2)  在字符串 s1 的結尾處添加字符串 s2,使字符串的長度達到 len

SELECT RPAD('殷素素',5,'*') AS out_put; --> 殷素素**

10.replace(s,s1,s2)  用字符串 s2 替代字符串 s 中的字符串 s1

SELECT REPLACE('張無忌愛上了周芷若','周芷若','趙敏') AS out_put;    -->張無忌愛上了趙敏

數學函數

1.round(x)  ROUND(x,d):保留d位小數,四舍五入

SELECT ROUND(-1.55); --> -2

2.ceil(x)  向上取整

SELECT CEIL(-1.02); --> -1

3.floor(x)  向下取整

SELECT FLOOR(-1.58); --> -2

4.truncate(x,y)  返回數值 x 保留到小數點后 y 位的值(與 ROUND 最大的區別是不會進行四舍五入)

SELECT TRUNCATE(1.567,2); --> 1.56

5.mod(x,y)  返回 x 除以 y 以后的余數

SELECT MOD(10,-3); --> 1

日期函數

1.now()  返回當前系統時間(注:日期+時間)

SELECT NOW(); --> 2019-10-05 09:56:57

2.curdate()  返回當前系統日期,不包含時間

ELECT CURDATE(); --> 2019-10-05

3.curtime()  返回當前系統日期,不包含日期

SELECT CURTIME(); -->09:56:57

4.year(d)  返回年份

SELECT YEAR(NOW()); -->2019

5.month(d)  返回日期d中的月份值,1 到 12

SELECT MONTH(NOW()); --> 10

6.monthname(d)  返回日期當中的月份名稱,如 November

SELECT MONTHNAME(NOW()); --> October

7.str_to_date(s,f)  將字符通過指定的格式轉換成日期

SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put; --> 1998-03-02

8.date_format(d,f)  將日期通過指定的格式轉換成字符

SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日') AS out_put; --> 2019年10月05日

其他函數

1.version()  返回當前數據庫名

2.user()  返回當前用戶

SELECT USER();

流程控制函數

1.if(expr,v1,v2)  如果表達式 expr 成立,返回結果 v1;否則,返回結果 v2。

SELECT IF(1 > 0,'正確','錯誤'); --> 正確

2.case  CASE 表示函數開始,END 表示函數結束。如果 condition1 成立,則返回 result1, 如果 condition2 成立,則返回 result2,當全部不成立則返回 result,而當有一個成立之后,后面的就不執行了。

查詢員工的工資,要求

部門號=30,顯示的工資為1.1倍
部門號=40,顯示的工資為1.2倍
部門號=50,顯示的工資為1.3倍
其他部門,顯示的工資為原工資

SELECT salary 原始工資,department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary
END AS 新工資
FROM employees;

五.分組函數

1.sum(expression)  ? 求和

SELECT SUM(salary) FROM employees;

2.avg(expression)  ? 平均值

SELECT AVG(salary) FROM employees;

3.max(expression)  ? 最大值

SELECT MAX(salary) FROM employees;

4.min(expression)  ? 最小值

SELECT MIN(salary) FROM employees;

5.count(expression)  計算個數

SELECT COUNT(salary) FROM employees;

分組函數支持哪些類型:

字符:先試圖將字符轉換成數值,如果轉換成功,則繼續運算;否則轉換成0,再做運算

日期:SELECT SUM(hiredate) ,AVG(hiredate) FROM employees;

特點:

sum、avg一般用于處理數值型

max、min、count可以處理任何類型

以上分組函數都忽略null值

可以和distinct搭配實現去重的運算

一般使用count(*)用作統計行數

和分組函數一同查詢的字段要求是group by后的字段

六.分組查詢

語法:select 分組函數,分組后的字段 from 表 【where 篩選條件】 group by 分組的字段 【having 分組后的篩選】 【order by 排序列表】

特點:

和分組函數一同查詢的字段必須是group by后出現的字段
篩選分為兩類:分組前篩選和分組后篩選

1.簡單的分組

SELECT AVG(salary),job_id FROM employees GROUP BY job_id;

2.分組前篩選

例1:查詢郵箱中包含a字符的 每個部門的最高工資

SELECT MAX(salary),department_id FROM employees WHERE email LIKE '%a%' GROUP BY department_id;

3.分組后篩選

例1:查詢哪個部門的員工個數>5

SELECT COUNT(*),department_id FROM employees GROUP BY department_id HAVING COUNT(*)>5;

4.添加排序

例1:每個工種有獎金的員工的最高工資>6000的工種編號和最高工資,按最高工資升序

SELECT job_id 工種編號, MAX( salary ) 最高工資 FROM employees WHERE commission_pct IS NOT NULL GROUP BY job_id HAVING MAX( salary )> 6000 ORDER BY MAX( salary );

5.按多個字段分組

例1:查詢每個工種每個部門的最低工資,并按最低工資降序

SELECT MIN( salary ) 最低工資, department_id 部門, job_id 工種 FROM employees GROUP BY department_id, job_id ORDER BY MIN( salary ) DESC;

七.連接查詢

select 字段1,字段2 from 表1,表2,...;

1.笛卡爾積現象

當查詢多個表時,沒有添加有效的連接條件,導致多個表所有行實現完全連接

表1 有m行,表2有n行,結果=m*n行

發生原因:沒有有效的連接條件 如何避免:添加有效的連接條件

2.分類

按功能分類: 內連接: 等值連接 非等值連接 自連接   外連接: 左外連接 右外連接 全外連接(mysql不支持) 交叉連接

3.等值連接

多表等值連接的結果為多表的交集部分

n表連接,至少需要n-1個連接條件

表的順序沒有要求

一般需要為表起別名

可以搭配前面介紹的所有子句使用,比如排序、分組、篩選

例1:查詢女神名和對應的男神名

SELECT NAME,boyName FROM boys, beauty WHERE beauty.boyfriend_id = boys.id;

4.為表起別名

SELECT e.last_name, e.job_id, j.job_title FROM employees e, jobs j WHERE e.`job_id` = j.`job_id`;

5.加篩選條件

SELECT last_name, department_name, commission_pct FROM employees e, departments d WHERE e.`department_id` = d.`department_id` AND e.`commission_pct` IS NOT NULL;

6.加分組

例1:查詢每個城市的部門個數

SELECT COUNT(*) 個數, city FROM departments d, locations l WHERE d.`location_id` = l.`location_id` GROUP BY city;

7.非等值連接

語法:select 查詢列表 from 表1 別名,表2 別名 where 非等值的連接條件 【and 篩選條件】 【group by 分組字段】 【having 分組后的篩選】 【order by 排序字段】

例1:SELECT e.salary 工資, j.grade_level 工資級別 FROM employees e, job_grades j WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal;

8.自連接

語法:select 查詢列表 from 表 別名1,表 別名2 where 等值的連接條件 【and 篩選條件】 【group by 分組字段】 【having 分組后的篩選】 【order by 排序字段】

例1:查詢員工名和上級的名稱

SELECT e.last_name 員工名, m.last_name 上級名稱 FROM employees e, employees m WHERE e.manager_id = m.employee_id;

內連接

語法:select 查詢列表 from 表1 別名 【inner】 join 表2 別名 on 連接條件 where 篩選條件 group by 分組列表 having 分組后的篩選 order by 排序列表 limit 子句;

特點:

表的順序可以調換
內連接的結果=多表的交集
n表連接至少需要n-1個連接條件
添加排序、分組、篩選
inner可以省略
篩選條件放在where后面,連接條件放在on后面,提高分離性,便于閱讀
inner join連接和sql92語法中的等值連接效果是一樣的,都是查詢多表的交集

1.內連接-等值連接

例1:查詢員工名、部門名

SELECT last_name, department_name FROM departments d INNER JOIN employees e ON e.`department_id` = d.`department_id`;

2.內連接-非等值連接

例1:查詢員工的工資級別

SELECT e.last_name 員工名, e.salary 薪水, j.grade_level 工資級別 FROM employees e JOIN job_grades j ON e.salary BETWEEN j.lowest_sal AND j.highest_sal;

3.內連接-自連接

例1:查詢員工的名字、上級的名字

SELECT e.last_name 員工名, m.last_name 上級名 FROM employees e JOIN employees m ON e.manager_id = m.employee_id;

外連接

語法:select 查詢列表 from 表1 別名 left|right|full【outer】 join 表2 別名 on 連接條件 where 篩選條件 group by 分組列表 having 分組后的篩選 order by 排序列表 limit 子句;

應用場景:用于查詢一個表中有,另一個表沒有的記錄

特點:

外連接的查詢結果為主表中的所有記錄

如果從表中有和它匹配的,則顯示匹配的值

如果從表中沒有和它匹配的,則顯示null

外連接查詢結果=內連接結果+主表中有而從表沒有的記錄

左外連接,left join左邊的是主表

右外連接,right join右邊的是主表

左外和右外交換兩個表的順序,可以實現同樣的效果

全外連接=內連接的結果+表1中有但表2沒有的+表2中有但表1沒有的

1.左外連接

例1:查詢哪個部門沒有員工

SELECT d.* FROM departments d LEFT JOIN employees e ON d.department_id = e.department_id WHERE e.department_id IS NULL

2.右外連接

例1:查詢哪個部門沒有員工(調換位置使用RIGHT JOIN)

SELECT d.* FROM employees e RIGHT JOIN departments d ON d.department_id = e.department_id WHERE e.department_id IS NULL

3.全外連接(mysql不支持全外連接)

USE girls; SELECT b.*,bo.* FROM beauty b FULL OUTER JOIN boys bo ON b.`boyfriend_id` = bo.id;

4.交叉連接(交叉聯接返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯接也稱作笛卡爾積。)

SELECT b.*,bo.* FROM beauty b CROSS JOIN boys bo;

八.子查詢

1.標量子查詢

例1:誰的工資比 Abel 高?

SELECT * FROM employees WHERE salary>( SELECT salary FROM employees WHERE last_name = 'Abel' );

2.列子查詢

操作符 含義
IN/NOT IN 等于列表中的任意一個
ANY|SOME 和子查詢返回的某一個值比較
ALL 和子查詢返回的所有值比較

例1:返回location_id是1400或1700的部門中的所有員工姓名

SELECT last_name FROM employees WHERE department_id IN( SELECT DISTINCT department_id FROM departments WHERE location_id IN(1400,1700) );

3.行子查詢

例1:查詢員工編號最小并且工資最高的員工信息

SELECT * FROM employees WHERE (employee_id,salary)=( SELECT MIN(employee_id),MAX(salary) FROM employees );

4.select后面

例1:查詢每個部門的員工個數

SELECT d.*,( SELECT COUNT(*) FROM employees e WHERE e.department_id = d.`department_id` ) 個數 FROM departments d;

5.from后面

例1:查詢每個部門的平均工資的工資等級

SELECT ag_dep.*,g.`grade_level` FROM ( SELECT AVG(salary) ag,department_id FROM employees GROUP BY department_id ) ag_dep INNER JOIN job_grades g ON ag_dep.ag BETWEEN lowest_sal AND highest_sal;

6.exists(相關子查詢)

例1:查詢有員工的部門名

SELECT department_name FROM departments d WHERE EXISTS( SELECT * FROM employees e WHERE d.`department_id`=e.`department_id` );

九.分頁查詢

語法:select 查詢列表 from 表 【join type】 join 表2 on 連接條件 where 篩選條件 group by 分組字段 having 分組后的篩選 order by 排序的字段】 limit 【offset,】size;

例1:查詢前五條員工信息

SELECT * FROM employees LIMIT 0,5;

十.聯合查詢

語法:查詢語句1 union 【all】 查詢語句2 union 【all】 ...

特點:

要求多條查詢語句的查詢列數是一致的!
要求多條查詢語句的查詢的每一列的類型和順序最好一致
union關鍵字默認去重,如果使用union all 可以包含重復項

例1:查詢部門編號>90或郵箱包含a的員工信息

SELECT * FROM employees WHERE email LIKE '%a%' UNION SELECT * FROM employees WHERE department_id>90;

十一.DML數據處理之增刪改

1.INSERT

insert into 表名(字段名,...) values(值,...);

2.UPDATE

update 表名 set 字段=值,字段=值 【where 篩選條件】;

3.DELETE

delete from 表名 【where 篩選條件】【limit 條目數】

4.TRUNCATE(清空表)

truncate table 表名

十二.DDL數據庫定義語言

1.MySQL數據類型

分類 類型名稱 說明
整數類型 tinyInt 很小的整數
smallint 小的整數
mediumint 中等大小的整數
int(integer) 普通大小的整數
小數類型 float 單精度浮點數
double 雙精度浮點數
decimal(m,d) 壓縮嚴格的定點數
日期類型 year YYYY 1901~2155
time HH : MM : SS -838:59 : 59~838 : 59 : 59
date YYYY-MM-DD 1000-01-01~9999-12-3
datetime YYYY-MM-DD HH : MM : SS 1000-01-01 00 : 00 : 00~ 9999-12-31 23 : 59 : 59
timestamp YYYY-MM-DD HH : MM : SS 19700101 00 : 00 : 01 UTC~2038-01-19 03 : 14 : 07UTC
文本、二進制類型 CHAR(M) M為0~255之間的整數
VARCHAR(M) M為0~65535之間的整數
TINYBLOB 允許長度0~255字節
BLOB 允許長度0~65535字節
MEDIUMBLOB 允許長度0~167772150字節
LONGBLOB 允許長度0~4294967295字節
TINYTEXT 允許長度0~255字節
TEXT 允許長度0~65535字節
MEDIUMTEXT 允許長度0~167772150字節
LONGTEXT 允許長度0~4294967295字節
VARBINARY(M) 允許長度0~M個字節的變長字節字符串
BINARY(M) 允許長度0~M個字節的定長字節字符串

十三.事務

事務由單獨單元的一個或多個SQL語句組成,在這個單元中,每個MySQL語句是相互依賴的。而整個單獨單元作為一個不可分割的整體,如果單元中某條SQL語句一旦執行失敗或產生錯誤,整個單元將會回滾。所有受到影響的數據將返回到事物開始以前的狀態;如果單元中的所有SQL語句均執行成功,則事物被順利執行。

事務的特性(ACID):

原子性(Atomicity)

原子性是指事務是一個不可分割的工作單位,事務中的操作要么都發生,要么都不發生。

一致性(Consistency)

事務必須使數據庫從一個一致性狀態變換到另外一個一致性狀態。

隔離性(Isolation)

事務的隔離性是指一個事務的執行不能被其他事務干擾,即一個事務內部的操作及使用的數據對并發的其他事務是隔離的,并發執行的各個事務之間不能互相干擾。

持久性(Durability)

持久性是指一個事務一旦被提交,它對數據庫中數據的改變就是永久性的,接下來的其他操作和數據庫故障不應該對其有任何影響

2.開啟事務

# 關閉自動提交 set autocommit=0;   #開啟事物(可選) start transaction;

3.結束事務

commit;提交事務   # 或者 rollback;回滾事務   # 或者 rollback to 回滾點名;回滾到指定的地方

4.并發事務

事務的并發問題是如何發生的?

多個事務 同時 操作 同一個數據庫的相同數據時

并發問題都有哪些?

臟讀:對于兩個事務 T1, T2, T1 讀取了已經被 T2 更新但還沒有被提交的字段. 之后, 若 T2 回滾, T1讀取的內容就是臨時且無效的

不可重復讀:對于兩個事務T1, T2, T1 讀取了一個字段, 然后 T2 更新了該字段. 之后, T1再次讀取同一個字段, 值就不同了(在一個事物中不管讀多少次,讀取的數據應該都一樣)

幻讀:對于兩個事務T1, T2, T1 從一個表中讀取了一個字段, 然后 T2 在該表中插入了一些新的行. 之后, 如果 T1 再次讀取同一個表, 就會多出幾行

如何解決并發問題

通過設置隔離級別來解決并發問題

5.事務隔離級別

隔離級別 臟讀 不可重復讀 幻讀
read uncommitted:讀未提交 × × ×
read committed:讀已提交 × ×
repeatable read:可重復讀 ×
serializable:串行化

6.查看隔離級別

select @@tx_isolation;

7.設置隔離級別

# 設置當前 mySQL 連接的隔離級別: set transaction isolation level read committed;   # 設置數據庫系統的全局的隔離級別: set global transaction isolation level read committed;

十四.視圖

MySQL從5.0.1版本開始提供視圖功能。一種虛擬存在的表,行和列的數據來自定義視圖的查詢中 使用的表,并且是在使用視圖時動態生成的,只保存了sql邏輯,不保存查詢結果

1.創建視圖

create view 視圖名 as 查詢語句;

例1:創建視圖emp_v2,要求查詢部門的最高工資高于12000的部門信息

# 創建視圖,查詢每個部門的最高工資,篩選出高于12000的 DROP VIEW emp_v2; CREATE VIEW emp_v2 AS SELECT department_id, MAX( salary ) max_salary FROM employees GROUP BY department_id HAVING max_salary > 12000;

# 根據創建的視圖連接departments表查詢部門信息 SELECT d.*, ev2.max_salary FROM departments d JOIN emp_v2 ev2 ON d.department_id = ev2.department_id;

2.修改視圖

create or replace view 視圖名 as 查詢語句;

3.刪除視圖

drop view 視圖名,視圖名,...

4.查看視圖

DESC 視圖名;

5.視圖的更新

視圖的可更新性和視圖中查詢的定義有關系,以下類型的視圖是不能更新的。

包含以下關鍵字的sql語句:分組函數、distinct、group by
having、union或者union all
常量視圖
Select中包含子查詢
join
from一個不能更新的視圖
where子句的子查詢引用了from子句中的表

十五.存儲過程

什么是存儲過程:事先經過編譯并存儲在數據庫中的一段sql語句的集合。類似于java中的方法

1.創建語法

CREATE PROCEDURE 存儲過程名(參數列表) BEGIN 存儲過程體(一組合法的SQL語句) END

例1:插入到admin表中五條記錄

USE girls; DELIMITER $ CREATE PROCEDURE myp1() BEGIN INSERT INTO admin(username,`password`) VALUES ('john1','0000'),('lily','0000'),('rose','0000'),('jack','0000'),('tom','0000'); END $

2.調用語法

CALL 存儲過程名(實參列表);

3.創建帶IN模式參數的存儲過程

例1:創建存儲過程實現 根據女神名,查詢對應的男神信息

DELIMITER $ CREATE PROCEDURE myp2(IN beautyName VARCHAR(20)) BEGIN SELECT bo.* FROM boys bo RIGHT JOIN beauty b ON bo.id = b.boyfriend_id WHERE b.name=beautyName; END $

CALL myp2('趙敏');

4.創建out模式參數的存儲過程

例1:根據輸入的女神名,返回對應的男神名

DELIMITER $ CREATE PROCEDURE myp4(IN beautyName VARCHAR(20),OUT boyName VARCHAR(20)) BEGIN SELECT bo.boyname INTO boyname FROM boys bo RIGHT JOIN beauty b ON b.boyfriend_id = bo.id WHERE b.name=beautyName ; END $

# 調用 使用自定義變量接收 CALL myp4('趙敏',@name); SELECT @name;

5.創建帶inout模式參數的存儲過程

例1:傳入a和b兩個值,最終a和b都翻倍并返回

DROP PROCEDURE IF EXISTS myp5; DELIMITER $ CREATE PROCEDURE myp5(INOUT a INT,INOUT b INT) BEGIN SET a:=a*2; SET b:=b*2; END $

SET @m=10; SET @n=20; CALL myp5(@m,@n); SELECT @m,@n;

十六.存儲函數

存儲過程與存儲函數的區別:存儲過程:可以有0個返回,也可以有多個返回,適合做批量插入、批量更新,存儲函數:有且僅有1 個返回,適合做處理數據后返回一個結果

1.創建語法

CREATE FUNCTION 函數名(參數列表) RETURNS 返回類型 BEGIN 函數體 END

2.調用語法

SELECT 函數名(參數列表);

3.無參數返回

例1:返回公司的員工個數

USE myemployees; DELIMITER // CREATE FUNCTION myf1() RETURNS INT BEGIN DECLARE c INT DEFAULT 0; #定義局部變量 SELECT COUNT(*) INTO c #賦值 FROM employees; RETURN c; END //

SELECT myf1();

4.有參數返回

例1:根據員工名,返回它的工資

DELIMITER // CREATE FUNCTION myf2(empName VARCHAR(20)) RETURNS DOUBLE BEGIN SET @sal=0; #定義用戶變量 SELECT salary INTO @sal #賦值 FROM employees WHERE last_name = empName; RETURN @sal; END //

SELECT myf2('Kochhar'); SELECT @sal;

5.查看函數

SHOW CREATE FUNCTION myf3;

6.刪除函數

DROP FUNCTION myf3;

總結

以上是生活随笔為你收集整理的MySQL命令大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。