千锋逆战班学习日志


千锋逆战班学习第38天
努力或许没有收获,但不努力一定没收获,加油。
今天我学习了MySQL和SQL语句。
中国加油!!!武汉加油!!!千锋加油!!!我自己加油!!!

MySQL

一、引言

  1. 现有的数据存储方式有哪些?
  • Java中存储数据(变量、对象、数组、集合),数据都是保存在内存中,属于瞬时状态数据
  • 文件(File)存储数据,保存在硬盘上,属于持久化状态存储
  1. 以上存储方式存在哪些缺点?
  • 程序停止,数据就没了。
  • 文件存储的数据:没有数据类型的区分
  • 没有访问安全限制
  • 没有备份、恢复机制。

二、 数据库

  1. 概念
    数据库是 “按照数据结构来组织、存储、管理数据的仓库”。是一个可以长期存储在计算机内的、有组织的、有共享的、可以统一管理的数据集合

  2. 数据库的分类

  • 网状结构数据库:以节点形式存储数据和访问数据
  • 层次结构数据库:IBM[IMS]。定向有序的树状结构实现存储和访问。
  • 关系结构数据库:Oracle、MySQL、DB2、SQL Server,以表格(Table)形式存储,多表之间建立关联关系,通过分类、合并、连接、选取等方式实现访问。
  • 非关系型数据库:MongDB、Redis,使用哈希表,表中以键值(key-value)的方式实现特定的键和一个指针指向的特定数据
  • ElastecSearch

三、数据库管理系统

  1. 概念
    数据库管理系统:指的是一种操作和管理数据库的大型软件,用于建立、使用、维护数据库,对数据库进行统一的管理和控制,保证数据库的安全性和完整性。
    用户通过数据库管理系统访问数据库中的数据

  2. 常见的数据库管理系统

  • Oracle:可以运行在UNIX、Windows等主流操作系统,支持所有的工业标准,并获得了最高级别的ISO标准安全性认证。
  • DB2:IBM公司的,满足中大公司的需要
  • SQL Server:微软退出的。
  • SQLLite:手机端的数据库
  • Mysql:免费、适合中小型企业

四、MySQL

  1. 简介
    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发的。属于Oracle旗下的产品。
    MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,是最好的应用软件之一。
  2. 访问与下载
    官网:https://www.mysql.com
    下载地址:https//dev.mysql.com/downloads/mysql/
  3. 配置环境变量
  • Windows:
    • 创建MYSQL_HOME:C:\Program Files\MySQL\MySQL Server 5.7
    • 追加Path:%MYSQL_HOME%\bin;
  1. MySQL的目录结构
    核心文件介绍
文件夹名称内容
bin命令相关文件
include库文件
lib头文件
Share字符集、语言等信息

4.5 MySQL配置文件

在MySQL安装目录中找到my.ini的文件,MySQL的一些配置参数

参数描述
default-character-set客户端默认字符集
character-set-server服务端默认字符集
port客户端和服务端的端口号
default-storage-engineMySQL的默认存储引擎INNODB

五、 SQL

  1. 概念
    SQL:结构化查询语言,用于存取数据、更新、查询和管理关系数据库系统的程序设计语言。
  • 经验:通常执行对数据库的"增、删、改 、查",简称C(Create)、R(Read)、U(Update)、D(Delete)
  1. MySQL应用
    对于数据库的操作,需要在连接MySQL的环境下进行指令输入,并在一行指令的末尾使用 ; 结束
  2. 基本命令
    查看MySQL中所有数据库

#连接到MySQL
mysql> SHOW DATABASES; #显示当前MySQL中所有的数据库

创建自定义数据库 CREATE DATABASE

mysql>CREATE DATABASE nz2002; #创建了名称为nz2002的数据库
mysql>CREATE DATABASE NZ2002 CHARACTER SET gbk;#创建数据库并设置其默认字符集为GBK
mysql>CREATE DATABASE NZ2002 CHARACTER SET GBK COLLATE gbk_chinese_ci;#支持简体中文和繁体中文
mysql>CREATE DATABASE IF NOT EXISTS NZ2002;#如果NZ2002不存在,则创建,反之,不创建

删除数据库 DROP DATABASE

