Mysql研学-认识与安装

news2024/11/19 4:39:51

一 数据库

1 Java的数据存储技术

① 变量:一个数据存储空间的表示

② 数组:存储一组相同数据类型的"容器"

③ 集合:存储一组任意引用数据类型的"容器"

④ 配置文件:

  .properties:基于Properties集合存储(Map集合的具体实例)

  .xml文件:基于标签存储数据

⑤ Optional对象:存一个元素或0个元素

  以上存储数据的技术(由JAVA语言提供),只适用于数据量较小的存储,对于大量的数据操作,性能低下,因此需要数据库。

2 Mysql概述

  核心功能为数据管理,管理方法主要有,创建(添加),读取(查询),修改, 删除
  存 : 增删改
  取:查(查所有+查指定一个+查满足指定条件的多个)

3 名词解释

  DB – 数据库:DataBase

  DBMS – 数据库管理系统:DataBase Manager System

  DBAS – 数据库应用系统:DataBase Application System

4 数据库分类

  关系型数据库 – Oracle,MySql等等

  非关系型数据库 – Redis,Mongodb等等

5 存储引擎–影响数据库存储性能

常见的存储引擎优势不足
MyISAM查询速度较快不支持事务和外键
InnoDB支持事务和外键查询速度稍慢

二 SQL 语句

1 语句分类

① DQL 语言:数据查询语言,主要操作表中的数据

// SQL语句中唯一一个不需要操作权限就能执行的语句
SELECT 

② DML语句:数据操作语言,主要操作表中的数据

// 插入
INSERT INTO ... VALUES ...
// 修改
UPDATE ... set ...
// 删除
DELETE FROM ... 

③ DDL语句:数据定义语言,主要操作的是表

// 创建表
CREATE TABLE
// 删除(销毁)表
DROP
// 修改表结构
ALTER

④ TCL语句:事务控制语言

⑤ CCL语句:指针控制语言(接触不多)

2 书写规范

① SQL语句忽略大小写;但开发中建议是数据库操作的关键字全部大写

② 每一条SQL语句都需要使用;(分号)结束

三 表

1 表成员

表名:表示当前表中存储什么类型的数据,列个数固定,行个数不固定
列:纵向,表示当前列存储的数据是什么,同一列的数据类型与含义一致
行:横向,表示一组数据,指向同一事物
ORM关系 – 对象映射关系

2 数据库中表JavaBean的对应关系

JavaBean
表名t_employee类名Employee
列名字段名
当前类的一个具体对象
列名字段名

① 类名是表名去掉t_,单词首字母大写
② 表中列名与类中字段要一致

四 安装Mysql

1 下载zip后解压改名只留版本号

在这里插入图片描述

2 于mysql-8.0.28文件夹中新建my.ini,输入以下内容,确定数据目录与端口号,若MySql服务无响应可将最后一句去除,或者完成密码设置后注释掉,其作用为跳过密码

[mysqld]
#端口号
port = 3306
#mysql-8.0.28路径
basedir=D:\\soft\mysql-8.0.28
#mysql-8.0.28\data路径
datadir=D:\\soft\\mysql-8.0.28\\data
#最大连接数
max_connections=200
#编码集
character-set-server=utf8

#默认引擎
default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


[mysql]
#编码集
default-character-set=utf8

3 配置环境变量,将bin文件夹路径输入path

D:\soft\mysql-8.0.28\bin

4 管理员身份启动cmd进入目录

// 进入目录
cd /d D:\soft\mysql-8.0.28\bin
// 安装服务
mysqld -install
// 初始化数据文件,启动mysql服务
mysqld --initialize-insecure --user=mysql
// 启动
net start mysql

5 此时 Bin中会多出data文件夹,没生成自己建一个

在这里插入图片描述

6 进入数据库,此时无密码直接回车进入mysql

// 无密码进入数据库
mysql -u root -p

7 进入界面后更新密码

// 更新密码
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘root’;
// 5.7版本用这句
alter user 'root'@'localhost' identified by 'root';

8 刷新权限

// 刷新权限
flush privileges;

9 停止服务

net stop mysql;

10 输入密码登陆mysql

mysql -u root -proot

Mysql数据都在data文件夹中,历史记录中有对应操作

五 常用命令

1 登录命令

mysql -u用户名 -p密码 [-hIP地址 -P端口号]

2 展示当前连接下所有数据库

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

4 rows   数据库个数
in set   将操作结果存放在set集合中,结果无序且唯一
0.01 sec 是执行操作的时长

3 使用指定数据库

mysql> USE SYS;
Database changed

4 展示当前数据库下所有表

