day38_MySQL

今日内容

0 复习昨日
1 引言
2 数据库
3 数据库管理系统
4 MySQL
5 SQL语言

0 复习昨日

1 引言

1.1 现有的数据存储方式有哪些?

  • Java程序存储数据(变量、对象、数组、集合),数据保存在内存中,属于瞬时状态存储。
  • 文件(File)存储数据,保存在硬盘上,属于持久状态存储。

1.2 以上存储方式存在哪些缺点?

  • 没有数据类型的区分。
  • 存储数据量级较小。
  • 没有访问安全限制。
  • 没有备份、恢复机制。

2 数据库

2.1 概念

数据库是按照数据结构来组织、存储和管理数据的仓库。 是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。


自己理解: 数据库就是存储数据的一个仓库

2.2 数据库的分类

  • 关系结构数据库:Oracle、DB2、MySQL、SQL Server,以表格(Table)存储,多表间建立关联关系,通过分类、合并、 连接、选取等运算实现访问。
  • 非关系型数据库:ElastecSearch、MongoDB、Redis、HBase等,多数使 用哈希表,表中以键值(key-value)的方式实现特定的键和 一个指针指向的特定数据

数据库的分类,关系型和非关系型数据库,后期面试常问!

3 数据库管理系统

3.1 概念

数据库管理系统(DataBase Management System, DBMS):指一种操作和管理数据库的大型软件,用于建立、使 用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。


DBMS,一种操作和管理数据的一个软件

3.2 常见数据库管理系统

  • Oracle:被认为是业界目前比较成功的关系型数据库管理系 统。Oracle数据库可以运行在UNIX、Windows等主流操作系 统平台,完全支持所有的工业标准,并获得最高级别的ISO 标准安全性认证。

    ps: Oracle政府系统,特别是银行证券金融用的比较多

    ps: 现在已经在慢慢使用国产数据库替换Oracle

    ps: 由阿里提出一个口号"去IOE"

  • DB2:IBM公司的产品,DB2数据库系统采用多进程多线索体 系结构,其功能足以满足大中公司的需要,并可灵活地服务 于中小型电子商务解决方案。

  • SQL Server:Microsoft 公司推出的关系型数据库管理系统。 具有使用方便可伸缩性好与相关软件集成程度高等优点。

  • SQLLite:应用在手机端的数据库。手机通讯录,短信等

  • MySQL

    ps: mysql是现在中小型公司用,市场占绝大部分

4 MySQL

4.1 简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公 司开发,现在已经属于 Oracle 旗下产品。MySQL 是最流行的关系型数据 库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS(Relational Database Management System,关系数据库管 理系统) 应用软件之一。开源免费!

在这里插入图片描述

4.2 访问与下载

官方网站:https://www.mysql.com/

下载地址:https://dev.mysql.com/downloads/mysql/


最新版本是8版本,我们要安装使用的是5.7

4.3 安装

mysql现在安装的是5.7.mysql的安装方式有两种:

一种是exe方式

另外一种解压版

这次就使用解压版安装

4.3.1 解压缩到非中文目录

在这里插入图片描述

4.3.2 编写配置文件

1) 在安装目录下新建my.ini的配置文件

打开文件后缀和隐藏文件显示
在这里插入图片描述
在这里插入图片描述

2) 新建文件内编写内容

[Client]
port = 3306
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\mysql-5.4.4.20-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-5.4.4.20-winx64\data
 # 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
 
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

特别说明:

basedir 要换成自己的路径

datadir 要换成自己的路径,且该data文件夹不能存在,因为后续会自动创建.现在存在反而后续会初始化失败!!

4.3.3 执行命令初始化

1) 使用管理员权限打开命令提示符(CMD)

在这里插入图片描述

2) 进入到mysql的安装路径的bin目录

在这里插入图片描述

3) 执行命令

安装服务

mysqld --install  //  显示服务安装成功后继续执行命令

Service successfully installed   // 成功了

初始化mysql

mysqld --initialize --console  // 初始化,成功后有一个临时密码 0.X*8Ym7AlH2

在这里插入图片描述

4.3.4 开启服务

执行命令,开启mysql服务

net start mysql

在这里插入图片描述

4.3.5 修改密码

登录到mysql

mysql -uroot -p
Enter password: 0.X*8Ym7AlH2

在这里插入图片描述

修改密码

set password = password('123456');

在这里插入图片描述

退出再试

4.4 安装BUG

4.4.1 报错120.dll

在这里插入图片描述

下载安装

在这里插入图片描述

双击安装后,重新执行命令

4.4.2 没有服务名

在这里插入图片描述

缺失一个步骤,需要执行命令 mysqld --install,后再开启服务

4.4.3 初始化失败

