MySQL数据库基础(一):数据库安装和DataGrip安装

news2024/11/24 16:28:43

学习目录

  • 数据库介绍

  • MySQL数据库安装和使用

  • SQL语句

  • DDL之数据库操作

  • DDL之表操作

  • DML数据库操作语言

  • SQL约束

  • DQL操作

  • 多表操作

学习目标

  • 掌握DDL操作

  • 了解mysql的约束

  • 掌握DML操作

  • 掌握DQL操作

  • 掌握多表联查

一、数据库概述

1、数据库介绍

数据库就是存储数据的仓库,其本质是一个文件系统,按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。随着互联网的高速发展,大量的数据在不断的产生,伴随而来的是如何高效安全的存储数据和处理数据,而这一问题成为了信息时代的一个非常大的问题,而使用数据库可以高效的有条理的储存数据。

  • 可以结构化存储大量的数据;

  • 可以有效的保持数据的一致性、完整性;

  • 读写效率极高。

2、数据库分类

数据库又分为关系型数据库和非关系型数据库

☆ 关系型数据库

关系型数据库:指采用了关系模型来组织数据的数据库。

关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。初学阶段,我们可以先简单的讲关系型数据库理解为一个Excel表格:

☆ 非关系型数据库NoSQL

非关系型数据库:又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL,对NoSQL 最普遍的定义是“非关联型的”,强调 Key-Value 的方式存储数据。

Key-Value结构存储:Key-value数据库是一种以键值对存储数据的一种数据库,类似Java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。

关系型和非关系型数据库区别?关系型数据库(RDBMS):

1. 数据以表格的形式进行存储,每个表格包含多个行和列,每行代表一个记录,每列代表一个属性。

2. 数据之间通过主键和外键建立关联关系,可以通过SQL语言进行查询和操作。

3. 数据结构严格,需要事先定义表的结构和关系,具有较高的数据一致性和完整性。

4. 适用于需要复杂查询和事务处理的应用,如金融系统和企业管理系统。

非关系型数据库(NoSQL):

1. 数据以键值对、文档、列族等非表格形式进行存储,没有固定的结构,可以动态添加字段。

2. 数据之间没有严格的关系,查询方式通常是通过键或索引进行快速查找。

3. 数据结构灵活,可以存储半结构化和非结构化数据,适用于大规模数据的存储和处理。

4. 适用于需要高可扩展性和高性能的应用,如大数据分析和实时数据处理。

3、常见数据库介绍

☆ 关系型数据库

数据库

介绍

MySQL

开源免费的数据库,中型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。

Oracle

收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。

DB2

IBM公司的数据库产品,收费的。常应用在银行系统中.

SQLserver

MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。

SQLite

嵌入式的小型数据库,应用在手机端。

☆ 非关系型数据库

数据库

介绍

Redis

是一个小而美的数据库,主要用在key-value  的内存缓存,读写性能极佳

HBase

HBase是列式数据库,目标是高效存储大量数据

MongoDB

MongoDB是文档型数据库,非常接近关系型数据库的。

4、小结

① 数据库就是存储数据的仓库,用户可以对数据库中的数据进行增删改查操作

② 数据库分为关系型数据库和非关系型数据库。

③ 常用的关系型数据库有:MySQL,Oracle,DB2,SQLserver,sqlite

④ 常用的非关系型数据库有:Redis,Hbase,MongoDB

二、MySQL数据库

1、MySQL介绍

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

2、MySQL的特点

MySQL是开源的,所以你不需要支付额外的费用。

MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

MySQL使用标准的SQL数据语言形式。

MySQL可以安装在不同的操作系统,并且提供多种编程语言的操作接口。这些编程语言包括C、C++、Python、Java、Ruby等等。

3、MySQL版本

MySQL Community Server:社区版本,开源免费,但不提供官方技术支持。

MySQL Enterprise Edition:企业版本,需付费,可以试用30天。

MySQL Cluster:集群版,开源免费。可将几个MySQL Server封装成一个Server。

MySQL Cluster CGE:高级集群版,需付费。

MySQL Workbench(GUITOOL):一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。

本次课程,我们使用MySQL8.0版本, MySQL Community Server进行学习。

4、MySQL数据库下载与安装

☆ 下载

MySQL是开源免费的,可以直接去官网下载最新版MySQL,下载地址如下:

下载地址:https://dev.mysql.com/downloads/mysql/,拉到下面,选择 Windows 系统。

