MySQL事务,约束,函数

学习主题:MySQL
学习目标:
1 掌握mysql的更新删除
2 掌握mysql的事务处理和基本查询
3 掌握Mysql的约束和排序
4 掌握mysql常见的函数和多表查询

1.MySQL中的默认值处理
(1)在MySQL中如何定义默认值?
create table emp3(emp_id int primary key auto_increment,name varchar(20),address varchar(50) default’Unknown’);

2.MySQL中的更新操作
(1)在MySQL中更新表中数据的语句是什么?
mysql> create table emp3(emp_id int primary key auto_increment,name varchar(20),address varchar(50) default’Unknown’);
mysql> update emp3 e set e.address=(select t1.address from(select emp_id,address from emp3)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)删除emp3表中emp_id为1的雇员信息。
delete from emp3 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 连接条件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值