执行完mysqld --initialize --console 后,没有出现密码

  1. 确定my.ini配置文件内容是否正确
  2. 安装路径内是否已经存在data文件夹,如果存在的话删除data文件再试

4.4.4 万能解决方案

1 认真,慢

2 检查my.ini内容是否正确

3 管理员权限进入cmd

4 执行命令先删除服务 mysqld remove

5 再重新安装服务器mysqld --install

6 在重新初始化产生密码

7 启动服务

4.5 卸载

  • 开始-控制面板-卸载程序-mysql

​ 如果找到,右键卸载

  • 删除隐藏文件

​ C:\ProgramData\MySQL

  • 删除MySQL文件夹

​ 删除MySQL的安装文件

  • 删除注册表

打开注册表 windos+r 输入 regedit

\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\MySQL

\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application\MySQL

将最后一个MySQL文件删除

在这里插入图片描述

4.6 配置环境变量

选择我的电脑–>右键属性–>高绩系统设置–>系统环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 SQL语言

5.1 SQL语言分类

SQL (Structure Query Language) 结构化查询语言

SQL99标准,已经被ISO国际化标准组织确定关系型数据库语言的标准.


但是,每个数据库还有各自自己特有的语句

SQL语言主要分为四大类

  • DDL(Data Definition Language) 数据定义语言,定义数据库,表,列等
  • DML(Data Manipulation Language) 数据操作语言,操作内部数据(增,删除,修改)
  • DQL(Data Query Language) 数据查询语言,对数据的查询
  • DCL(Data Control Language) 数据控制语言,定义数据的访问控制和安全

5.2 DDL

DDL是数据定义语言,主要是以下操作

  • 数据库查询/创建/使用/删除/修改
  • 数据表查询/创建/删除/修改

5.2.1 数据库操作

登录到mysql

mysql -uroot -p123456

在这里插入图片描述

退出mysql

exit

查询数据库

show databases;
-- SQL语句要以;结尾
-- 默认装好的数据库管理系统,有4个数据库,这4个不要动

创建数据库

create database 数据库名;

在这里插入图片描述

修改数据库

-- 数据库不能修改名字,一旦创建数据库,名字固定
-- 一般如果要修饰数据库,只能修改数据库的编码格式
-- 但是数据库的编码格式已经设置好了是UTF-8
alter database 库名 character set gbk;

删除数据库

drop database 库名;

使用数据库

use 库名;

在这里插入图片描述

查询当前正在使用的数据库

select database();

5.2.2 数据表操作

查询当前库下的所有表

show tables;

创建数据表 【重点】

create table 表名(
字段名1 数据类型(长度),
字段名2 数据类型(长度),
字段名3 数据类型(长度),
...
);
---------------------------------------------------------------
创建学生表,有学号 数字,姓名 字符串,成绩 浮点型,生日 日期型
---------------------------------------------------------------
create table stu(
sid int(11),
name varchar(10),
score double(5,2),
birthday date
);

在这里插入图片描述

数据类型解释长度
int整形11,固定,可以省略
double浮点型(x,y) 总长x位,其中包含y位小数
char定长字符0-255,声明(10)的字符,即使字符不够,也会占用10位
varchar可变长字符0-255,声明(10)的字符,会根据实际存储缩放
date日期没有长度
datatime日期时间没有长度
timestamp时间戳没有长度

特别说明,日期目前采用字符串的形式来写,即’2020-01-01’

查看报错信息的技巧

在这里插入图片描述

错误信息语句,就看near后面的提示


查看表结构

desc 表名;

在这里插入图片描述

修改表名

rename table 老名 to 新名;

在这里插入图片描述

修改列名

alter table 表名 change 旧列名 新列名 数据类型(长度);

在这里插入图片描述

增加列

alter table 表名 add 列名 数据类型(长度);

在这里插入图片描述

删除列

alter table 表名 drop 列名;

在这里插入图片描述

删除表

drop table 表名;

5.2.3 总结

DDL语句

  • 创建库/表 create database/table 名字
  • 修改库/表 alter database/table 名字 …
  • 查询库/表 show databases/tables
  • 删除库/表 drop database/table 名字

5.3 DML

DML 数据操作语言,其实对表中的数据进行

  • 增(插入)

5.3.1 插入

插入,就是向数据库表中插入数据,语法

insert into 表名 (字段1,字段2,...) values (1,2,...);