建议选择安装版进行安装,点击Go to Download Page进行安装。

点击 Download 后会跳转到如下页面,点击左下角的 No thanks, just start my download. 开始下载。

☆ 安装

下载完成后打开安装包,稍等片刻后,选择开发者默认的安装方式,点击下一步即可。

此后按照流程安装即可,遇到Next(下一步),和Execute(执行)直接点击即可,点击Execute后需要等待几分钟。

直至出现Account and Roles输入数据库密码,此处输入密码务必记住,用于之后登陆数据库。

继续点击Next,出现finish后点击,完成安装。

注意:MySQL软件有一个默认管理员叫做root

5、添加环境变量(Windows)

cmd(DOS窗口)=> 输入命令如mysql => 当前Windows的环境变量中去寻找

添加环境变量的目的:输入终端命令时,可以搜索对应的可执行文件。

首先找到mysql的安装目录,并且定位到mysql文件,将地址栏内容进行复制。

默认的安装路径:C:\Program Files\MySQL\MySQL Server 8.0\bin

找到此电脑右键点击选择属性,弹出如下界面,选择高级系统设置,不同版本系统位置可能不太一样,耐心寻找一下。

进入高级系统设置之后,点击环境变量按钮,即可进入环境变量配置界面。

找到系统变量中的path变量,点击编辑,进入编辑界面。

选择新建,将刚才的赋值的mysql文件的地址粘贴到文本框中,点击确定,完成环境变量配置。

6、检测环境变量是否配置成功

在底部搜索栏输入cmd,按Enter键唤出终端窗口。

输入mysql -V(V要大写),输出如下内容则配置成功。

三、Linux系统下的MySQL安装与使用

1、MySQL安装与使用

课程提供的Linux系统中已经安装好了Mysql,可以无需安装,直接使用即可

安装文档请查看:MySQL8.0安装.docx

2、登陆MySQL数据库

MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录,目前有两种登录场景:

☆ 本地(针对本地MySQL)

 
 

# mysql -uroot –p 回车
password:输入密码1

案例演示:

说明:-u 后面是登录的用户名 -p 后面是登录密码, 如果不填写, 回车之后会提示输入密码

☆ 远程(针对远程MySQL,MySQL服务器不再本地)

 
 

# mysql -h 远程服务器IP地址 -P 端口号 -u用户名 -p 回车
password:输入密码


案例:
# mysql -h 192.168.88.100 -P 3306 -uroot -p
Enter password:123456

☆ 退出

 
 

① mysql> exit
② mysql> quit
③ 快捷键Ctrl + d

3、小结

① MySQL的特点:免费,支持大型数据库,标准的SQL语言形式,跨平台。

② 课程使用的版本时MySQL8.0版本。

③ MySQL登录的两种方式:

方法一:本地 mysql -uroot -p123456

方法二:远程mysql -h 192.168.88.100 -P 3306 -uroot -p123456

④ 从MySQL软件中退出有3种方式

方法一:exit

方法二:quit

方法三:Ctrl + d

四、MySQL图形化开发工具DataGrip

1、DataGrip介绍

DataGrip是JetBrains公司推出的管理数据库的产品,功能非常强大,可以兼容各种数据库,另外,JetBrains公司还有一款知名的IDE开发工具IDEA,用户体验非常不错。

下载地址:https://www.jetbrains.com/datagrip/download/#section=windows

2、DataGrip安装

下载完成后打开安装程序,选择安装路径,一直点击Next即可安装。直到Finish点击完成安装,并打开应用。选择Evaluate for free 免费试用30天。

3、创建工程

点击File->New->Project新建DataGrip工程 输入项目名称,点击确定。选择新项目打开方式:This Windows(在本窗口中打开),New Windows(在新窗口中打开), Attach(附加模式)

4、连接数据库

选择Database下的➕,点击DataSource菜单下的MySQL。填写对应的参数,连接数据库:连接名,IP,用户名,密码等,点击OK完成连接。注意:如果第一次使用,需要下载mysql驱动文件。

设置数据库时区:

  1. 点击Advanced按钮;

  2. 在VM options后面写入-Duser.timezone=Asia/Shanghai,就可以啦;

设置完成后,单击Apply(应用),单击OK,数据库就连接成功了!

5、选择要使用的数据库

点击连接名称之后的按钮可以选择所要使用的数据库:

6、DataGrip软件设置

☆ 设置字体大小

设置文字大小:File--->settings--->Editor---->Font

