MySQL核心知识点整理大全1-笔记

目录

MySQL

一、MySQL的基本概念

1.数据库

2.表

3.列

4.行

5.主键

6.索引

二、MySQL的安装与配置

1.下载MySQL安装包

2.安装MySQL

3.启动MySQL

4.配置MySQL

a.设置监听端口和IP地址

b.设置数据存储路径

c.设置字符集和排序规则

5.测试MySQL

三、MySQL的基本操作

1.创建表

2.插入数据

3.查询数据

4.更新数据

四、MySQL的高级操作

1.事务

2.备份和恢复


MySQL

是一种流行的关系型数据库管理系统,它是以C和C++语言编写的,最初是由瑞典公司MySQL AB开发的,现在是由Oracle公司维护和支持。MySQL是开源软件,可在Windows、Linux、Mac OS、FreeBSD等各种操作系统上运行。MySQL的主要特点是速度快、易于使用、扩展性强、可定制性高、具有高度的可靠性和稳定性。MySQL广泛应用于互联网应用、企业应用、科研等领域,被广泛认为是开发Web应用程序的首选数据库。

一、MySQL的基本概念

1.数据库

数据库是指以一定的结构和规则存储在计算机中、可供多个应用程序共享和使用的数据集合。数据库中的数据通常按照特定的模式进行组织和存储,并且可以通过SQL等语言来对其进行操作和管理。

MySQL数据库是一个以表为基础的数据库管理系统,常用的数据类型有整数、浮点数、字符型、日期型等,其中最主要的数据存储单位是表,一个表可以包含若干个字段,每个字段有其唯一的名称和数据类型。

2.表

表是存储数据的基本单位,用于存储一个特定类型的数据集合。表由若干列组成,每一列都有一个唯一的名称和数据类型,用于存储特定类型的数据。表的每一行都包含一组数据,也称为记录或行。

在MySQL中,表的设计需要考虑到数据的准确性、完整性和一致性。表的创建通常包括表名、字段名称、字段数据类型、字段长度、主键、索引等,表可以按照一定的规则进行分区、备份、恢复等管理操作。

3.列

列是表的组成部分之一,包含了一个特定类型的数据,每个列都由其唯一的名称和数据类型组成。列的数据类型包括整数型、浮点型、字符型、日期型等。在创建表时,需要指定每个列的名称和数据类型。

4.行

行是表的记录,也称为元组或实体。每行包含了若干列的数据,用于描述特定的现象或对象。在MySQL中,每行的数据都是唯一的,通常可以通过主键来唯一标识一行数据。

5.主键

主键是一种特殊的列,用来唯一标识表中的每一行数据。主键通常是一个整数型的数据,自动递增,保证每行数据的唯一性。主键可以通过索引来加快查询的速度,在表的设计中起到了至关重要的作用。

6.索引

索引是一种数据结构,用于快速定位数据表中特定数据的位置。通过在表的一列或多列上创建索引,可以大大提高查询的速度和性能。在MySQL中,常用的索引包括B树、B+树等,其中B+树是一种常用的索引类型,它具有高度的平衡性和查询效率,被广泛应用于数据库系统中。

二、MySQL的安装与配置

MySQL的安装和配置相对较为简单,主要包括以下几个步骤:

1.下载MySQL安装包

