哈罗,各位小伙伴大家好,又见面了,我还是那个不吃饱不干活的小尘,欢迎来到本期的SQL语言阶段性复习部分,让我们一起进入知识的海洋吧~
一、数据库的相关概念 (1)数据库的好处1、可以持久化数据到本地
数据库实际上就是借助于数据库管理系统,将我们的数据最终存储到磁盘上的文件。
2、结构化查询
因为是采取一套管理系统去管理,所以可以实现结构化查询。
(2)数据库的相关概念1、DB
数据库。存储数据的容器(仓库)
2、DBMS
数据库管理系统。又称为数据库软件,或者数据库产品。用于创建或者管理DB。
3、SQL
结构化查询语言。与数据库通信的语言。不是某个数据库软件特有的,而是几乎所有的主流的数据库软件通用的语言。
(3)数据库存储数据的特点1、数据存放到表中,表再存放到库中。
2、一个库中可以有多张表。每张表具备唯一的表名用来标识自己。
3、表中有一个或者多个列。又把列称为字段,相当于java中说的“属性”。
4、表中的每一行数据,就相当于java中的“对象”。
(4)常见数据库管理系统mysql、oracle、db2、sqlserver
详情请见:
第一章、MySQL数据库概述_m0_55746113的博客-CSDN博客https://blog.csdn.net/m0_55746113/article/details/120539091?spm=1001.2014.3001.5501
二、mysql的介绍 (1)mysql的背景前身属于瑞典的一家公司MySQL AB
08年被SUM公司收购
09年被Oracle收购
(2)mysql的优点1、开源免费成本低
2、性能高、移植性好
3、体积小,便于安装
(3)mysql的安装属于C/S架构的软件,既有服务端也有客户端。
一般来讲,安装服务端。
1、路径非中文
2、企业版、社区版
3、现在咱们安的是 5.5
(4)mysql服务的启动和停止方式一、
通过命令行:net start 服务名
net stop 服务名
方式二、
计算机右击--->管理--->服务
(5)mysql服务的登录和退出登录:
mysql -h主机名 -P 端口号 -u 用户名 -p密码
如: mysql -h localhost -P 3306 -u root -p ******
若连接本机,且端口号3306,可这样写:
mysql -u 用户名 -p密码
退出:
exit 或者 ctrl+C
详情请见:
第二章、MySQL数据库的介绍(包括安装与删除)超详细!!!_m0_55746113的博客-CSDN博客https://blog.csdn.net/m0_55746113/article/details/120539393?spm=1001.2014.3001.5501以及:
第三章、 MySQL的使用_m0_55746113的博客-CSDN博客https://blog.csdn.net/m0_55746113/article/details/120584111?spm=1001.2014.3001.5501
三、DQL语言之基础查询 (1)语法SELECt 查询列表
FROM 对应表名;
(2)特点1、查询列表可以是字段、常量、表达式、函数,也可以是多段的组合。
2、查询结果是一个虚拟的表。
(3)示例 1、查询单个字段SELECt
字段名
FROM
表名;
2、查询多个字段SELECt
字段名,
字段名
FROM
表名;
3、查询所有字段SELECt
*
FROM
表名;
4、查询常量SELECt
常量值;
5、查询函数注意:字符型和日期型的常量值必须用单引号,数值型不需要。
SELECT
函数名(实参列表);
6、查询表达式注:不能把select去掉直接加函数名和实参列表!
MySQL函数的调用方法,必须要加上SELECT,而且MySQL里面的函数必须有返回值!
相当于执行了该函数的函数体,并同时查询出对应的返回值。
SELECT
100/12;
7、起别名注:支持算术运算( + - * / % ),但不支持++,--,*= 之类。
<1> as
提高可读性
<2>空格
比较简单
8、去重SELECT
DISTINCT 字段
FROM
表名;
9、加号注:字段不可以有几个!!!
这样是不对的:select distinct a,b from 表名;
这样也是不对的:select distinct a,distinct b from 表名;
作用:做加法运算
<1>select 数值+数值; ---> 直接运算
<2>select 字符+数值 ---> 先试图将字符转换成数值。若转换成功,则继续运算,否则转换成0再做运算。
<3>select null+数值 ---> 结果都为NULL
10、concat函数功能:拼接字符
select concat (字符1,字符2,字符3,……);
11、IFNULL函数注:若不是字符,比如数值型,会自动转换为字符型,再做拼接。
判断某字段或表达式是否为NULL,如果为NULL则返回指定的值,否则返回原本的值。
比如:
select IFNULL(commission_pct,0) from employees;
若commission)_pct的值为NULL,则返回0。
12、ISNULL函数判断某字段/表达式/函数是否为NULL,如果是,则返回1,否则返回0。
ISNULL函数里面只有一个参数,即有可能为NULL的字段。
如果值为NULL,就返回1(true);否则返回0(false)。
比如:
select ISNULL(commission_pct) from empoyees;
详情请见:
第五章、SQL 语言学习(基础篇)_m0_55746113的博客-CSDN博客https://blog.csdn.net/m0_55746113/article/details/120601271?spm=1001.2014.3001.5501
第五章、SQL语言学习(基础查询之别名、去重和加号的使用)细节篇!!!_m0_55746113的博客-CSDN博客https://blog.csdn.net/m0_55746113/article/details/120609146?spm=1001.2014.3001.5501
四、DQL语言之条件查询 (1)语法SELECt
查询列表
FROM
表名
WHERe
筛选条件
注:筛选条件的最终结果是true或者false。
如果条件成立,则会显示在结果集中。
如果条件不成立,则数据不显示,被过滤掉了。
执行顺序:
FROM 表名--->WHERe 筛选条件--->SELECt 查询列表
(2)分类 1、简单条件运算符> < = <> >= <= != <=>
2、逻辑运算符&& and
|| or
! not
3、模糊查询like :一般搭配通配符使用,用于判断字符型数值(也可判断数值型)
我们可以试一下是否可以判断数值型:
先看一下部门编号department_id的数据:
都是整型的,我现在想查询出部门编号是一百多的,咱们不用运算符。
怎么查呢?
SELECT * FROM employees WHERe department_id LIKE '1__';
执行结果:
说明可以判断数值型的。
通配符:
% :任意多个字符。
_ : 任意单个字符。
between and
in
is null / is not null:用于判断NULL值
| 普通类型数值 | null值 | 可读性 | |
| IS NULL | × | √ | √ |
| < = > | √ | √ | × |
详情:
第六章、SQL语言学习(条件查询) 超硬核!!!_m0_55746113的博客-CSDN博客https://blog.csdn.net/m0_55746113/article/details/120614516?spm=1001.2014.3001.5501
好啦,这次的阶段性回顾就到这儿了,咱们下次不见不散~
原创不易,请多多支持!