☆ 设置关键字大写

设置关键字大写:File--->settings--->Editor---->Code Style--->SQL--->MySql(需要设置的数据库)--->Case

☆ 自动排版

自动排版布局:File--->settings--->Editor---->Code Style--->SQL--->MySql(需要设置的数据库)--->Queries

自动排版快捷键:Ctrl+ Alt + L

五、SQL语句

1、连接数据库

结构化查询语言(Structured Query Language)简称SQL,是关系型数据库管理系统都需要遵循的规范,是数据库认识的语句。不同的数据库生产厂商都支持SQL语句,但都有特有内容。

举例:

普通话:各数据库厂商都遵循的ISO标准。

方言:数据库特有的关键字。

2、SQL语句分类

☆ DDL

数据定义语言:简称DDL(Data Definition Language) 用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等

☆ DML

数据操作语言:简称DML(Data Manipulation Language) 用来对数据库中表的记录进行更新。关键字:insert,delete,update等

☆ DQL

数据查询语言:简称DQL(Data Query Language) 用来查询数据库中表的记录。关键字:select,from,where等

☆ DCL

数据控制语言:简称DCL(Data Control Language) 用来定义数据库的访问权限和安全级别,及创建用户。

3、SQL基本语法

① SQL语句可以单行或多行书写,以分号结尾。

 
 

select * from students;

② 可使用空格和缩进来增强语句的可读性

 
 

select
*
from students;

③ MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

 
 

SELECT * FROM user;
等价于
select * from user;

④ 可以使用单行与多行注释

 
 

# 单行注释
-- 单行注释,注意:--后面有一个空格
/*
...
多行注释
...
*/

4、小结

结构化查询语言(SQL),是关系型数据库管理系统都需要遵循的规范。不同的数据库生产厂商都支持SQL语句,但都有特有内容。

SQL语句分为:数据定义语言(DDL),数据操作语言(DML),数据查询语言(DQL),数据控制语言(DCL)。

SQL通用语法:结构灵活,使用分号结尾;不区分大小写;可以使用/**/,#,--来进行注释。

 

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

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

相关文章

SpringBoot(原理篇)

