MySQL
1. 数据库
1.1 了解
database.
概念解释:
从字面理解, 存储各式各样(不同的数据类型)的数据。
为什么要学习数据库?
存储一些数据,存储一些文件夹里面的文件中。(基于磁盘存储)
存储磁盘文件肯定是ok。
优点:
查询简单 创建文件简单 永久存储(持久化存储)
缺点:
操作文件数据。(获得数据,将数据存储文件)-----> 读写 ----> IO
低 慢
后期与编程语言java整合: IO 字节流与字符流
"java编程"
对象
很多厂商站在程序员开发角度,方便操作数据,开发了很多相关的软件。提高数据可读性。以及维护数据存储。
这些软件就是"数据库"。
软件开发流程:
实现用户注册/新增----->js发起异步请求----->后端接口----->用户提交的数据 保存----> db
大数据的时代 数据很重要-----> 磁盘文件/缓存
1.2 分类
基于存储位置:
1.1 基于磁盘存储 mysql sqlserver oracle
优势: 持久化存储
弊端: IO 读写性能低
1.2 基于缓存存储
Redis: k:v
Mogodb
MySQL
优势: 快
缺点: 基于内存 不敢保证数据完全的持久化。
(持久化策略 RDB AOF)
基于关系:
1.1 关系型数据库
数据与数据 表与表(数据存储在数据库很多表) 列与列都有关系
1.2 非关系型数据库 NOSQL not only sql
没有表 只有数据 k:v
MySQL Redis ES
2. DBMS
database management system 数据库管理系统软件。
:操纵和管理数据库的大型软件
用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
一句话: 程序员使用dbms操作数据库数据。
安装DBMS,就等价于安装了 "服务器". 数据库存储在服务器。
MySQL就是一个DBMS软件,还是一个RDBMS软件(关系型数据库管理系统软件)。
我们今天就要学习安装使用MySQL,意味着就安装了MySQL的服务器。
使用客户端(用户操作 navicat java)操作服务器。
# 3. MySQL
是一个DBMS.
3.1 介绍
其体积小、速度快、总体拥有成本低,尤其是开放源码.
Oracle
下载这个软件,下载mysql这个服务器。
目前版本: 8.0.35
开发中常用:
5.7+
8.0+
社区版。
3.2 下载安装
下载路径: https://dev.mysql.com/downloads/file/?id=526408
安装在本机: ip
端口号: 3306
用户名: root
密码: 自定义的 root
安装成功之后:
C:\Program Files\MySQL\MySQL Server 8.0
C:\ProgramData\MySQL\MySQL Server 8.0
mysql服务器的核心配置文件:
my.ini
4. 基本指令
在mysql服务器开启的状态下,客户端 cmd 连接服务器。
语法要求: 大小写不敏感 语句之后; 关键字尽可能大写 数据/列名/数据库名/表名小写
在cmd程序里面,执行相关的命令。(需要配置MySQL的环境变量)
-- 1.连接服务器
mysql -u用户名 -hip -P端口号 -p
C:\Users\DELL>mysql -uroot -hlocalhost -P3306 -p
-- 默认连接本机 端口还是3306
C:\Users\DELL>mysql -uroot -hlocalhost -p
C:\Users\DELL>mysql -uroot -p
-- 就可以成功进入mysql的服务器
-- 服务器里面都有啥
-- 1. 很多database
-- 2. 一个database里面有很多table
-- 2.1 列/字段/属性
-- 2.2 行(数据)
-- 2.3 约束
-- 2.4 数据类型
-- 3. 存储过程
-- 4. 存储函数
-- 5. 触发器
-- 6. 所有
-- 7.视图
-- ....
mysql> SHOW DATABASES; -- 查看当前服务器中所有的数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
mysql> SELECT DATABASE(); -- 查询目前正在使用的数据库
+------------+
| DATABASE() |
+------------+
| NULL |
+------------+
mysql> USE mysql; -- 切换数据库 use 数据库名称;
Database changed
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| mysql |
+------------+
mysql> SHOW TABLES; -- 查看指定数据库里面所有的表
mysql> DESC user; -- 查看指定表的表结构
-- 查看指定表里面所有的记录(数据)
SELECT * FROM 表名;
SELECT 列名1,列名2...列名n FROM 表名;
*: 是一个通配符 代表所有的表里面所有的列。
mysql> SELECT host,user FROM user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+