今天主要学习mysql的基础初识
思维导图
java web的流程架构图
一.JAVAEE的用途
- JAVAWEB开发(主要从事的)
- 游戏后端开发
- 终端开发
- 云计算开发
- 大数据开发
二.JAVAWEB是个啥?
1.什么是WEB?
(1)WEB1.0时代:
一个web的内容支撑是由信息维护者或者管理者进行维护发表。
(2)WEB2.0时代:
一个web站点的内容是由管理者以及客户进行管理和维护
2.WEB的架构模式
(1)基于C/S架构的模式(客户端到服务器):
<1>优点:因为客户端是依赖于操作平台运行(操作系统),所以他可以充分通过平台去调用我们的cpu资源、内存资源、硬盘资源、GPU(显卡)资源,所以在性能上,C/S的架构是有非常明显的优势的,一般C/S的架构模式下,具备非常强大的图形渲染能力,比如游戏开发。
<2>缺点:
因为依赖依赖于操作平台,所以他大部分资源的依靠的是客户机进行运行,大部分处理能力需要存储在客户机,弊端就是一旦程序需要进行更新,无法从服务器完全更新,因为资源是存储在用户手里,无法直接更新用户手里的资源,必须要从服务器下载,才能更新。(C/S架构每一次更新都必须要手动操作且是显示操作)
(2)基于B/S架构的模式:(WEB架构模式 浏览器到服务)
<1>优点:因为B/S架构不依赖于平台,值依赖于浏览器,所有大部分的资源都是存储在服务器。程序的更新,只需要服务器修改代码替换资源即可,用户无需理会。
<2>缺点:在性能上,因为缺少了平台的依赖,所以根本无法的去调用我们的平台资源,不适合开发特别炫酷的,特别复杂的图形渲染产品。
三.JAVAEE的知识点:
- MYSQL数据库(中小型数据库 )
- Oracle数据库(中大型数据库 )
- Redis数据库(非关系型数据库 )
- JDBC(用于将JAVA代码和数据库进行连接)
- 前端(HTML/CSS/JS/JQ/BOOTS..)
- TOMCAT(将我们计算机的资源映射给其他用户访问)
- HTTP协议(用于将前端和后端以及浏览器三者进行沟通对话)
- Servlet(用于处理前端的请求和响应逻辑)
- JSP/JSTL/EL(静态页面动态化)
- 过滤器(将请求或者响应的内容进行过滤)
- 拦截器(将非法的请求或者响应进行拦截)
- AJAX/JSON(将一些需要传输的数据进行文本格式化)
- Linux(操作系统)
四.Mysql的安装卸载:
1.安装
<1>打开安装文档
<2>下一步 下一步 下一步
2.卸载
<1>控制面板
<2>程序
<3>卸载Mysql
<4>找到C:\Program Files\Mysql(手动删除)
<5>回到C盘,选择查看->勾选隐藏项目
<6>找到C:\ProgramData\Mysql(MysqlData)(手动删除)
五.数据库
1.什么是数据库(DB)?
数据库其实就是存储数据是的一个仓库,其实数据库本身也是一个文件系统,数据会依据指定的格式进行存储起来,然后在根据指定的语法对这个数据仓库的内容进行增删改查。
2.数据库管理系统(DBMS)
数据库管理系统是一种可以操作和管理数据的程序,可以在图形化界面上新建库、表和维护数据,可以对数据库进行一定的管理和控制,原则上,数据库管理系统只是方便了我们去管理数据,其两种互不影响。
3.数据库的数据
(1)数据的创建流程
<1>先进入到数据库
<2>创建数据库
<3>创建表
<4>往表中写入数据
(2)表数据
数据库中的数据全部是以表为中心进行存储,表中有行和列;行,我们称之为行记录,列,我们称之为表字段。
(3)Mysql的数据类型



⁃