mysql> SHOW TABLES;
+-----------------+
| Tables_in_sys   |                                
+-----------------+
| host_summary    | 
 
......    
       
+-----------------+    
101 rows in set (0.06 sec)

5 创建一张表

mysql> CREATE TABLE t_employee(id INT);
Query OK, 0 rows affected (0.59 sec)

affected  受影响的数据

6 删除指定表

mysql> DROP TABLE t_employee;
Query OK, 0 rows affected (0.51 sec)

7 查询表设计结构

mysql> DESC employee;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | bigint(20)   | NO   | PRI | NULL    | auto_increment |
| name     | varchar(255) | YES  |     | NULL    |                |
| password | varchar(255) | YES  |     | NULL    |                |
| email    | varchar(255) | YES  |     | NULL    |                |
| age      | int(11)      | YES  |     | NULL    |                |
| admin    | bit(1)       | YES  |     | NULL    |                |
| dept_id  | bigint(20)   | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
7 rows in set (0.02 sec)

多用导入其他人定义的表
Field:表中的字段

Type:指定字段对应的数据类型

Null:当前字段的值是否允许为空

Key:当前字段的约束(规定当前字段存储数据的特点)

Default:默认值,MySQL中任意一种数据类型的默认值都是NULL

Extra:备注,一般显示的是指定数据库的方言约束

六 数据类型

1 常用类型 – 数值型

  ①整数型:INT/BIGINT , 其中的(n)表示该数据最大位数,一般没有特殊要求不写

  ②小数型:DOUBLE/DECIMAL

  DOUBLE(m,n):一般是应用在除了金钱以外的字段,其中m表示数据总位数,n表示小数部分有几位

  DECIMAL:一般应用在金钱上

2 常用类型 – 字符型

  ①MySQL中没有单个字符类型,都是字符串类型;因此值既可以定义在""中也可以定义在’';在Java中统一使用String类型接收

  ②CHAR(n):MySQL服务会按照n的个数进行存储

  ③VARCHAR(n):MySQL服务会按照实际的存储个数进行数据存储(实际上还有一位标识位)

3 常用类型 – 日期型

  ①MySQL数据库中的日期类型数据值必须定义在引号中

  ②DATE:操作年月日

  ③DATETIME:操作年月日时分秒

  ④TIMESTEMP:时间戳,以毫秒的形式显示,距1970.1.1 00:00至今的时长

4 与Java数据类型的对应

MysqlJava
INT(n)Integer/int
BIGINT(n)Long/long
DOUBLE(m,n)Double/double
DECIMALBigDecimal
CHAR(n)String
VARCHAR(n)StringBuffer/StringBuilder
TEXTString
DATEjava.util.Date
DATETIMEjava.util.Date
TIMESTEMPjava.util.Calendar

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centos7 安装 mysql8 详细步骤记录

下载 mysql 8 更新系统: sudo yum update 添加 MySQL Yum存储库: sudo rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm 安装 MySQL 8: sudo yum install mysql-server 重置密码 查看初始密码&#xff1…

三种入耳检测光感芯片驱动开发比较

三种入耳检测光感芯片驱动开发比较 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 重要的寄存器…

应用层之应用层的网络应用模型————C/S和P2P、域名解析系统DNS、文件传输协议FTP

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

Ubuntu上svn基本使用(gitee提交下载)

目录 环境准备 1. 获取代码到本地 直接获取 获取代码时加入用户名密码 指定版本更新 2. 提交代码 3. 展示代码列表 4. 添加代码文件(目录) 5. 删除gitee仓库中的文件 参考文档链接 环境准备 当前操作系统为Ubuntu22.04LTS gitee 创建仓库时 需要打开svn的支持 sudo…

54.grpc实现文件上传和下载

文章目录 一:简介1. 什么是grpc2. 为什么我们要用grpc 二:grpc的hello world1、 定义hello.proto文件2、生成xxx_grpc.pb.go文件3、生成xxx.pb.go结构体文件4、编写服务代码service.go5、编写客户端代码client.go 三、服务端流式传输:文件下载…

短视频无人实景直播源码技术开发=抖去推saas直播源码

开发无人直播源码技术需要具备一定的编程和网络知识。以下是一些基本的步骤和资源,帮助你进行无人直播源码的开发搭建: 1. 选择编程语言和开发环境:根据你的个人喜好和技术熟练程度,可以选择一些流行的编程语言,如Pyth…

根据应聘者的姓名和所学专业判断是否需要这样的程序设计人员

