一、测试题

二、复习

说明:sql中的函数分为单行函数和分组函数

调用语法:select 函数名(实参列表);

1》字符函数

concat(str1,str2,..):拼接字符

substr(str,pos):截取从pos开始的所有字符, 起始索引从1开始

substr(str,pos,len):截取len个从pos开始的字符,起始索引从1开始

length(str):获取字节个数

char_length(str):获取字符个数

upper(str):变大写

lower(str):变小写

trim(【substr from】str):去前后指定字符,默认是去空格

left(str,len):从左边截取指定len个数的 字符

right(str,len):从右边截取指定len个数的 字符

lpad(str,substr,len):左填充

rpad(str,substr,len):右填充

strcmp(str1,str2):比较两个字符的大小

instr(str,substr):获取substr在str中第一次出现的索引

2》数学函数

ceil(x):向上取整

floor(x):向下取整

round(x,d):四舍五入

mod(x,y):取模/取余

truncate(x,d):截断,保留小数点后d位

abs(x):求绝对值

3》日期函数

now():获取当前日期——时间

curtime():只有时间

curdate():只有日期

date_format(date,格式):格式日期为字符

str_to_date(str,格式):将字符转换成日期

datediff(date1,date2):获取两个日期之间的天数差

year(date)

month(date)

...

4》流程控制函数

①if(条件,表达式1,表达式2):如果条件成立,返回表达式1,否则返回表达式2

②case 表达式

when 值1 then 结果1

when 值2 then 结果2

...

else 结果n

end

case

when 条件1 then 结果1

when 条件2 then 结果2

...

else 结果n

end

5、分组函数 ★

sum求和

avg平均

max最大

min最小

count个数

特点:

1》实参的字段的类型,sum和avg只支持数值型,其他三个可以支持任意类型

2》这五个函数都忽略null值

3》count可以支持以下参数

count(字段):查询该字段非空值 的个数

count(*) :查询结果集的行数

count(1):查询结果集的行数

4》分组函数可以和distinct搭配使用,实现去重的统计

select count(distinct 字段) from 表;

6、分组查询 ★

语法:

select 分组函数,分组的字段

from 表名

where 分组前的筛选条件

group by 分组列表

having 分组后的筛选条件

order by 排序列表;

特点:

1》分组列表可以是单个字段、多个字段

2》筛选条件分为两类

7、连接查询 ★

说明:当查询中涉及到了多个字段,则需要通过多表连接

笛卡尔乘积:

出现原因:没有有效的连接条件

解决办法:添加有效的连接条件

--------------------------SQL92语法------------------------

语法:

select 查询列表

from 表1 别名,表2 别名,...

where 连接条件

and 筛选条件

group by 分组列表⑤

having 分组后筛选⑥

order by 排序列表;⑦

执行顺序:

②③④⑤⑥①⑦

--------------------------SQL99语法------------------------

1》内连接

语法:

select 查询列表 ①

from 表1 别名②

【inner】 join 表2 别名 on 连接条件 ③

【inner】 join 表3 别名 on 连接条件

where 筛选条件 ④

group by 分组列表⑤

having 分组后的筛选⑥

order by 排序列表⑦

执行顺序:

②③④⑤⑥①⑦

三、外连接

99语法才有

full全连接

4、总结连接

5、

6、子查询

单行子查询

8、多行子查询

any是任意一个的意思

<any

<max(salary)

表子查询

10、分页查询

从0开始计数

联合查询

类型要相同

列数要相同,不可以不同

只有一一对应才有意义

DDL语句

数据定义语言

修改数据库就是表的修改

介绍常见的数据类型

总结

常见约束

一个表只能有一个主键

三个都选,则是三个有不同就可以

修改表