可以从MySQL官网(https://dev.mysql.com/downloads/mysql/)上下载到最新的MySQL安装包,选择适合自己系统的版本进行下载,通常包括Windows、Linux、Mac OS等多个版本。

2.安装MySQL

在安装MySQL前,需要确保系统中已经安装了必要的依赖库和软件,如C++库、Perl、Python等。然后双击安装包进行安装,按照提示进行安装即可。

3.启动MySQL

安装完成后,需要通过命令行或者图形界面启动MySQL服务。在Windows系统中,可以通过“服务管理器”来启动MySQL服务,在Linux系统中,可以通过命令“service mysql start”来启动MySQL服务。

4.配置MySQL

MySQL的配置文件通常是“my.cnf”,可以通过编辑该文件来进行一系列的配置。其中最常见的配置包括:

a.设置监听端口和IP地址

MySQL默认监听端口为3306,可以通过修改端口号和IP地址来提高安全性。

b.设置数据存储路径

MySQL的数据存储路径可以通过配置文件来进行设置,通常设置在/data/mysql或/var/lib/mysql等路径下。

c.设置字符集和排序规则

MySQL支持多种字符集和排序规则,可以通过配置文件来进行设置,以确保数据的正确处理。

5.测试MySQL

启动MySQL服务后,可以通过命令行或图形界面工具来测试MySQL是否正常工作。在Windows系统中,可以使用MySQL Workbench或Navicat等工具来测试MySQL,而在Linux系统中,则可以使用命令行工具进行测试。

三、MySQL的基本操作

MySQL支持多种操作,包括创建、修改、查询、删除等。以下是MySQL的基本操作:

1.创建表

创建表是MySQL中最基本的操作之一,在创建表时需要指定表名、列名、数据类型、长度、主键等信息。以下示例创建了一个名为“employee”的表,包含了姓名、年龄、性别和工号等字段:

CREATE TABLE employee (
    name VARCHAR(20),
    age INT,
    sex VARCHAR(10),
    id INT PRIMARY KEY AUTO_INCREMENT
);

2.插入数据

向MySQL表中插入数据也是常见的操作之一,在插入数据时需要指定数据的值和列名。以下示例向“employee”表中插入了一条记录,包含了姓名、年龄、性别和工号等信息:

INSERT INTO employee(name,age,sex,id) VALUES('张三',18,'男',1);

3.查询数据

查询数据是MySQL中最常见的操作之一,可以通过SELECT语句来查询表中的数据,也可以通过WHERE子句来过滤需要查询的数据。以下示例查询了“employee”表中所有的数据:

SELECT * FROM employee;

4.更新数据

更新数据可以通过UPDATE语句来完成,可以指定更新的列和值,也可以通过WHERE子句来过滤需要更新的数据。以下示例将“employee”表中的姓名修改为“李四”:

UPDATE employee SET name='李四' WHERE id=1;

5.删除数据

删除数据可以通过DELETE语句来完成,可以指定需要删除的行和列。以下示例删除了“employee”表中工号为1的数据:

DELETE FROM employee WHERE id=1;

四、MySQL的高级操作

除了基本操作外,MySQL还支持多种高级操作,包括事务、备份、恢复、分区等功能。

1.事务

事务指的是一系列相关的操作,可以一起提交或者回滚。在MySQL中,事务由START TRANSACTION、COMMIT和ROLLBACK三个语句组成。以下示例创建了一个事务,通过ROLLBACK语句来回滚事务。

START TRANSACTION;
UPDATE account SET balance=balance-100 WHERE id=100;
UPDATE account SET balance=balance+100 WHERE id=200;
COMMIT;
ROLLBACK;

2.备份和恢复

备份和恢复是MySQL中最重要的操作之一,可以用于保护数据的安全性。在MySQL中,可以通过mysqldump工具来进行备份和恢复操作,也可以通过使用二进制日志来进行增量备份和恢复。以下示例演示了如何使用mysqldump来备份和恢复MySQL中的数据:

备份数据:mysqldump -u root -p dbname > /path/to/backup.sql

恢复数据:mysql -u root -p dbname < /path/to/backup

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

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

相关文章

机器学习深度学学习分类模型中常用的评价指标总结记录与代码实现说明

在机器学习深度学习算法模型大开发过程中&#xff0c;免不了要对算法模型进行对应的评测分析&#xff0c;这里主要是总结记录分类任务中经常使用到的一些评价指标&#xff0c;并针对性地给出对应的代码实现&#xff0c;方便读者直接移植到自己的项目中。 【混淆矩阵】 混淆矩阵…

FreeRTOS-软件定时器

软件定时器 在FreeRTOS中可以设置无数个软件定时器&#xff0c;都是基于系统滴答中断。 使用软件定时器需要指定时间&#xff1a;启动定时器和运行回调函数。启动定时器和运行回调函数的间隔为定时器的周期。 使用软件定时器需要指定类型&#xff1a;一次性&#xff08;回调函数…

逆天营销!“保温杯”免费送,月赚600万的秘密大揭露!

导语&#xff1a;听说过“免费送”的商业模式吗&#xff1f;现实中就有这样的案例&#xff0c;有人通过“保温杯免费送”的策略&#xff0c;一个月内狂赚600万&#xff01;你一定想知道这是怎么做到的吧&#xff1f;本文将为你揭示这个神秘商业模式的奥秘&#xff01; 一、疯狂…

python开发SECS客户端

SECS&#xff08;SEMI Equipment Communications Standard&#xff09;是半导体设备间通信的标准&#xff0c;Python开发SECS客户端可以使用第三方库如SECS-II&#xff08;https://github.com/m3team/secs2&#xff09;&#xff0c;PySECS5&#xff08;https://github.com/jepl…

Redisson

0. 项目介绍 - 《Redisson 使用手册》 - 书栈网 BookStack redisson-spring-boot-starter: redisson的boot-starter.支持多实例集群,分布式锁,spring cache 整合,session集群,消息队列,对象存储 (gitee.com)

java--抽象类的常见应用场景:模板方法设计模式

1.模板方法设计模式解决了什么问题&#xff1f; ①解决方法中存在重复代码的问题。 2.模板方法设计模式的写法 1、定义一个抽象类。 2、在里面定义2个方法 ①一个是模板方法&#xff1a;把相同代码放里面去。 ②一个是抽象方法&#xff1a;具体实现交给子类完成。 分析&…

PyQt6 QFontComboBox字体组合框控件

​锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计35条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话…

webpack学习-1.起步

webpack学习-1.起步 1.基础设置2.配置文件的引入3.总结 1.基础设置 首先 webpack是干嘛的呢&#xff0c;用官网的一张图 Webpack 是一个现代的静态模块打包工具。它主要用于将前端应用程序中的各种资源&#xff08;例如 JavaScript、CSS、图片等&#xff09;打包成一个或多个…

c++学习第四讲---函数提高

1.函数默认参数&#xff1a; 在&#xff08; &#xff09;中将参数赋值&#xff0c;如果传值了&#xff0c;则用传入值&#xff0c;否则才用函数中默认参数。 例&#xff1a; int func(int a, int b 3, int c 3) {return a b c; } int main() {cout << func(1, 2)…

CKM3 组件价格 取数逻辑分析

系统中代码翻译过来如下&#xff1a; 根据TCKH1~ELEHK TCKH3~ELEHK AND TCKH1~ELEMT TCKH3~ELEMT&#xff0c; TCKH1~ELEHK TKEVA04~ELEHK AND TCKH1~ELEMT TKEVA04~ELEMT&#xff0c; 将TCKH3、TCKH1、TKEVA04组成一张表LT_TCKH3。 根据LT_TCKH3-TCKH3ELEHK成本组件结构Z1…

HTML CSS JavaScript的网页设计

一、网页界面效果&#xff1a; 二、HTML代码&#xff1a; <!DOCTYPE html> <!-- 声明文档类型--> <html lang"en"> …

HarmonyOS/OpenHarmony应用开发

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目, 目标是面向全场景、全连接、全智能时代, 搭建一个智能终端设备操作系统的框架和平台, 促进万物互联产业的繁荣发展。 了解OpenHarmony HarmonyOS是华为通过OpenHarmony项目&#xff0c;结合商业…

java--接口概述

1.认识接口 ①java提供了一个关键字interface&#xff0c;用这个关键字我们可以定义出一个特殊的结构&#xff1a;接口。 ②注意&#xff1a;接口不能创建对象&#xff1b;接口是用来被类实现(implements)的&#xff0c;实现接口的类称为实现类。 ③一个类可以实现多个接口(接…

14、pytest像用参数一样使用fixture

官方实例 # content of test_fruit.py import pytestclass Fruit:def __init__(self, name):self.name nameself.cubed Falsedef cube(self):self.cubed Trueclass FruitSalad:def __init__(self, *fruit_bowl):self.fruit fruit_bowlself._cube_fruit()def _cube_fruit(s…

如何使用Node.js快速创建本地HTTP服务器并实现异地远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

【译】AOP- Advice Param And Order

名词解释 Advice 通知 Advice Param Spring 提供完全类型化的Advice&#xff0c;这意味着您可以在Advice签名中声明所需的参数&#xff08;正如我们之前在返回和抛出示例中看到的那样&#xff09;&#xff0c;而不是一直使用Object[]数组。我们将在本节后面看到如何使参数和其他…

MySQL基础『数据类型』

✨个人主页&#xff1a; 北 海 &#x1f389;所属专栏&#xff1a; MySQL 学习 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 &#x1f381;软件版本&#xff1a; MySQL 5.7.44 文章目录 1.数据类型一览2.整型2.1.INT2.2.BIT 3.浮点数3.1.FLOAT3.2.DECIMAL3…

Spring Cache快速入门教程及案例

1. Spring Cache介绍 Spring Cache提供了一组注解&#xff0c;使开发者能够轻松地在方法上定义缓存行为 Spring Cache抽象了缓存的底层实现&#xff0c;允许开发者选择使用不同的缓存提供者&#xff08;如 Ehcache、Redis、Caffeine 等&#xff09;。通过配置相应的缓存管理器…

java读取微信p12证书信息

import java.security.*; import java.security.cert.X509Certificate; public class TestController { /*** 获取私钥*/public static void main(String args[]) throws Exception {String mchId "商户号";KeyStore ks KeyStore.getInstance("PKCS12");…

倚天屠龙:Github Copilot vs Cursor

武林至尊&#xff0c;宝刀屠龙。号令天下&#xff0c;莫敢不从。倚天不出&#xff0c;谁与争锋&#xff01; 作为开发人员吃饭的家伙&#xff0c;一款好的开发工具对开发人员的帮助是无法估量的。还记得在学校读书的时候&#xff0c;当时流行CS架构的RAD&#xff0c;Delphi和V…