(4)其实在关系型数据库的当中表其实和我们Java类是有对应关系。
JAVA类 --> 表
JAVA成员属性 --> 表字段
JAVA对象 --> 表记录
4.常见数据库
(1)Mysql:免费开源的数据库,一般适用于小型结构的产品,一般中型结构的产品也能够支持,现在已经被Oracle公司。但是被收购之后Mysql6.xxx开始收费
(2)SQLServer:是微软推出的一个收费数据库,一般只配合微软的开发语言使用(.net/C#),除此之外 其他编程语言几乎不会使用它。
(3)Oracle:目前世界上性能最好的大型数据库。不免费 而且不便宜,sun开发,后面被Oracle收购。
(4)DB2:IBM推出的一款数据库,一般购买了IBM的服务器或者使用的IBM的软件则配套使用,一般银行当中可能用的多。
5.SQL的介绍
(1)我们之前写过java代码,也可以对数据进行增删改查,但是我们的JAVA代码并不能和mysql进行交互使用,因为两者的语法和结构完全不同,但是数据库一般都提供了一个类似代码的语法进行数据的操作,这个语法我们将它称之为SQL;
(2)SQL也被称之为结构化查询语言,是所有关系型数据库都需要支持的查询语言,SQL其实就相当于我们的普通话,只要你学习了任意一款关系型数据库,那么学习其他的数据库成本很低,但是需要注意的数据库厂商自己提供的方言,
(3)SQL:标准的普通话
(4)方言:数据厂商自己特有的语法(占比率非常低)
6.SQL语句的分类
(1)数据定义语言(DDL):是用于定义数据库当中的对象(数据库的库、表、列)[关键字:create(创建)、alter(修改)、drop(删除)、show(查询)]
(2)数据操作语言(DML):是用于对数据库的数据进行操作,(增加、删除、修改数据)[关键字:insert(插入)、update(修改)、(delete删除)]
(3)数据查询语言(DQL):是用于对象数据库当中的数据进行查询操作[select,from,where]
(4)数据库控制语言(DCL):是用于对数据库进行访问权限的控制,以及安全级别的控制,以及用户的创建。
7.SQL的通用语法
(1)SQL语句可以单行编写也可以多行编写,只是识别分号结束。
(2)一般我们写SQL请使用空格进行关键字的分割,提高可读性
(3)SQL语句一般不区分大小写,但是到了企业当中,所有的关键字全部大小,非关键字全部小写,非关键字的命名一般使用反单引号包裹select,避免关键字冲突
(4)SQL的注释采用-- 注释一行,或者#注释一行(MYSQL特有),/**/注释多行
六.DDL语句
[关键字:create(创建)、alter(修改)、drop(删除)、show(查询)]
1.DDL操作数据库
(1)创建数据库:
<1>先登录数据库 mysql -u root -p 密码
<2>创建数据库
create database 数据库名;
create database mydb1;
<3>创建指定字符集的数据库
create database 数据库名 character set 字符集编码;
create database mydb2 character set gbk;
<4>创建一个数据库,判断是否存在,不存在则创建
create database if not exists 数据库名;
create database if not exists mydb3;
<5>创建一个数据库,判断是否存在,不存在则创建并且指定字符集编码
create database if not exists 数据库名 character set 编码;
create database if not exists mydb3 character set gbk;
(2)查看数据库
<1>查询所有的数据库名称 show databases;
<2>查询指定数据库的字符集,并且显示创建语句
show create database 数据库名;
show create database db2
(3)修改数据库
<1>修改指定数据库的字符集编码
show create database 数据库名;
show create database mydb3;
(4)删除数据库
<1>删除指定数据库
drop database 库名;
drop database mydb3;
<2>删除指定数据库,如果库不存在则不删除
drop database if exists 库名;
drop database if exists mydb3;
2.DDL操作数据表
(1)Mysql的数据类型
(2)进入选择指定数据库
use 数据库名;
use mydb1;
(3)创建表
create table 表名(
字段名1 字段类型,
字段名2 字段类型,
字段名3 字段类型
)
create table student(
id int,
name varchar(20),
age int, score double(5,2)
);
(4)复制表(蠕虫复制)
create table 新表名 like 需要复制的表名;
create table student01 like student;
(5)查询表
查询指定库存在哪些表
show tables;
查询指定表的表结构
desc 表名;
desc student;
查询指定表的创建语法
show create table student;
(6)修改表
<1>给表增加字段【add column】
alter table 表名 add column 字段名 字段类型;
alter table student add column sex varchar(2);
<2>给表增加多个字段
alter table 表名 add column 字段名 字段类型,字段名 字段类型;
alter table student add column sex varchar(2),add column tid int;
<3>修改表字段的数据类型【modify column】
alter table student modify column sex char(2);
<4>修改表字段的字段名(可以同时修改字段类型)【change column】
alter table student change column sex sex1 char(2);
<5>删除一个字段【drop column】
alter table student drop column sex;
修改表名[ rename to ]
alter table 表名 rename to 新表名
alter table student rename to stu;
<6>删除表
drop table 表名;
<7>修改表名
remane table旧表名 to 新表名;