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 概念
数据库管理系统(DataBaseManagement 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(RelationalDatabase 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 后,没有出现密码
- 确定my.ini配置文件内容是否正确
- 安装路径内是否已经存在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破解
相关文章:
day38_MySQL
今日内容 0 复习昨日 1 引言 2 数据库 3 数据库管理系统 4 MySQL 5 SQL语言 0 复习昨日 1 引言 1.1 现有的数据存储方式有哪些? Java程序存储数据(变量、对象、数组、集合),数据保存在内存中,属于瞬时状态存储。文件&…...
element ui组件 el-date-picker设置default-time的默认时间
default-time :选择日期后的默认时间值。 如未指定则默认时间值为 00:00:00 默认值修改 <el-form-item label"计划开始时间" style"width: 100%;" prop"planStartTime"><el-date-picker v-model"formData.planStart…...
###C语言程序设计-----C语言学习(8)## 斐波那契数列问题,素数问题,人数分配问题。
前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 今天,我们主要分享三个问题如何用C语言去求解,1.斐波…...
蓝桥杯 第 1 场 小白入门赛
目录 1.蘑菇炸弹 2.构造数字 3.小蓝的金牌梦 4.合并石子加强版 5.简单的LIS问题 6.期望次数 1.蘑菇炸弹 我们直接依照题目 在中间位置的数进行模拟即可 void solve(){cin>>n;vector<int> a(n1);for(int i1;i<n;i) cin>>a[i];int ans0;for(int i2;i…...
飞天使-linux操作的一些技巧与知识点5-expect与docker便捷命令
expect 主要使用场景不输入账户密码的多 yum install -y expect 则可以安装上 #!/usr/bin/expect -f set username “root” set password “123456” spawn /bin/bash send “cd /data/container/\r” expect "$ " # 等待命令提示符 send “git pull\r” expect…...
编曲学习:和声音程 调式体系 唱名法 调式调性
34届和声音程 调式体系 唱名法 调式调性https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_65af994be4b064a8cb1c3a5f?course_idcourse_2XLKtQnQx9GrQHac7OPmHD9tqbv 34届独立音乐人编曲训练营https://app8epdhy0u9502.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/camp_p…...
【大数据】Flink 架构(四):状态管理
《Flink 架构》系列(已完结),共包含以下 6 篇文章: Flink 架构(一):系统架构Flink 架构(二):数据传输Flink 架构(三):事件…...
执行rpm安装命令的时候抛出异常:rpmdb BDB0113 Thread/process
问题现象 错误:rpmdb: BDB0113 Thread/process 66126/140498505373504 failed: BDB1507 Thread died in Berkeley DB library 错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery 错…...
Android 在WebView中加载H5传递图片
最近h5开发一个编译器,要在手机上显示,需要获取手机上的图片,使用webview不能直接到文件管理拿取,还需要对webview做处理,做个记录,方便以后使用; public ValueCallback<Uri[]> mUploadMe…...
图的学习
图的基本概念和术语 图的定义:图是由顶点的有穷非空集合和顶点之间的边的集合组成的,G表示,V是图G中顶点的集合,E是图G中边的集合 无向图:任意两点的边都是无向边组成的图(无向边:(…...
空间数据分析入门POI与莫兰指数基础知识笔记
1. 空间分析与POI 1.1. 什么是POI POI是“Polnt of Information”的缩写,中文可以翻译为“信息点”。POI是地图上任何非地理意义的有意义的点,如商店、酒吧、加油站、医院、车站等。这些点通常包括名称、类别、经纬度和地址等基本信息。此外࿰…...
TortoiseSVN各版本汉化包下载
首先进入下载版本列表 1.下载地址:https://sourceforge.net/projects/tortoisesvn/files 2.选择自己版本进入 3.选择Language Packs进入,选择对应语言包下载。 4.在TortoiseSVN根目录下点击安装即可。 ...
STM32连接阿里云物联网平台
文章目录 引言一、STM32连接阿里云物联网平台思路二、ESP8266烧录固件三、使用AT指令连接阿里云物联网平台四、STM32环形串口缓冲区驱动程序五、STM32连接阿里云驱动程序 引言 连续写了两篇关于阿里云连接的文章,都是使用Arduino ESP8266 & Arduino ESP32的方式…...
力扣hot100 组合总和 回溯 剪枝 组合
Problem: 39. 组合总和 文章目录 思路复杂度💖 Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) 💖 Code class Solution{List<List<Integer>> res new ArrayList<>();int x;// 全局targetin…...
代码随想录 Leetcode669. 修剪二叉搜索树
题目: 代码(首刷看解析 2024年1月31日): class Solution { public:TreeNode* trimBST(TreeNode* root, int low, int high) {if (!root) return root;if (root->val < low) {TreeNode* node trimBST(root->right,low,high);return…...
Redis系列-数据结构篇
数据结构 string(字符串) redis的字符串是动态字符串,类似于ArrayList,采用预分配冗余空间的方式减少内存的频繁分配。 struct SDS<T>{ T capacity; T len; byte flags; byte[] content; } 当字符串比较短时,…...
正则表达式(RE)
什么是正则表达式 正则表达式,又称规则表达式(Regular Expression)。正则表达式通常被用来检索、替换那些符合某个规则的文本 正则表达式的作用 验证数据的有效性替换文本内容从字符串中提取子字符串 匹配单个字符 字符功能.匹配任意1个…...
发布技术路线图!美国量子计算公司QuEra公开三年OKR
编辑丨慕一 编译/排版丨琳梦 卉可 深度好文:1100字丨8分钟阅读 近期,美国量子计算公司QuEra Computing宣布了一系列关于容错量子计算机的战略路线图,该路线图从2024年开始,最终目标是打造具有100纠错逻辑量子比特的系统。 在…...
Vue2:请求接口的两种方式axios和vue-resource
一、场景描述 前端和后端的交互,肯定是要发生接口调用的 这个时候,就要涉及前端如何向后端接口发送请求,获取数据 二、请求方式 1、axios方式(推荐) 这个方式本质就是ajax,底层就是对xhr(XMLHttpRequest)的封装 1、安装axios…...
扩展学习|商业智能和大数据分析的研究前景(比对分析)
文献来源: Liang T P , Liu Y H .Research Landscape of Business Intelligence and Big Data analytics: A bibliometrics study[J].Expert Systems with Applications, 2018, 111(NOV.):2-10.DOI:10.1016/j.eswa.2018.05.018. 信息和通信技术的快速发展导致了数字…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...

