mysql篇Day1
- 1、了解学习知识点(内容)
- 2、为什么学习数据库?
- 3、学习数据库名词
- 4、MySQL介绍
- 5、数据库的安装
- 6、MySQL常见命令
- 7、数据中如何添加初始信息(导入初始化信息)
- 8、初始化表的介绍
- 9、SQL语言的分类:
- 10、基本查询语言:Query:
- 11、别名的设置
- 12、去重:distinct
- 13、 + 号作用
- 14、条件查询
- 上午总结:
- 下午总结:
- 1.ifnull(value1,value2)的使用:
- 2.两个不相关的表求并集
- 3.date型转换成字符串型
- 4.SUBSTR(str,pos,len)在oracle和mysql中的区别
- 5.date型可以与字符串比较
20201221
自我介绍: 马老师
主要课程:mysql、javase、ssm框架
上课流程:知识点回顾、作业的讲解、知识点讲解
知识点回顾:
作业讲解:
知识点讲解:
1、了解学习知识点(内容)
(1) Javaweb
① Jsp+servlet
(2) Java(基础)
(3) Mysql数据库
(4) Sqlserver
(5) Oracle
(6) Html、css、js
(7) 数据结构
(8) Ssm
(9) 分布式:springcloud
(10) 扩展框架
(11) 等
2、为什么学习数据库?
(1) 主要进行数据的存储
(2) 存储形式?=》javase
① 变量
② 数组
③ 集合
④ 文件存储:持久化存储
④.1.没有规律存储,不适于查找
⑤数据库
⑤.1.有规律、有格式的存储
⑤.2.适用于 数据的查找
(3) 数据库种类
① 关系型数据库
①.1.Mysql、oracle 等
② 非关系型数据库
②.1.Redis 、hbase 等
(4) 如何选择数据库学习?
① Mysql 开源、免费的
② Oracle 收费 ,学习推荐:Oracle XE 版本(麻雀虽小五脏俱全)11g版本太大
3、学习数据库名词
(1) DB:数据库
① 存储数据的仓库。主要用来保存数据
(2) DBMS:数据库管理系统
① 数据库是通过DBMS创建和操作的容器
(3) SQL
① 结构话的查询语言,主要用于与数据库的通信
(4) 图解:
4、MySQL介绍
5、数据库的安装
mysql安装教程mysql的卸载 (1) 数据库:C/S(客户端/服务器端)
① Mysql、oracle、sqlServer
(2) 基于文件系统:Access(和sqlServer一样属于微软的)
(3) 数据库的安装与卸载
① 5.5.28版本:windows:64位
② 数据库客户端:navicat、sqlyong
(4) Mysql的安装:
① 参考安装的文档
② 需要注意:mysql的配置文件:
③ 查看my.ini配置文件
③.1. 字符集的修改=》utf8(不可改成utf-8,启动会出现参数错误)
(5) Mysql启动与关闭
① 第一种:我的电脑=》管理=》服务=》mysql
② 第二种:使用命令的形式(需要使用管理员命令窗口)
②.1. net stop mysql
②.2. net start mysql
③ 如果mysql服务长期不使用,则可以在右击mysql服务,选择禁用即可。
(6) mysql服务登录与退出
① 登录:第一种:命令形式
①.1. mysql 【-h主机名称 -P端口号】 -u用户名 -p密码
② 登录:第二种:客户端工具:(navicat、SQLyong)
③ 退出:exit 或者 ctrl+c 或者 quit
(7) 登录数据库之后的默认数据库信息
①
(8) Mysql 环境变量的配置
① Path 配置 mysql 安装目录下的bin目录
6、MySQL常见命令
(1) 数据库管理系统的连接
(2) 查看当前所有的数据库
① show databases;
(3) 打开数据库(切换数据库)
① use 数据库名称;
(4) 查看数据库所有的表
① 查看当前数据库中所有的表
①.1.show tables;
② 如何查看指定数据库中的表
②.1. show tables from 数据库名称;
(5) 查看表结构:
① desc 表名;
(6) 创建表(后期讲解)
create table student(
id int primary key auto_increment,
name varchar(10) not null
);
(7) 查看当前数据库的版本
① mysql --version
①.1. 不用登录数据库
② select version();
②.1. Sql语句,必须登录数据库
(8) Mysql 的语法规范
① 不区分大小写(建议:关键字大写,表名与列名小写)
② 每条sql语句,最后用分号结尾
③ Sql语句的格式
④ 注解:(一般使用在客户端工具中)
④.1. 单行注解: # 或者 –
④.2. 多行注解:/* */
(9)
7、数据中如何添加初始信息(导入初始化信息)
(1) 前提:准备 sql文件
(2) 将sql文件导入到test数据库中
① 登录数据库管理系统
② 打开指定的数据库(test)
③ 将sql文件导入到test数据库中
③.1. source 文件的绝对路径
③.2. 例如:source D:\mysql.sql
(3) 查看数据库中是否有对应的表?
8、初始化表的介绍
(1) Dept :部门表
(2) Emp:员工表
(3) Salgrade:薪水等级表
9、SQL语言的分类:
(1) DQL: Data Query Language
① 数据查询: select 语句
(2) DML:Data Manipulation Language
① 数据的操作语言:insert、delete、update,对表中的数据进行操作
(3) DDL:Data Definition Language
① 数据定义语言:create、drop、alter ,对表结构的操作
(4) DCL:Data Control Language
① 数据的控制语言:grant、revoke
(5) TCL: Transaction Control Language
① 事务控制语言:commit、rollback
10、基本查询语言:Query:
(1) 查询语法的结构:
select 查询列表 from 表名
特点:
1、查询列表可以是表中的字段、常量值、表达式、函数
2、查询的结果是一个虚拟的表格
(2) 具体的操作
11、别名的设置
(1) 解读
别名的设置
1、便于理解
2、如果查询的字段有重名的情况下,使用别名可以进行区分
使用 别名的格式: as 或者 空格
注意:别名,使用 双引号 进行括起来
(2) 案例:
12、去重:distinct
(1) 去除重复的内容
(2) 案例:
13、 + 号作用
(1) 回忆:java中 + 号的作用
(2) Mysql中 + 号作用:运算符
(3) 案例:
SELECT '100a' + '200w' as "结果";
结果为300.
SELECT 'null' + '300' as "结果";
结果为300.
上图中结果分别为:
199、223、100、0
14、条件查询
(1) 语法公式
Select
查询列表
From
表名
Where
筛选条件
(2) 分类:
① 按条件表达式进行筛选
①.1. 简单的条件运算符:
a. > 、<、 =、 != 、<>、>=、<=
② 按逻辑表达式进行筛选
②.1. 逻辑运算符:
a. 主要使用到连接表达式的
a.a. && || !
a.b. and or not (推荐使用)
③ 模糊查询
③.1. like
③.2. between and [ )
③.3. in
③.4. is null
④
(3) 案例:
15、
上午总结:
用命令行打开或关闭mysql服务时,要注意 net start mysql中mysql(服务名)可以在安装的时候自定义,开启或关闭的时候要写对服务名,默认是mysql,如果命令中服务名与服务中的服务名名称不一致,命令行会出现该命令不可用,或不是系统处理命令等情况。
下午总结:
1.ifnull(value1,value2)的使用:
如果value1为空,则用value2代替该值。
select ename "员工姓名",sal*6+sal*(1+0.2)*6 "工资收入",comm*12 "奖金收入",sal*6+sal*(1+0.2)*6+ifnull(comm*12,0) "总收入" from emp;
2.两个不相关的表求并集
select ename 姓名, sal*6+sal*1.2*6 工资收入,comm*12 奖金收入,(sal*6+sal*1.2*6) 总收入 from emp where comm is null
union all
select ename 姓名, sal*6+sal*1.2*6 工资收入,comm*12 奖金收入,(sal*6+sal*1.2*6) +comm*12 总收入 from emp where comm is not null;
3.date型转换成字符串型
SELECT ename,hiredate
FROM emp
WHERE date_format(hiredate, '%Y%m%d')<'1985-12-31';
SELECT ename,hiredate
FROM emp
WHERE date_format(hiredate, '%Y') BETWEEN 1982 AND 1985;
4.SUBSTR(str,pos,len)在oracle和mysql中的区别
首先SUBSTR(str,pos,len)是截取字符串str第pos位到第len位(包括pos和len),
在oracle中SUBSTR(str,0,2) = SUBSTR(str,1,2),也就是说0当1处理,而mysql中不可以。
-- 查询入职日期在81年,的员工姓名、入职日期、职位。
SELECT *
FROM emp
WHERE SUBSTR(DATE_FORMAT(hiredate,"%Y"),3,4)='81';
SELECT *
FROM emp
WHERE SUBSTR(DATE_FORMAT(hiredate,"%Y"),1,2)='19';
5.date型可以与字符串比较
-- 查询1985年12月31日之前入职的员工姓名及入职日期。
SELECT ename,hiredate
FROM emp
WHERE hiredate<'1985-12-31';