数据库MySQL四的更多相关文章

  1. 关系型数据库MySQL(四)_备份与还原

    数据库备份 备份命令:mysqldump 备份一个数据库 mysqldump -h localhost -u username -p password database_name > D:\fi ...

  2. 数据库操作事物的四大特性以及MySQL数据库的四种隔离级别

    1 .事物操作数据库的四大特性(ACID) 1.原子性 (Atomicity) 原子性:就是事物的所包含的所有操作,要么全部成功,要么全部失败回滚. 2.一致性 (Consistency) 一致性:简 ...

  3. 第二百八十四节,MySQL数据库-MySQL触发器

    MySQL数据库-MySQL触发器 对某个表进行[增/删/改]操作的前后如果希望触发某个特定的行为时,可以使用触发器,触发器用于定制用户对表的行进行[增/删/改]前后的行为. 1.创建触发器基本语法 ...

  4. 数据库Mysql学习笔记(一)

    Mysql 数据库是数据库初学者最佳的选择的,其语法简单,采用的非底层的SQL语言定义(DDL).操作(DML).控制(DCL)数据库. 入门知识:服务器.库.表. (1)安装Mysql服务器.配置文 ...

  5. 数据库MySQL多个数据库服务冲突

    一.目标名称 MySQL 二.目标版本 mysql-5.6.24-win32.1432006610.zip 三.环境信息 系统:windows 7 旗舰版 防火墙:关闭  —— 注意:如果防火墙不关闭 ...

  6. 数据库MySQL的基本操作

    1.MySQL数据库的安装: CentOS6上mysql服务端和客户端的安装和启动: #使用yum安装mysql数据库的服务端和客户端 yum install -y mysql mysql-serve ...

  7. 数据库 MYSQL操作(一)

    数据库  MYSQL操作总结(一) 本文主要介绍一下笔者在使用数据库操作的过程中的一些总结,主要的内容包括一下几个内容: 一.mysql 使用基础(主要包括数据库的安装.基本操作等内容) 二.mysq ...

  8. 第一章 初识数据库Mysql

    初识数据库Mysql(my)   在企业中 percona: 一.数据库基础知识 Mysql是一个开放源代码的数据库管理系统(DBMS),它是由Mysql AB公司开发.发布并支持的.Mysql是一个 ...

  9. 《数据库MySQL》

    <数据库MySQL> 一.题目要求 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入 ...

随机推荐

  1. BGV等 DeFi产品暴涨背后隐藏着什么?

    比特币突破两万七千美金,在此创造了历史.在比特币一路飙升的背后,到底是谁注入了"强心针".笔者认为今年以来推动BTC长期上涨的主要动力主要包括四个:经济形势恶化.央行大量放水(主要 ...

  2. Linux安装MySQL_全网最详细

    Linux安装MySQL 编辑于2021-02-19 本文中MySQL安装目录为/usr/local/mysql 上传MySQL安装包至/usr/local目录,执行命令解压 [root@JetXi ...

  3. UML类图介绍&类的六大关系

    UML类图介绍&类的六大关系 官方定义 UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的方式 UML 图形化的语言 基本介绍 UML图: ...

  4. SpringBoot 整合 Shiro 密码登录与邮件验证码登录(多 Realm 认证)

    导入依赖(pom.xml)  <!--整合Shiro安全框架--> <dependency> <groupId>org.apache.shiro</group ...

  5. WPF -- 自定义按钮

    本文介绍WPF一种自定义按钮的方法. 实现效果 使用图片做按钮背景: 自定义鼠标进入时效果: 自定义按压效果: 自定义禁用效果 实现效果如下图所示: 实现步骤 创建CustomButton.cs,继承 ...

  6. Qstring和String的区别

    QString qTest; std::string sTest = qTest.toStdString(); qTest = QString::fromStdString(sTest); //进入两 ...

  7. Kubernetes 实战 —— 01. Kubernetes 介绍

    简介 P2 Kubernetes 能自动调度.配置.监管和故障处理,使开发者可以自主部署应用,并且控制部署的频率,完全脱离运维团队的帮助. Kubernetes 同时能让运维团队监控整个系统,并且在硬 ...

  8. wxWidgets源码分析(1) - App启动过程

    目录 APP启动过程 wxApp入口定义 wxApp实例化准备 wxApp的实例化 wxApp运行 总结 APP启动过程 本文主要介绍wxWidgets应用程序的启动过程,从app.cpp入手. wx ...

  9. SQL学习笔记——创建数据库显示:文件激活错误,物理文件名不存在>>解决方案

    今天在创建数据库时,跟着老师一步一步的操作创建成功,但出于在厌恶冗长的数据库存储路径,于是,擅自更改了数据filename,让他保存在电脑桌面新建的文件夹,可是一执行就报错了. 老师源码: 1 cre ...

  10. weblogic之cve-2015-4852分析(重写)

    前言 有时间打算分析weblogic历史漏洞,但是又要面试啥的,没空.又刚好最近面试会问weblogic反序列化.具体啥时候分析weblogic反序列化,可能会在护网后,或者我开学了再分析.期间可能我 ...