mysql>DROP DATABASE NZ2002;#删除数据库

查看数据库创建信息 SHOW CREATE DATABASE

mysql>SHOW CREATE DATABASE NZ2002;# 查看创建数据库时的基本信息

修改数据库 ALTER DATABASE

mysql>ALTER DATABASE NZ2002 CHARACTER SET UTF8;#修改数据库nz2002的字符集为utf-8

使用数据库 USE

mysql>USE NZ2002;#当前环境下,操作NZ2002数据库

查看当前使用的数据库 SELECT DATABASE();

mysql>SELECT DATABASE();#查看当前使用的数据库

六、客户端工具

  1. Navicat
    是一套快速、可靠并且价格便宜的数据库管理工具,专为简化数据库管理及降低系统管理成本而设。
  2. SQLyog
    也拥有图形化界面。拥有广泛的预定义工具和查询、友好的视觉界面。类似Excel的查询结果编辑界面
  3. DataGrip(Idea开发工具集成)
    捷克公司的产品。需要付费。如果买了idea,DataGrip通用

七、 执行SQL脚本

创建一个companyDB的数据库,然后在对象浏览器区,右键->执行SQL脚本->找到文件,打开->点击执行

八、 数据查询【重点】

  1. 数据表的基本结构

关系结构数据库是以表格(Table)进行数据存储,表格由行和列组成

  • 经验:执行查询语句返回的结果集是一张虚拟表
  1. 基本查询

语法:SELECT 列名 FROM 表名

关键字描述
SELECT指定要查询的列
FROM指定要查询的表
  1. 查询所有列

#查询t_employees表中所有员工的所有信息
SELECT * FROM t_employees;
SELECT 所有的列名 FROM t_employe

es;

  • 经验:生产环境下,优先使用列名查询。*的方式虽然看起来便捷,但实际上需要转换成全列名,效率低,可读性差
  1. 查询部分列

#查询表中的所有员工的编号、姓氏、邮箱
SELECT EMPLOYEE_ID,FIRST_NAME,Email FROM t_employees;
#查询表中所有员工的编号、部门编号
SELECT EMPLOYEE_ID,DEPARTMENT_ID FROM t_employees;

  1. 对列中的数据进行运算

#查询员工表中所有员工的编号、姓名、年薪
SELECT EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SALARY * 13 FROM t_employees;

算术运算符描述
+列与列之间做加法运算
-列与列之间做减法运算
*列与列之间做乘法运算
/列与列之间做除法运算
  • 注意: % 在数据库中,代表的是占位符,而并非取余运算符
  1. 列的别名

列 AS ‘列名’

#查询员工表中所有员工的编号、姓名、日薪(列的运算 / 22),列名均为中文
SELECT EMPLOYEE_ID AS ‘编号’,FIRST_NAME AS ‘姓’,LAST_NAME AS ‘名’,SALARY / 22 AS’日薪’ FROM t_employees;
#起别名,没有对原表的列名发生影响

  1. 查询结果去重

distinct 列名

#查询员工表中,所有经理的ID编号
SELECT DISTINCT MANAGER_ID AS ‘经理编号’ FROM t_employees;
#查询员工表中,所有的工资 (去掉重复的)
SELECT DISTINCT SALARY FROM t_employees;

  1. 排序查询

语法: SELECT 列名 FROM 表名 ORDER BY 排序列名 [排序规则]

排序规则描述
ASC做升序排序
DESC做降序排序
  1. 依据单列进行排序

#查询员工的编号,名字,薪资,按照工资进行升序排序
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees ORDER BY salary ASC;
#查询员工的编号,名字,薪资,按照姓名进行升序排序
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees ORDER BY FIRST_NAME ASC;
#查询员工的编号,名字,薪资,按照工资进行降序排序
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees ORDER BY salary DESC;

  • 经验:当进行升序排序时,排序规则可以不显示声明。默认为升序排序规则
  1. 依据多列进行排序

#查询员工编号,名字,薪资,按照工资进行升序排序,如果工资相等,按照编号降序排序
SELECT EMPLOYEE_ID,FIRST_NAME,SALARY FROM t_employees
ORDER BY SALARY ASC,EMPLOYEE_ID DESC
#查询员工编号,名字,薪资,按照工资进行升序排序,如果工资相等,按照姓名降序排序
SELECT EMPLOYEE_ID,FIRST_NAME,SALARY FROM t_employees
ORDER BY SALARY ASC,FIRST_NAME DESC

  1. 条件查询

