MySQL事務,約束,函式

2021-09-25 22:37:59 字數 4617 閱讀 5391

學習主題:mysql

學習目標:

1 掌握mysql的更新刪除

2 掌握mysql的事務處理和基本查詢

3 掌握mysql的約束和排序

4 掌握mysql常見的函式和多表查詢

1.mysql中的預設值處理

(1)在mysql中如何定義預設值?

create table e***(emp_id int primary key auto_increment,name varchar(20),address varchar(50) default』unknown』);

2.mysql中的更新操作

(1)在mysql中更新表中資料的語句是什麼?

mysql> create table e***(emp_id int primary key auto_increment,name varchar(20),address varchar(50) default』unknown』);

mysql> update e*** e set e.address=(select t1.address from(select emp_id,address from e***)t1 where t1.emp_id=1) where e.emp_id=2;

(2)mysql中的資料更新有什麼特點?

1、更新的表不能在set和where中用於子查詢

2、update後面可以做任意的查詢

3.mysql中的刪除資料

(1)在mysql中刪除表中資料有幾種方式?他們之間有什麼區別?

1、使用delete子句

delete from 表名 where 條件

2、使用truncate清空表

truncate table 表名

(2)刪除e***表中emp_id為1的雇員資訊。

delete from e*** where emp_id = 1

4.mysql的事務處理

(1)在mysql中事務預設的處理機制是什麼機制?

預設的是事務自動提交

(2)如何關閉mysql中的事務自動提交?

start transaction;

5.mysql的基本查詢1

(1)mysql中查詢資料的語法格式是什麼?

select * | 投影列 from 列名

(2)在查詢語句中支援哪些算術表示式?

+加法運算,-減法運算,*乘法運算,/除法運算,%求餘運算

(3)在mysql中檢視資料庫編碼的語句是什麼?

select schema_name,default_character_set_name from information_schema.schemata where schema_name =『test』;

(4)刪除資料庫的語句是什麼?

drop database 資料庫名

6.mysql的基本查詢2

(1)在mysql中算術表示式中含有空值結果是什麼?

包含空值的算術表示式計算結果為空

(2)在mysql中如何為結果列起別名?

select 列名 as 列別名 from 表名

(3)在mysql中如何做結果集的連線處理?

mysql 中並不支援||作為連字元,需要使用 concat 函式。在引數數量上與 oracle 的 concat函式有區別。

