本文纲要JavaWeb概述什么是JavaWebWeb系统组成网页、JavaWeb程序、数据库JavaWeb课程路线与前后端分工数据库相关概念数据库与数据库管理系统常见关系型数据库产品SQL语言统一标准MySQL安装与配置解压安装、环境变量配置文件my.ini初始化与注册服务设置root密码与登录退出MySQL数据模型关系型数据库与二维表MySQL中的数据组织方式数据库→表→数据数据模型图解SQL简介 通用语法 分类SQL概念注释、大小写、分号结尾DDL、DML、DQL、DCL四分类JavaWeb 概述1 ) 什么是JavaWebWeb即World Wide Web万维网我们常说的 www.baidu.com、www.jd.com 就是典型的 Web 网站。通过浏览器可以访问的网站统称为 Web 网站。JavaWeb是指使用 Java 技术解决 Web 互联网领域的技术栈简单来说就是用 Java 语言来开发网站Web 应用程序。国内大量大型互联网公司百度、阿里、腾讯、京东、华为、滴滴、美团等均采用 Java 作为核心开发语言来构建自己的 Web 系统。Java 的跨平台、安全、高效、API 全面以及成熟的生态是其被大型公司青睐的重要原因。2 ) Web 系统组成一个Web互联网系统由三部分协作组成用户浏览器网页JavaWeb 程序逻辑处理数据库数据存储网页前端负责将数据以美观的方式展示给用户提升用户体验。网页使用 HTML、CSS、JavaScript 等技术构建。数据库负责存储和管理数据是整个系统的数据根基。常见的数据库有 MySQL、Oracle 等。JavaWeb 程序后台负责核心逻辑处理。从数据库取出数据经过业务处理后再交给网页展示。这也是 Java 程序员最主要的工作内容。JavaWeb 路线与前后端分工JavaWeb 开发中分工明确前端工程师负责网页开发HTML、CSS、JS、Vue、Element UI 等。后台工程师Java 程序员负责 JavaWeb 程序开发和数据库设计。对于 Java 后台工程师需要了解前端页面如何编写、前后端如何交互重点仍然是 JavaWeb 核心技术和数据库。技术路线大致为数据库MySQL → JDBC → MyBatis辅助工具 Maven前端基础HTML、CSS、JavaScript、Vue、Element UIJavaWeb 核心Servlet、JSP、Filter、Listener 等实现从数据库到页面的完整流程高级框架Spring、SpringMVC、SpringBoot 等对 JavaWeb 技术进行优化和迭代JavaWeb 是后台开发的基石学好之后的框架和项目就会游刃有余。数据库相关概念1 数据库与数据库管理系统名词解释英文及缩写数据库 (Database)存储数据的仓库数据按有组织的方式存放方便存取。Database简称 DB数据库管理系统 (Database Management System)管理数据库的大型软件。通过它可创建数据库、操作数据增删改查。DBMS如 MySQL、OracleSQL操作关系型数据库的编程语言。统一标准可操作所有关系型数据库。Structured Query Language关系在电脑上安装 DBMS 软件如 MySQL后即可通过该软件创建多个数据库Database并对其中的数据进行操作。注意通常说“MySQL 数据库”实际指的是 MySQL 数据库管理系统DBMS。出于习惯省略了“管理系统”四个字。2 常见关系型数据库产品下表列出市面上常见的关系型数据库管理系统排名产品特点是否收费1Oracle大型数据库甲骨文公司出品性能强大多用于金融、银行等传统行业。收费昂贵2MySQL开源免费的中小型数据库互联网公司使用极广后被 Oracle 收购。社区版免费企业版收费3SQL Server微软出品中大型数据库多配合 .NET 生态使用。收费4PostgreSQL完全开源免费的中小型数据库功能丰富。免费5DB2IBM 老牌大型数据库早年流行现已逐渐没落。收费6SQLite嵌入式微型数据库体积小几 MB常用于移动端或桌面软件。免费7MariaDBMySQL 原班人马创建的开源分支兼容 MySQL。免费JavaWeb 主要应用为 MySQL因为它在互联网行业应用最广泛。3 SQL 语言统一标准SQL 是操作所有关系型数据库的统一标准。学好 SQL 之后无论是 MySQL、Oracle 还是 PostgreSQL都可以轻松上手。不同数据库在实现 SQL 时会有一些方言特定数据库的特殊语法但大部分核心语法完全通用。MySQL 安装与配置1 ) 安装准备Windows 64位解压版MySQL 提供安装版和解压版这里以 MySQL 5.7.24 解压版 为例。解压到非中文无空格目录例如 D:\software\mysql-5.7.24后目录结构如下mysql-5.7.24 ├── bin # 可执行文件mysql.exe, mysqld.exe 等 ├── docs # 文档 ├── include # C/C 头文件 ├── lib # 库文件 ├── share # 字符集等信息 ├── COPYING # 版权信息 └── README # 开源协议说明2 ) 环境变量配置将 bin 目录加入系统环境变量 Path 中方便在任何位置执行 MySQL 命令。推荐做法新建系统变量MYSQL_HOME值为 MySQL 安装根目录然后在 Path 中添加%MYSQL_HOME%\bin。3 ) 配置文件 my.ini在 MySQL 根目录下新建文件 my.ini内容如下字符集与存储引擎配置[mysql] default-character-setutf8 [mysqld] character-set-serverutf8 default-storage-engineINNODB4 ) 初始化与注册 Windows 服务以管理员身份打开命令提示符依次执行# 1. 初始化MySQL生成 data 数据目录mysqld --initialize-insecure--usermysql# 2. 安装 Windows 服务服务名默认 MySQLmysqldinstall# 3. 启动服务net start mysql5 ) 设置 root 密码与登录退出默认 root 用户无密码建议立即设置# 设置 root 密码为 1234示例mysqladmin-uroot password1234登录 MySQL 服务器# 本地登录mysql-uroot-p# 输入密码 1234# 指定主机和端口登录可用于远程mysql-uroot-p1234-h127.0.0.1-P3306退出exit;# 或quit;MySQL 数据模型1 ) 关系型数据库与二维表关系型数据库是由多张可以相互连接的二维表组成的数据库。二维表与 Excel 表格类似有行记录和列字段。例如订单信息表与客户信息表订单信息表订单编号商品名称客户编号001挖掘机1002推土机2客户信息表客户编号姓名1李聪2张明通过“客户编号”可以关联两张表实现复杂查询。这就是关系型数据库的优势。2 ) MySQL 中的数据组织方式MySQL 服务器数据库 DB1文件夹数据库 DB2文件夹表1文件表2文件数据行1数据行2安装 MySQL 服务后电脑即成为 MySQL 服务器。服务器中可以创建多个数据库对应磁盘文件夹。每个数据库下可以创建多个表对应文件。每个表存储多条数据记录展示为二维表结构。执行以下 SQL 创建数据库后会在 MySQL 的data目录下出现同名文件夹CREATEDATABASEDB1;SQL 简介 通用语法 分类1 ) SQL 概念SQLStructured Query Language结构化查询语言是操作关系型数据库的编程语言是所有关系型数据库的统一标准。因为数据库操作中查询最为频繁所以命名为“结构化查询语言”。SQL 也允许各个数据库在标准基础上提供方言特定实现差异。2 ) 通用语法语句以分号结尾SQL 语句可以单行或多行书写只有遇到分号才认为语句结束然后执行。不区分大小写关键字建议大写但数据库名、表名、列名等通常小写提高可读性。注释单行注释-- 注释内容注意--后必须有空格或# 注释内容MySQL 特有多行注释/* 注释内容 */与 Java 相同示例# 查询所有数据库名称SHOWDATABASES;# 查询当前数据库版本SELECTVERSION();/* 下面这条语句用来创建数据库 数据库名为 db_demo */CREATEDATABASEdb_demo;SQL 分类根据操作对象的不同SQL 分为四大类SQLDDL数据定义语言DML数据操作语言DQL数据查询语言DCL数据控制语言权限、用户分类全称作用常用关键字DDLData Definition Language定义数据库和表结构创建、修改、删除CREATE、ALTER、DROP、SHOWDMLData Manipulation Language对表中的数据进行增、删、改INSERT、UPDATE、DELETEDQLData Query Language查询表中的数据SELECT、FROM、WHEREDCLData Control Language控制数据库的访问权限和用户管理GRANT、REVOKEJavaWeb 开发中最核心、最常用的是DML和DQL它们负责数据的增删改查是日常开发的重中之重。从下一篇文章开始我们将依次深入学习 DDL、DML、DQL 等各类 SQL 语句的具体语法并结合 Java 代码实现 JavaWeb 程序与数据库的交互。