语法: SELECT 列名 FROM 表名 WHERE 条件

关键字 描述
WHERE 在查询结果中,筛选符合条件的查询结果。条件为布尔表达式

  1. 等值判断(=)

#查询工资为2500的员工信息
SELECT EMPLOYEE_ID,FIRST_NAME,SALARY FROM t_employees WHERE salary = 2500;
#查询姓为Steven的
SELECT EMPLOYEE_ID,FIRST_NAME,SALARY FROM t_employees WHERE FIRST_NAME=‘Steven’;

  • 注意:与Java不同(==),MySQL中等值判断用 =
  1. 不等值判断(>、<、>=、<=、!=、<>)

#查询员工工资大于6000的员工的信息
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees
WHERE salary>=6000;
#查询员工工资不等于2500的员工信息
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees
WHERE salary<>2500;(!=同理)

  1. 逻辑判断(and、or、not)

#查询员工工资在6000~10000的员工信息
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees
WHERE salary>=6000 AND salary<=10000;
#查询工资是10000的或者是9000的员工信息
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees
WHERE salary =10000 OR salary = 9000;
#查询除了工资是10000的员工信息
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees
WHERE NOT salary =10000;

  1. 区间判断(between and)

#区间判断 包含区间边界的两个值
SELECT EMPLOYEE_ID,FIRST_NAME,salary FROM t_employees
WHERE salary BETWEEN 6000 AND 10000;

  • 注意:between and要遵循 between 小值 and 大值;
  1. NULL值判断(IS NULL、IS NOT NULL)
  • IS NULL
    • 列名 IS NULL
  • IS NOT NULL
    • 列名 IS NOT NULL

#查询出 没有经理编号的员工 IS NULL
SELECT EMPLOYEE_ID,FIRST_NAME,MANAGER_ID FROM t_employees
WHERE MANAGER_ID IS NULL;

#查询出 没有经理编号以外的员工信息
SELECT EMPLOYEE_ID,FIRST_NAME,MANAGER_ID FROM t_employees
WHERE MANAGER_ID IS NOT NULL;

#查询出 没有经理编号以外的员工信息(此处NOT为取反。两个结果)
SELECT EMPLOYEE_ID,FIRST_NAME,MANAGER_ID FROM t_employees
WHERE NOT MANAGER_ID IS NULL;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水资源是人类社会的宝贵财富,在生活、工农业生产中是不可缺少的。随着世界人口的增长及工农业生产的发展,需水量也在日益增长,水已经变得比以往任何时候都要珍贵。但是,由于人类的生产和生活,导致水体的污染,水质恶化,使有限的水资源更加紧张。长期以来,油类物质(石油类物质和动植物油)一直是水和土壤中的重要污染源。它不仅对人的身体健康带来极大危害,而且使水质恶化,严重破坏水体生态平衡。因此各国都加强了油类物质对水体和土壤的污染的治理。对于水中油含量的检测,我国处于落后阶段,与国际先进水平存在差距,所以难以满足当今技术水平的要求。为了取得具有代表性的正确数据,使分析数据具有与现代测试技术水平相应的准确性和先进性,不断提高分析成果的可比性和应用效果,检测的方法和仪器是非常重要的。只有保证了这两方面才能保证快速和准确地测量出水中油类污染物含量,以达到保护和治理水污染的目的。开展水中油污染检测方法、技术和检测设备的研究,是提高水污染检测的一条重要措施。通过本课题的研究,探索出一套适合我国国情的水质污染现场检测技术和检测设备,具有广泛的应用前景和科学研究价值。 本课题针对我国水体的油污染,探索一套检测油污染的可行方案和方法,利用非分散红外光度法技术,开发研制具有自主知识产权的适合国情的适于野外便携式的测油仪。利用此仪器,可以检测出被测水样中亚甲基、甲基物质和动植物油脂的污染物含量,为我国众多的环境检测站点监测水体的油污染状况提供依据。
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值