insert into 表名 values (1,2,...);
-- 注释
# 注释
/*
* 多行注释
*/
CREATE TABLE `stu` (
  `sid` int(11) DEFAULT NULL,
  `sname` varchar(10) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `score` double(5,2) DEFAULT NULL,
  `birthday` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ================= 插入 =================
/*
 insert into 表名 (字段1,字段2,...) values (值1,值2,...);
注意事项:
1) 数字直接写
2) 字符串用单引号
3) 日期用单引号,格式yyyy-MM-dd
4) 可以单独向部分字段插入数据
5) 插入的字段顺序和原表没有关系,
   但是值顺序要和插入字段顺序一致
6) 当插入表中全部字段时,可以省略字段,直接写值
   此时字段顺序和原表一模一样
7) 可以同时插入多行数据
*/
-- 向表的全部字段插入数据
insert into stu (sid,sname,age,score,birthday)
values (1,'彩云',20,98.2,'2020-01-01');
-- 插入部分字段
insert into stu (sid,sname,age)
values (2,'贝贝',20);
-- 字段顺序和原表没关系
insert into stu (age,sname,sid)
values (18,'老邢',3);
-- 给全部列插入值,省略字段
insert into stu values (4,"骚磊",20,99.9,'2020-01-01');
-- 同时插入多行
insert into stu (age,sname,sid) values 
(18,'博哥',5),
(19,'阳哥',6),
(20,'万哥',7),
(21,'邱哥',8)

6 Navicat使用

6.1 连接mysql

在这里插入图片描述

6.2 创建数据库

在这里插入图片描述

6.3 删除更新数据库

在这里插入图片描述

6.4 创建表

在这里插入图片描述

6.5 命令操作

6.5.1 命令行

在这里插入图片描述

6.5.2 sql编辑器

在这里插入图片描述

7 作业

0 今天的重点是所有SQL语句
1 记住sql语句,特别是建表语句,达到手写 
2 会使用Navicat完成每一个sql操作,达到说任何一个sql功能都能立即实现
3 复习Java(OOP,常用类,异常,集合)
4 idea破解

0,‘万哥’,7),
(21,‘邱哥’,8)


 

# 6 Navicat使用

## 6.1 连接mysql

[外链图片转存中...(img-JHx0Ar2M-1706611758437)]

## 6.2 创建数据库

[外链图片转存中...(img-DOqGboec-1706611758438)]

## 6.3 删除更新数据库

[外链图片转存中...(img-QPUPZV4u-1706611758438)]

## 6.4 创建表

[外链图片转存中...(img-Qw12sdNK-1706611758439)]

## 6.5 命令操作

### 6.5.1 命令行

[外链图片转存中...(img-sn5UYVbX-1706611758439)]

### 6.5.2 sql编辑器

### [外链图片转存中...(img-Z74gbriF-1706611758439)] 



# 7 作业

0 今天的重点是所有SQL语句
1 记住sql语句,特别是建表语句,达到手写
2 会使用Navicat完成每一个sql操作,达到说任何一个sql功能都能立即实现
3 复习Java(OOP,常用类,异常,集合)
4 idea破解


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/358910.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Google Chrome 常用的几个参数

1 右键--Google Chrome--属性--目标 参数作用--disable-infobars此计算机将不会再收到 Google Chrome 更新,因为 Windows XP 和 Windows Vista 不再受支持。适用于 xp、2003 的 49.x.x.x 版本。示例1--ingore-certificate-errors忽略证书错误--disable-background-…

开源知识库:让企业低成本实现知识管理

管理和利用企业内部知识已经成为提升效率和竞争力的重要手段。而对于大多数企业,尤其是中小企业而言,如何在有限的预算下,实现高效的知识管理,仍是一项挑战。面对这一问题,开源知识库应运而生。今天,我们将…

Linux - 数据流重定向、管道符、环境变量配置文件的加载

概述 想了解Linux编程,shell脚本是绕不开的关键知识点,原计划写一个整篇来分享shell的来龙去脉,但知识点过于繁杂,先分享一下学习shell的准备工作,数据流重定向、管道符、环境变量配置文件的加载,有助于知…

jdk17新特性—— instanceof的模式匹配

目录 一、instanceof模式匹配的概述二、instanceof模式匹配代码示例2.1、jdk17之前 instanceof用法 代码示例2.2、jdk17及之后 instanceof用法 代码示例一2.3、jdk17及之后 instanceof用法 代码示例二 一、instanceof模式匹配的概述 instanceof增加了模式匹配功能,…

Vulnhub靶机:niveK

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:niveK(10.0.2.41) 目标:获取靶机root权限和flag 靶机下载地址:https://download.vulnhub.com/hms/nive…

算法训练第一周考试(思维性题目)

目录 第一题.满足约束 第二题:传递信息 第三题:无线替换 第四题:环球旅行 第五题:求和游戏 第六题:大相径庭数组 总结:其实这次考试主要都是一些思维性的题集,并没有过难的东西&#xff…

五、防御保护---防火墙出口选路篇

五、防御保护---防火墙智能选路篇 一、就近选路二、策略路由选路1.策略路由的概念1.1匹配条件(通过ACL定义)1.2动作 三、智能选路 --- 全局路由策略1.基于链路带宽的负载分担2.基于链路质量进行负载分担3.基于链路权重进行负载分担4.基于链路优先级的主备…

