mysql基础第一部分

查询表中的单个字段:
select last_name form employee;

查询表中多个字段
select last_name,salary,email from employee;

查询表中的所有字段:
select * from employee;

查询常量值:
select 100;
select ‘join’

查询表达式:
select 100%99

查询函数
select VERSION()

起别名
方式一:使用AS
select 100%99 as 结果
select lastname as 姓,firstname as 名 from employee

方式二:使用空格
select lastname 姓,firstname 名 from employee

去重:distinct
查询员工表中涉及到的所有的部门编号

select distinct department_id from employee;

加号的作用
在这里插入图片描述

查询员工名和姓连接成一个字段,并显示为姓名
select concat(firstname , lastname )AS 姓名 from employee;

显示表的结构:
DESC department;
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

如何处理null值:使用IFNULL函数,函数意思是如果为null值,就重新给它赋值,这里是赋值为0
select
IFNULL(commission_pct,0)AS 奖金率,commission_pct from employees;

进阶二

在这里插入图片描述
筛选条件分类:
一、按条件表达式筛选
条件运算符:> < = != >= <=

在这里插入图片描述
查询部门编号不等于90号的员工名和部门编号

select lastname,department_id from employees where department_id != 90

二、按逻辑表达式筛选
逻辑运算符:
&& || !
and or not (建议使用)
查询工资在10000到20000之间的员工名、工资以及奖金
select lastname,salary ,commission_pct from employees where salary >=10000 and salary <=20000

查询部门编号不是在90到110之间,或者工资高于15000的员工信息
select * from employees where department_id < 90 or department_id >110 or salary > 15000

三、模糊查询
like
between and
in
is null

like
① 一般和通配符搭配使用
% 任意多个字符,包含0个字符
_ 任意单个字符
查询员工名中包含字符A的员工信息
在这里插入图片描述
查询员工名中第二个字符为e,第五个字符为a的员工名和工资

select lastname,salary from employees where lastname like ‘e _ _a%’

between and: 包含临界值,两个临界值不要颠倒顺序

in :
含义:判断某字段的值是否属于in列表中的某一项
在这里插入图片描述
在这里插入图片描述

= != 均不能判断null值
使用 is null / is not null 判断

查询没有奖金的员工名和奖金率
select lastname,commission_pct from employees where commission_pct IS NULL;

在这里插入图片描述

一、数据库的好处?
1、可以持久化数据到本地
2、结构化查询

二、数据库的常见概念 ★
1、DB: 数据库,存储数据的容器
2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB
3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有主流的数据库软件通用的语言

三、数据库存储数据的特点:
1、数据存放在表中,然后表放在库中
2、一个库可以有多张表,每张表具有唯一的表明用来表示自己
3、表中有一个或多个列,列又称为“字段”,相当于Java当中的属性
4、表中的每一行数据,相当于Java中的“对象”

四、常见的数据库管理系统

MySQL、Oracle、SQLserver

MySQL的背景:

在这里插入图片描述

MySQL 的优点
1、开源、免费
2、性能高、移植性好
3、体积小,便于安装

MySQL的安装:
属于C/S架构的软件,一般来讲安装服务器
企业版
社区版:我们安装的是这个
版本:5.5 、5.6、 5.7、8.0(没有5.8)

MySQL服务的启动和停止:

方式一:
net start 服务名
net stop 服务名

方式二: 计算机–右击–管理-- 服务

MySQL服务的登录和退出:

登录MySQL:本机:括号里的内容可以省略,-p后面不能加空格
在这里插入图片描述

进阶三:排序查询

语法:
select 查询列表
from 表
【where 筛选条件】
order by 排序列表 【asc | desc】

特点:
1、asc代表的是升序,desc代表的是降序
如果不写,默认是升序

查询员工信息,要求工资从高到低排序
select * from employees order by salary desc;
select * from employees order by salary ASC;

查询部门编号 >= 90的员工信息,按入职时间的先后进行排序

select * from employees
where departmnt_id >=90
order by hiredate asc;

按年薪的高低显示员工的信息 和年薪【按表达式排序】

select ,salary12*(1+IFNULL(commission_pct,0) as 年薪 from employees order by salary12(1+IFNULL(commission_pct,0) desc

按年薪的高低显示员工的信息 和年薪【按别名排序】
select ,salary12*(1+IFNULL(commission_pct,0) as 年薪 from employees order by 年薪 desc

按姓名的长度显示员工的姓名和工资【按函数排序】

select LENGTH(lastname) 姓名长度 ,lastname,salary
from employees
order by LENGTH(lastname);

查询员工信息,要求先按工资升序,再按员工编号降序【按多个字段排序】

select * from employees
order by salary ASC,employee_id DESC;
在这里插入图片描述
排序的总结:
order by 字句中可以支持单个字段、多个字段、表达式、函数、别名

在这里插入图片描述
select lastname,department_id,salary12(1+IFNULL(commission_pct,0)) 年薪
from employees
order by 年薪 desc,lastname asc

在这里插入图片描述
select lastname,salary
from employees
where salary not bettween 8000 and 17000
order by salary desc;

在这里插入图片描述
select *,LENGTH(email) 字节数 from employee
WHERE eamil like ‘%e%’
order by 字节数 desc,department_id ASC;

进阶四:常见的函数

功能:类似于Java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名

调用: select 函数名()
分类:
1、单行函数
如:concat 、 length 、 ifnull 等
在这里插入图片描述
一、字符函数
length :获取参数值的字节个数
select LENGTH(‘王五aaa’)
在这里插入图片描述
在MySQL字符集里面使用utf-8,它的英文字母占一个字节,汉字就是占3个字节
在这里插入图片描述

concat 拼接字符串

select CONCAT(‘lastname’,’_’,‘firstname’) from employees
在这里插入图片描述

upper 、 lower
select upper(‘sjaosj’);
select lower(‘ASDSDF’);
示例:将姓大写,名小写,然后中间以‘_’ 拼接

select concat(upper(lastname), ‘_’ ,lower(firstname) ) from employees;

substr、substring
注意:索引从 1 开始
select substr(‘我是你的爸爸’,5) out_put;
在这里插入图片描述
select substr(‘我是你的爸爸’,1,3) out_put;
在这里插入图片描述
案例:姓名中首字符大写,其他字符小写然后用_拼接,显示出来

select concatupper(substr(lastname,1,1)),lower(substr(lastname,2)))from employees;

instr 返回子串第一次出现的索引,如果找不到返回 0
在这里插入图片描述

trim
在这里插入图片描述

lpad : 用指定的字符实现左填充指定长度

rpad : 用指定的字符实现右填充指定长度

replace
在这里插入图片描述

	2、分组函数
	做统计使用的

round 四舍五入
select round(1.45)

在这里插入图片描述

日期函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你在狗叫什么、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值