select concat(employees_id,』#』,last_name,』#』,email,"#",salary,"#",commission_pct) from employees;

(4)在mysql中如何剔除重複資料?

select distinct dept_id from employees;

7.mysql的約束和排序資料

(1)在mysql中支援哪些比較運算子?

• 等於=

• 大於》

• 大於等於》=

• 小於<

• 小於等於<=

• 不等於!=或<>

(2)在mysql中如何實現模糊查詢?

select * from employees where last_name like 『_e%』

(3)在模糊查詢中佔位符用什麼符號表示?

下劃線 _

(4)在mysql中支援哪些邏輯運算子?

• and

• or

• not

(5)在mysql中如何做範圍查詢?

• between … and

• in 表示在乙個非連續的範圍內

(6)在mysql中如何判斷空值?

• 判斷空 is null

• 判斷非空 is not null

(7)在mysql中如何對結果集做排序處理?

• 用 order by 子句排序

• asc: 公升序排序,預設

• desc: 降序排序

8.mysql中常見單行函式1

(1)在mysql中處理字元大小的函式有哪些?

lower(str) 轉換大小寫混合的字串為小寫字串

upper(str) 轉換大小寫混合的字串為大寫字串。

(2)在mysql中常見的字元函式有哪些?

concat(str1,str2,…) 將 str1、str2 等字串連線起來

substr(str,pos,len) 從 str 的第 pos 位(範圍:1~str.length)開始,擷取長度為 len

的字串

length(str) 獲取 str 的長度

instr(str,substr) 獲取 substr 在 str 中的位置

lpad(str,len,padstr)/rpad(str,len,padstr)

trim(str) 從 str 中刪除開頭和結尾的空格(不會處理字串中間含有的空格)

ltrim(str) 從 str 中刪除左側開頭的空格

rtrim(str) 從 str 中刪除右側結尾的空格

replace(str,from_str,to_str) 將 str 中的 from_str 替換為 to_str(會替換掉所有符合from_str 的字串)

(3)在mysql中常見的數字函式有哪些?

round(arg1,arg2):四捨五入指定小數的值。

round(arg1):四捨五入保留整數。

trunc(arg1,arg2):截斷指定小數的值,不做四捨五入處理。

mod(arg1,arg2):取餘。

(4)在mysql中常見的日期函式有哪些?

sysdate() 或者 now() 返回當前系統時間,格式為 yyyy-mm-dd hh-mm-ss

curdate() 返回系統當前日期,不返回時間

curtime() 返回當前系統中的時間,不返回日期

dayofmonth(date) 計算日期 d 是本月的第幾天

dayofweek(date) 日期 d 今天是星期幾,1 星期日,2 星期一,以此類推

dayofyear(date) 返回指定年份的天數

dayname(date) 返回 date 日期是星期幾

last_day(date) 返回 date 日期當月的最後一天

9.mysql中常見單行函式2

(1)在mysql中常見的轉換函式有哪些?

date_format(date,format) 將日期轉換成字串(類似 oracle 中的 to_char())

str_to_date(str,format) 將字串轉換成日期(類似 oracle 中的 to_date())

(2)在mysql中常見的通用函式有哪些?

ifnull(expr1,expr2) 判斷 expr1 是否為 null,如果為 null,則用 expr2 來代替 null

(類似 oracle 的 nvl()函式)

nullif(expr1,expr2) 判斷 expr1 和 expr2 是否相等,如果相等則返回 null,如果不

相等則返回 expr1

if(expr1,expr2,expr3) 判斷 expr1 是否為真(是否不為 null),如果為真,則使用 expr2

替代 expr1;如果為假,則使用 expr3 替代 expr1(類似 oracle 的 nvl2()函式)

coalesce(value,…) 判斷 value 的值是否為 null,如果不為 null,則返回 value;如

果為 null,則判斷下乙個 value 是否為 null……直至出現不為 null 的 value 並返回或者返回最後乙個為 null 的 value case when then else end 條件函式

10.mysql的多表查詢

(1)在mysql中可以使用哪些方式對多表查詢?

1、等值連線

2、非等值連線

3、自連線

4、外連線(左外,右外,全外)

11.mysql的外連線查詢

(1)在mysql中支援幾種外連線查詢?

左外連線,右外連線,全外連線

(2)在mysql中如何將兩個結果集合並?

union,unionall

(3)結果集合並的語法結構是什麼?

select 投影列 from 表名 left outer join 表名 on 連線條件 union

select 投影列 from 表名 right outer join 表名 on 連線條件

mysql 函式事務 mysql 函式 事務

函式和儲存過程 函式 delimiter create function 函式名 形參1 型別1,形參2 型別2.returns 返回型別 注意是retruns begin set val 函式體 函式語句集,set val 定義變數 return val end delimiter select ...

mysql 事務引數 mysql 函式 事務

函式和儲存過程 函式 delimiter create function 函式名 形參1 型別1,形參2 型別2.returns 返回型別 注意是retruns begin set val 函式體 函式語句集,set val 定義變數 return val end delimiter select ...

MySQL基礎操作練習(七) 約束 事務

mysql基礎操作練習 七 約束 事務 一 約束 1 not null 非空 該字段的值是必填的,如果不設定該約束,該欄位預設是可以為空 2 default 預設 該字段有預設值 3 check 檢查,mysql語法支援,但效果不支援 該字段值可以加以限制,比如年齡可以控制在0 120之間 4 pr...