Mysql和事务

SQL介绍

SQL分类

数据查询语言(DQL-Data Query Language)代表关键字:select
数据操纵语言(DML-Data Manipulation Language)代表关键字:insert,delete,update
数据定义语言(DDL-Data Definition Language)代表关键字:create ,drop,alter,
事务控制语言(TCL-Transactional Control Language)代表关键字:commit ,rollback;
数据控制语言(DCL-Data Control Language)代表关键字:grant,revoke.

数据库设计三范式

第一范式

数据库表中不能出现重复记录,每个字段是原子性的不能再分

第二范式

在第一范式基础上的,另外要求所有非主键字段完全依赖主键,不能产生部分依赖

第三范式

在第二范式基础上的,非主键字段不能传递依赖于主键字段

数据库设计尽量遵循三范式,但是还是根据实际情况进行取舍,有时可能会拿冗余换速度,最终用目的要满足客户
需求。

数据处理函数/单行处理函数

Lower 转换小写
upper 转换大写
substr 取子串(substr( 被截取的字符串, 起始下标, 截取的长度))
length 取长度
trim 去空格
str_to_date 将字符串转换成日期
date_format 格式化日期
format 设置千分位
round 四舍五入
rand() 生成随机数

select lower(ename) from emp;
select * from emp where job=upper('manager');
select * from emp where substr(ename, 1, 1)=upper('m');
select length(ename), ename from emp where length(ename)=5;
select * from emp where job=trim(upper('manager '));
select * from emp where HIREDATE=str_to_date('1981-02-20','%Y-%m-%d');
select empno, ename, date_format(hiredate, '%Y-%m-%d %H:%i:%s') as hiredate from emp;
select empno, ename, Format(sal, 2) from emp;
select round(123.56);
select rand();
select empno, ename, job, sal, case job when 'MANAGER' then sal*1.1 when 'SALESMAN' then sal*1.5 end as
newsal from emp;

分组函数/ 聚合函数/ 多行处理函数

count 取得记录数
sum 求和
avg 取平均
max 取最大的数
min 取最小的数
注意:分组函数自动忽略空值,不需要手动的加 where 条件排除空值;在这里插入图片描述

组合聚合函数

可以将这些聚合函数都放到 select 中一起使用

select count(*),sum(sal),avg(sal)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值