SpringBoot原理篇 自动配置 bean加载方式 xml方式声明bean 相关类: domain域中的实体类: public class Mouse { }public class Cat { }public class Dog { }测试: public class App1 {public static void main(String[] args) {ClassP…

MyBatis学习笔记--下篇

MyBatis学习笔记–下篇 文章目录 MyBatis学习笔记--下篇1、多对一的处理(关联)1.1、表的创建1.2、实体类1.2、按照查询嵌套处理1.3、按照结果嵌套处理(联表查询 ) 2、一对多的处理(Collection)2.1、实体类2.2、按结果查询&#xf…

《绝地求生》提示d3dcompiler_47.dll缺失怎么修复win11,三个简易的修复方法

在打开《绝地求生》游戏的时候,报错提示“由于找不到d3dcompiler_47.dll”,“d3dcompiler_47.dll缺失”等问题,都是由于电脑系统的中的d3dcompiler_47.dll文件丢失或者损坏了。d3dcompiler_47.dll 是 Microsoft 的 DirectX 11 核心组件之一&a…

彻底搞懂Linux中10位含义的文件权限以及修改文件权限

彻底搞懂Linux中10位含义的文件权限以及修改文件权限 1. 前言1.1 创建用户及简单权限问题1.2 抛出文件权限问题 2. 第二段(连接数)3. 第三段(所属者) 第四段(所属组)3.1 介绍Linux中的三种角色3.2 更改文件…

Kubernetes删除ns(namespace)

一、前言 删除某个应用或模块的时候,可能会出现命名空间的状态一直处于Terminating状态,无论是重启k8s还是重启所有服务器都没卵用。 k8s遇到有无法删除的ns(namespace)命名空间的时候,可以尝试几种删除方式 二、删…

zabbix拓扑图主机拓扑的分组设置

目录 一、需求描述 二、实现方法 (一)第一步 编辑拓扑图 (二)第二步 编辑形状 (三)第三步 点“更新” 一、需求描述 在zabbix-监测-拓扑图-服务器拓扑图中,需要按照各业务来分组展示&#…

「STC8A8K64D4开发板」第2-5讲:I/O中断

第2-5讲:I/O中断 学习目的学习中断的相关概念。掌握中断向量大于 31的处理方法。掌握中断服务程序的编写。 STC8A8K64D4 I/O中断 STC8A8K64D4单片机的所有GPIO都支持I/O 中断,且支持 4 种中断触发模式:下降沿中断、上升沿中断、低电平中断和…

Pegasus开发环境

文章目录 Pegasus开发环境开发环境部署步骤1 安装 vs code步骤2 DecEco Device Tool 下载安装步骤3 下载Hi3861 Openharmony SDK步骤4 下载开发者工具步骤5 工程管理配置1. 打开DevEco Device Tool 主页 导入工程2. 选择Hi3861 Openharmony SDK目录3. 芯片选型4. 进行后续代码开…

Spring ServiceLocatorFactoryBean 小结

前言 偶然看到一篇微信公众号文章的分享 https://mp.weixin.qq.com/s/11VKseROGVcJHPCJ8xQ3XA,感觉挺有意思,在这里记录下。 为什么感觉有意思呢?是因为它通过spring 提供的ServiceLocatorFactoryBean 来实现服务定位模式,将服务…

linux-2.6.22.6内核i2c驱动框架源码分析

i2c是常见的通信协议,协议比较简单,只有数据和时钟两条线(SDA和SCL),i2c的通信分为主机和从机,主机一般占主导地位,从机可以有多个。 i2c通信的数据格式为(SDA上的数据):开始的7位里…

【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

机器学习实战8-基于XGBoost和LSTM的台风强度预测模型训练与应用

大家好,我是微学AI,今天给大家介绍一下机器学习实战8-基于XGBoost和LSTM的台风强度预测模型训练与应用,今年夏天已经来了,南方的夏天经常会有台风登陆,给人们生活带来巨大的影响,本文主要基于XGBoost模型和…

Python3 错误和异常 | 菜鸟教程(十五)

目录 一、简述 二、语法错误 三、异常 四、异常处理 (一)try/except 1、异常捕捉可以使用 try/except 语句。 2、以下例子中,让用户输入一个合法的整数,但是允许用户中断这个程序(使用 Control-C 或者操作系统提供…

ChatGPT从入门到精通学习路线

课程名称适应人群 ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视 点击上述名称,学习完整视频 全面AI时代就在转角,道路已经铺好了“局外人”or“先行者”就在此刻等你决定 1、对ChatGPT感兴趣并希望有人手把手教学的新手 …

apex/amp 安装问题解决

如何安装: 首先 pip uninstall apex卸载、apex文件夹也删除, 重新安装,具体安装步骤如下: git clone https://www.github.com/nvidia/apex cd apex python setup.py install --cuda_ext --cpp_ext 只要出现了下面的语句就是完成…

人工智能数学基础2:利用SciPy中的数值积分常用函数求定积分

利用SciPy中的数值积分常用函数求定积分 21/82.625 方法一:在 SciPy 库中,可以使用 quad 函数来进行数值积分。具体实现代码如下: from scipy.integrate import quaddef integrand(x):return x**2 1/x**4 # 定义被积函数result, error q…

vue+leaflet笔记之地图卷帘

vueleaflet笔记之地图卷帘 本文介绍了Web端使用Leaflet开发库实现地图卷帘效果的方法 (底图来源:中科星图),结合leaflet-side-by-side插件可以快速简单地实现地图分屏对比效果 ,示例效果如下图所示。 开发环境 Vue开发库:3.2.37 & Leaf…

FPGA-DFPGL22学习5-VERILOG

系列文章之 上章 FPGA-DFPGL22学习4-仿真平台学习 文章目录 系列文章之 上章前言一、Verilog 简介二、Verilog基础1.逻辑值2.进制3.标识符4.数据类型寄存器类型线网类型参数类型 5.运算符 三、Verilog 程序框架1.注释2.关键字3.程序框架 四、Verilog 程序语句1.结构语句2.赋值…

微信小程序+SpringBoot接入后台服务,接口数据来自后端

前言 前两天开发了一个微信小程序项目,只不过接口数据是自己设置的假数据。然后我就想将这些假数据替换掉。这些数据来自接口,之前做过前后端分离的项目,我就想能不能直接调用那些后端数据接口。结果是可以的。以下是自己编写的部分方法 步骤…

卷积神经网络--猫狗系列之下载、导入数据集

(由于是学习,所以文章会有一些报错及解决办法) 在Kaggle()获取数据集:(没有账号先去注册一个账号,在注册时可能会出现的问题见Kaggle注册出现一排“Captcha must be filled out.”!) https://www.kaggle.…