一、程序分析 导入Scanner函数,分别输入应聘者的姓名和应聘者所学的程序设计语言。 二、具体代码 import java.util.Scanner; public class Recruitment {public static void main(String[] args){try (Scanner scan new Scanner(System.in)) {System.out.prin…

【Vue】设置路由默认跳转指定页面

目录 设置路由默认跳转 上一篇: 登录注册界面制作 https://blog.csdn.net/m0_67930426/article/details/134895214?spm1001.2014.3001.5502 以这篇文章为例 首先我们要了解一下vue项目的router包的作用 上一篇文章里,创建了登录注册页面 如果我们…

SpringSecurity6 | 自定义登录页面

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…

Qt开发 之 Qt5各版本情况分析

文章目录 1、简介2、Qt5 版本归纳3、下载地址3.1、典型版本3.1.1、Qt5.0.03.1.2、Qt5.9.93.1.3、Qt5.12.12 3.2、当前Qt5最新版本 1、简介 Qt6 出生刚刚好一年的时间,已经出到6.6版本,带来了许多的新特性和改进。今天刚刚好抽空总结下陪伴 我工作这么长…

【K8S in Action】副本机制与控制器:部署托管的Pod

通过控制器来运行托管的 pod,Pod失败的时候自动重新启动它们。 1. 保持pod健康 从外部检查应用程序的运行状况: HTTPGET探针对容器的 IP 地址TCP套接字探针尝试与容器指定端口建立TCP连接Exec探针在容器内执行任意命令,并检查命令的退出状态码。如果状…

智能优化算法应用:基于人工兔算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于人工兔算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工兔算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工兔算法4.实验参数设定5.算法结果6.参考文献7.…

初出茅庐的小李博客之TobudOS移植到EVB_AIoT开发板

本博客参考教程: https://atomgit.com/OpenAtomFoundation/TobudOS/blob/master/doc/TobudOS_EVB_AIoT_STM32_Guide.md 介绍一下EVB_AIoT开发板 这个开发板是由TobudOS开源社区联合意法半导体、南京厚德物联网设计的一款高性能IoT开发平台,主控芯片是S…

学校安全检查系统

校园面积大、安全盲区多对学校安全管理带来诸多挑战;传统依靠人工纸质巡检记录存在漏检、管理难、联动差等诸多问题和缺点,巡检过程中很容易遗漏安全隐患的存续,从而导致安全事故的发生。 通过凡尔码平台模块化搭建学校安全管理系统&#xf…

【Bootloader学习理解----跳转优化异常】

笔者接着来介绍一下Bootloader的跳转代码以及优化 1、跳转代码理解 跳转代码可能要涉及到芯片架构的知识,要跳转到对应的位置,还要设置相关的SP 堆栈指针,具体可以参考笔者这篇文章BootLoader的理解与实现。 STM32的跳转代码如下所示: u32 …

多张二维码能一次解码处理吗?3个步骤就能完成

二维码是现在生活中很常见的内容承载方式,但是有时候我们需要将二维码内容转换成文本或者链接来使用,那么如何处理能够将二维码分解处理呢?想要将多张二维码图片分解处理,那么为了提高效率可以用二维码解码器的批量解码功能来处理…

【词云图】从excel和从txt文件,绘制以句子、词为单位的词云图

从excel和从txt文件,绘制以句子、词为单位的词云图 写在最前面数据说明&结论 从txt文件,绘制以句子、词为单位的词云图自我介绍 从excel,绘制以句子、词为单位的词云图读取excel绘制以句子、词为单位的词云图文章标题 写在最前面 经常绘…

TSINGSEE青犀AI视频识别技术渣土车识别智能监管方案

随着城市化进程的不断推进,渣土车在建筑垃圾的运输中发挥着越来越重要的作用。未密闭化运输、车容不洁挂土、违规抛洒滴漏是目前渣土运输过程中最常见的违规行为。传统的渣土车运输管理方式存在着很多问题,导致渣土车在运输过程出现的不规范行为得到有效…

vue3实现2d楼宇模型

需求背景解决效果视频效果2dFloor.vue 需求背景 需要实线一个2d楼宇模型&#xff0c;并按照租户温度渲染颜色 解决效果 视频效果 2dFloor.vue <!--/*** author: liuk* date: 2023/12/06* describe: 2d楼宇模型* CSDN:https://blog.csdn.net/hr_beginner?typeblog*/--&g…

TA-Lib学习研究笔记(九)——Pattern Recognition (5)

TA-Lib学习研究笔记&#xff08;九&#xff09;——Pattern Recognition &#xff08;5&#xff09; 最全面的形态识别的函数的应用&#xff0c;通过使用A股实际的数据&#xff0c;验证形态识别函数&#xff0c;用K线显示出现标志的形态走势&#xff0c;由于入口参数基本上是o…