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

news2025/1/13 10:20:37

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.coloradmin.cn/o/1274462.html

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

相关文章

数字图像处理(实践篇)十四 图像金字塔

目录 一 图像金字塔 二 涉及的函数 三 实践 一 图像金字塔 在某些情况下&#xff0c;需要处理不同分辨率的&#xff08;相同&#xff09;图像。比如&#xff0c;在图像中搜索某些目标&#xff08;比如人脸&#xff09;的时候&#xff0c;不确定该目标在所述图像中会以多大的…

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

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

HTML5+CSS3小实例:纯CSS实现文字组成肖像特效

实例:纯CSS实现文字组成肖像特效 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" conten…

Java SpringBoot Controller常见写法

文章目录 环境Controller调用脚本运行结果总结 环境 系统: windows 11 工具: java, idea, git bash Controller 接口常见有以下几种方式 其中&#xff1a; Tobj 调用脚本 我的是windows 系统&#xff0c;使用 git bash 窗口运行, 用 cmd 或者 power shell 会有问题 curl …

《合成孔径雷达成像算法与实现》_使用CS算法对RADARSAT-1数据进行成像

CSA 简介&#xff1a;Chirp Scaling 算法 (简称 CS 算法&#xff0c;即 CSA) 避免了 RCMC 中的插值操作。该算法基于 Scaling 原理&#xff0c;通过对 chirp 信号进行频率调制&#xff0c;实现了对信号的尺度变换或平移。基于这种原理&#xff0c;可以通过相位相乘代替时域插值…

ssh连接docker容器处理备忘

1、查看容器ip&#xff0c;记下来之后要用 docker inspect elastic | grep IPAddress 2、使用root进入docker容器 docker exec -it -u root elastic /bin/bash 3、安装openssh #更新apt apt-get update#安装ssh client apt-get install openssh-client#安装ssh server apt-…

子类拷贝构造函数会调用父类拷贝构造函数吗?

一. 编译器提供的默认子类拷贝构造函数会调用父类拷贝构造函数。 #include <iostream> #include <string> using namespace std;class Parent { public:Parent(string home_address "中国") : m_home_address(home_address) {cout << "调用…

【网络安全】用永恒之蓝(Eternal blue)测试windows系统的安全性

一、kali默认账户和密码都为kali 攻击机&#xff1a;Linux 的 kali 目标机&#xff1a;Windows7 x64 二、kali、metasploit、metasploit 攻击 windows操作系统、metasploit 攻击 永恒之蓝 全流程 ①kali&#xff1a;是黑客攻击机。开源免费的Linux操作系统&#xff0c;含有300…

11.30_黑马Redis实战篇分布式锁

实战篇9 设立一个在jvm外的锁监视器&#xff0c;可以处理多线程的问题 实战篇10 获取锁的时候&#xff0c;要同时发生获取锁以及设置到期时间。 实战篇11 thinking&#xff1a;JAVA中的自动拆箱与装箱&#xff1f; 【Java基础】自动拆装箱_Elephant_King的博客-CSDN博客 TR…

【微服务 SpringCloudAlibaba】实用篇 · Feign服务远程调用

微服务&#xff08;7&#xff09; 文章目录 微服务&#xff08;7&#xff09;1. Feign替代RestTemplate1&#xff09;引入依赖2&#xff09;添加注解3&#xff09;编写Feign的客户端4&#xff09;测试5&#xff09;总结 2.自定义配置2.1 配置文件方式2.2 Java代码方式 3. Feign…

Unity随笔1 - 安卓打包JDK not found

今天遇到一个很奇怪的事情&#xff0c;之前可以正常打安卓包&#xff0c;但是突然报错如下&#xff1a; 提示很明显&#xff0c;找不到JDK了。可是我在下载Unity的时候明明安装了所有需要的组件&#xff0c;为什么今天突然不行。 看了眼Unity hub里面&#xff0c;没问题。 那就…

go elasticsearch 测试实例

// 查询列表数据 func QueryOperateList(ctx context.Context, esClient *elastic.Client, index string, pageNum, pageSize int, start, end int64, execSql string, list []interface{}, operateAccount string, operateAddr string, maxRows, minRows int, dbAddr, namespa…

【UGUI】实现背包的常用操作

1. 添加物品 首先&#xff0c;你需要一个包含物品信息的类&#xff0c;比如 InventoryItem&#xff1a; using UnityEngine;[CreateAssetMenu(fileName "NewInventoryItem", menuName "Inventory/Item")] public class InventoryItem : ScriptableObje…

【Azure 架构师学习笔记】- Azure Databricks (1) - 环境搭建

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 前言 Databricks 已经成为了数据科学的必备工具&#xff0c;今时今日你已经很难抛开它来谈大数据&#xff0c;它常用于做复杂的ETL中的T&#xff0c; 数据分析&#xff0c;数据挖掘等&#xff0c;…

[架构之路-255]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 软件架构风格

目录 前言&#xff1a; 一、建筑风格 1.1 什么是建筑风格 1.2 常见的建筑风格 1.3 如何区分不同的建筑风格 二、软件架构风格概述 2.1 什么是软件架构风格 2.2 如何区分不同的软件架构风格 2.3 软件架构风格的发展阶段 2.4 软件架构风格与软件架构的区别 2.5 常见的…

在 S/4HANA、ECC 和 ERP 上轻松扩展或简化 SAP WM,并将其自动化到移动环境中

为您的 SAP WM 提供完整的本地 SAP 图形用户界面 基于原生通道架构&#xff08;NCA&#xff09;&#xff0c;iOS、Android 和手持 Scanguns 版 Liquid UI 可与 SAP WM 原生连接&#xff0c;同时保留 SAP GUI 丰富的事务处理功能。它使您无需编程即可直接从移动设备访问 MIGO、…

知识图谱最简单的demo实现——基于pyvis

1、前言 我们在上篇文章中介绍了知识图谱的简单实现&#xff0c;最后使用neo4j进行了展示&#xff0c;对于有些情况我们可能并不想为了查看知识图的结果再去安装一个软件去实现&#xff0c;那么我们能不能直接将三元组画出来呢/ 接下来我们就介绍一个可视化的工具pyvis&#…

Memcached最新2023年面试题,高级面试题及附答案解析

文章目录 01、Memcached是什么&#xff0c;有什么作用&#xff1f;02、Memcached的多线程是什么&#xff1f;如何使用它们&#xff1f;03、Memcached与Redis的区别&#xff1f;04、如果缓存数据在导出导入之间过期了&#xff0c;怎么处理这些数据呢&#xff1f;05、如何实现集群…

网站提示不安全?

随着互联网的普及和发展&#xff0c;网络安全问题日益严重。黑客攻击、数据泄露、恶意软件等问题层出不穷&#xff0c;给企业和个人带来了巨大的损失。在这个背景下&#xff0c;确保网站安全显得尤为重要&#xff0c;而使用SSL证书是解决这些问题的有效措施。 什么是SSL证书&am…

【23-24 秋学期】NNDL 作业9 RNN - SRN

简单循环网络&#xff08;Simple Recurrent Network&#xff0c;SRN&#xff09;只有一个隐藏层的神经网络&#xff0e; 目录 1. 实现SRN &#xff08;1&#xff09;使用Numpy &#xff08;2&#xff09;在1的基础上&#xff0c;增加激活函数tanh &#xff08;3&#xff0…