shell - sed命令和awk命令

一.sed 的高级用法 sed 中除了模式空间,还另外支持保持空间,利用此空间,可以将模式空间中的数据,临时保存至保持空间,从而后续接着处理,实现更为强大的功能。 常见命令: 选项含义P(大)打印模…

【MySQL】学习如何通过DQL进行数据库数据的基本查询

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-KvH5jXnPNsRtMkOC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

Docker部署Plik系统并结合内网穿透实现远程访问本地上传下载文件

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…

Leetcode刷题笔记题解(C++):1117. H2O 生成(多线程)

思路: 解法二:生产者-消费者解法 1.把 hydrogen 线程看作生产者,oxygen 线程看作消费者,缓冲队列大小为2。 2.hydrogen 把生成的氢放入队列;oxygen 线程每次从队列里消费两个氢元素。 3.生产者生产两个氢元素后会因为…

找不到xinput1_4.dll怎么办?xinput1_4.dll丢失的6种解决方法对比

无法找到或缺失xinput1_4.dll文件可能会引发一系列问题,这一现象在计算机系统中并不罕见。首先,它直接影响到某些应用程序的正常运行,特别是那些依赖于DirectX环境的游戏和软件,因为xinput1_4.dll是DirectX工具包中的一个重要组成…

ElementUI组件:Button 按钮

button按钮 点击下载learnelementuispringboot项目源码 效果图 el-button.vue页面效果图 项目里el-button.vue代码 <script> export default {name: "el_button",// 注意这里的名称不能和 router inex.js里的name一样methods: {sendMsg() {// alert(1)xthi…

皮层肌肉相干性(CMC)的介绍和实现

皮层肌肉相干性CMC的介绍和实现 0 引言1 CMC定义2 CMC实现(Python)3 总结欢迎来稿0 引言 皮质肌肉相干性(CMC)是研究大脑皮层控制肌肉活动机制的常用且有用的方法。它揭示了肌肉持续收缩期间皮层和肌肉之间的功能联系。CMC的起源是初级运动皮层和肌肉之间皮质脊髓通路的通…

飞桨大模型分布式训练技术

今天我为大家介绍飞桨大模型分布式训练技术&#xff0c;内容分为以下几个部分&#xff1a; 首先&#xff0c;我会介绍大模型训练面临的重点难题&#xff1b;然后&#xff0c;为大家介绍飞桨在大模型训练领域的特色分布式训练技术和优化方案&#xff1b;最后&#xff0c;伴随着…

【STM32】STM32学习笔记-SPI通信外设(39)

00. 目录 文章目录 00. 目录01. SPI简介02. SPI特征03. SPI外设简介04. SPI框图05. SPI基本结构06. 主模式全双工连续传输07. 非连续传输08. 软件/硬件波形对比09. 附录 01. SPI简介 在大容量产品和互联型产品上&#xff0c;SPI接口可以配置为支持SPI协议或者支持I2S音频协议。…

第十九回 梁山泊义士尊晁盖 郓城县月夜走刘唐-FreeBSD Ubunut系统后台运行程序

林冲请晁盖坐了第一把交椅&#xff0c;吴用坐了第二把交椅&#xff0c;公孙胜坐了第三把交椅&#xff0c;还想让&#xff0c;晁盖吴用公孙胜都不肯接受相让&#xff0c;因此林冲坐了第四把交椅。 一天小喽啰报济州府派了2000人马来攻打梁山。吴用说不须兄长挂心&#xff0c;吴某…

学习使用Flask模拟接口进行测试

前言 学习使用一个新工具&#xff0c;首先找一段代码学习一下&#xff0c;基本掌握用法&#xff0c;然后再考虑每一部分是做什么的 Flask的初始化 app Flask(__name__)&#xff1a;初始化&#xff0c;创建一个该类的实例&#xff0c;第一个参数是应用模块或者包的名称 app…

webassembly003 TTS BARK.CPP-02-bark_tokenize_input(ctx, text);

bark_tokenize_input函数 bark是没有语言控制选项的&#xff0c;但是官方的版本无法运行中文bark_tokenize_input会调用bert_tokenize函数&#xff0c;bark_tokenize_input函数对中文分词失效&#xff0c;也就是导致不支持中文的原因。 void bark_tokenize_input(struct bark_…

Mybatis Plus轻松实现数据库变更全局审计日志

Mybatis Plus轻松实现数据库变更全局审计日志 Mybatis Plus轻松实现数据库变更全局审计日志引言实现审计日志1.创建审计日志表2.创建AuditLogAspect用于记录请求日志4. 保存审计日志 总结 Mybatis Plus轻松实现数据库变更全局审计日志 引言 在日常的业务开发中&#xff0c;监…