• Mysql(基本介绍+下载安装+服务器+基本使用+建库建表+navicat/mybitas工具+外键及实例)


    一、Mysql基本介绍

    当谈论MySQL时,通常指的是一个流行的开源关系型数据库管理系统(RDBMS)。MySQL是由瑞典的开发者在1995年创建的,后来被Sun Microsystems收购,最终成为Oracle Corporation的一部分。以下是关于MySQL的一些基本信息:

    1. 关系型数据库管理系统(RDBMS): MySQL是一种关系型数据库管理系统,这意味着它使用表格来存储数据,并且支持SQL(Structured Query Language)用于查询和管理这些数据。

    2. 表格和字段: 数据在MySQL中以表格的形式存储,表格由行和列组成。每一列代表一个字段,每一行代表一条记录。

    3. 主键: 表中的一列可以被指定为主键,用于唯一标识表中的每一行。主键确保数据的唯一性。

    4. SQL语言: MySQL使用SQL语言进行数据的增、删、改、查操作。常见的SQL命令包括SELECT(查询数据)、INSERT(插入数据)、UPDATE(更新数据)、DELETE(删除数据)等。

    5. 数据类型: MySQL支持多种数据类型,包括整数、浮点数、字符串、日期等。每种数据类型都有特定的存储规则和范围。

    6. 索引: 为了提高查询性能,可以在表的一列或多列上创建索引。索引允许数据库系统快速定位并检索特定值。

    7. 存储过程和触发器: MySQL支持存储过程和触发器,这些是预先定义的操作序列,可以在数据库中执行。

    8. 安全性: MySQL提供了许多安全特性,包括用户身份验证、访问控制和数据加密,以确保数据库的安全性。

    9. 多用户支持: 多个用户可以同时访问MySQL数据库,并且可以通过访问控制规则进行管理。

    10. 跨平台: MySQL可在各种操作系统上运行,包括Windows、Linux和macOS。

    11. 开源: MySQL是开源软件,可以免费使用,并且有一个庞大的社区支持和贡献。

    要使用MySQL,需要首先安装MySQL服务器,然后通过MySQL客户端或其他数据库管理工具连接到服务器进行数据操作。可以通过SQL语句执行各种操作,从简单的查询到复杂的数据处理。 MySQL的文档和社区提供了丰富的资源,帮助用户学习和使用这个强大的数据库管理系统。

    二、下载及安装

    以下是MySQL的下载和安装过程的基本步骤。请注意,这些步骤具体取决于使用的操作系统和MySQL的版本。

    下载 MySQL

    1. 访问 MySQL 官方网站: 前往 MySQL 官方网站

    2. 选择 MySQL 版本: 在下载页面上,选择想要下载的 MySQL 版本。通常可以选择 MySQL Community Edition(社区版)或 MySQL Enterprise Edition(企业版)。

    3. 选择操作系统: 选择当前使用的操作系统。MySQL 支持多种操作系统,包括 Windows、Linux 和 macOS。

    4. 下载安装程序: 点击下载按钮,下载适用于操作系统的安装程序。安装程序可能是一个可执行文件(如 .exe 文件)、压缩包或其他格式。

    安装 MySQL

    Windows 上的安装:
    1. 运行安装程序: 打开下载的 MySQL 安装程序(.exe 文件),运行安装向导。

    2. 选择安装类型: 通常有两个安装类型,选择 “Server Only” 或 “Server and Client”,根据需求选择。

    3. 选择配置类型: 选择 “Standalone MySQL Server”,然后点击 “Next”。

    4. 配置 MySQL 服务: 输入 MySQL 服务的端口和设置密码。点击 “Next”。

    5. 执行安装: 点击 “Execute” 开始安装。

    6. 完成安装: 安装完成后,点击 “Finish”。

    Linux 上的安装:
    1. 解压文件: 如果下载的是压缩包,解压到想要安装 MySQL 的目录。

      tar -xvf mysql-<version>-<os>-<arch>.tar.gz
      
      • 1
    2. 安装依赖库: 安装 MySQL 依赖的库。

      sudo apt-get update
      sudo apt-get install libaio1 libnuma1
      
      • 1
      • 2
    3. 配置环境变量: 将 MySQL 的 bin 目录添加到系统的 PATH 中。

      export PATH=$PATH:/path/to/mysql/bin
      
      • 1
    4. 初始化数据库: 运行 MySQL 初始化脚本。

      mysqld --initialize --user=mysql --basedir=/path/to/mysql --datadir=/path/to/mysql/data
      
      • 1
    5. 启动 MySQL 服务:

      mysqld --user=mysql &
      
      • 1
    6. 设置 root 密码:

      mysql_secure_installation
      
      • 1

      按照提示设置 root 密码和其他安全设置。

    验证 MySQL 安装

    无论使用哪种操作系统,安装完成后,可以通过以下步骤验证 MySQL 是否正确安装:

    1. 启动 MySQL 服务:

      sudo service mysql start   # 仅适用于 Linux 系统
      
      • 1
    2. 连接到 MySQL:

      mysql -u root -p
      
      • 1

      输入设置的 root 密码,如果一切正常,将进入 MySQL 的命令行界面。

    以上是一个简单的 MySQL 下载和安装的指南。

    三、Mysql服务器

    在MySQL的上下文中,术语 “服务器” 可以指代多个不同的概念。在一般情况下,它可能指MySQL服务器软件、MySQL数据库服务器实例(运行在特定主机上的MySQL服务)或者MySQL服务器计算机(托管一个或多个数据库实例的物理或虚拟计算机)。

    1. MySQL服务器软件: 这是MySQL数据库管理系统的实际软件。当从MySQL官方网站下载MySQL时,下载的是MySQL服务器软件。这个软件包括了MySQL数据库管理系统的核心引擎、命令行工具、客户端库等。需要在计算机上安装这个软件,以便能够创建、管理和访问MySQL数据库。

    2. MySQL数据库服务器实例: 当在计算机上安装MySQL服务器软件后,可以创建一个或多个MySQL数据库服务器实例。每个实例是一个独立运行的MySQL服务,具有自己的配置、数据库和用户。每个实例通常监听在不同的端口上,允许通过网络连接到这个实例。在MySQL服务器实例中,可以创建和管理多个数据库,执行SQL查询和操作数据。

    3. MySQL服务器计算机: 这是承载一个或多个MySQL数据库服务器实例的物理或虚拟计算机。这个计算机可以是本地开发机、一个云服务器,或者一个专门用于数据库服务的服务器。MySQL服务器计算机上的MySQL服务器软件负责处理客户端的请求、执行SQL语句,并存储和管理数据。

    下载MySQL时需要考虑的内容:

    当决定下载MySQL时,需要注意以下几点:

    1. 选择版本: MySQL通常有多个版本可用,包括稳定版和开发版。对于生产环境,建议选择稳定版,而对于开发和测试,可以考虑使用开发版。

    2. 选择操作系统: 选择适用于操作系统的MySQL版本。MySQL支持多种操作系统,包括Windows、Linux、macOS等。

    3. 选择安装类型: MySQL提供了不同的安装类型,包括社区版(Community Edition)和企业版(Enterprise Edition)。大多数情况下,社区版已经足够满足一般需求。

    4. 下载安装程序: 根据操作系统和选择的MySQL版本,选择正确的安装程序。在Windows上可能是一个.exe文件,而在Linux上可能是一个.tar.gz压缩包。

    5. 可选的MySQL工具: 除了MySQL服务器软件外,还可以选择下载和安装MySQL的图形用户界面(GUI)工具,如MySQL Workbench。这些工具提供了可视化的方式来管理和查询数据库。

    综上所述,当要下载MySQL时,你需要考虑你的使用场景、操作系统,并选择适当版本和安装类型。下载后,按照相应的安装指南进行安装。

    四、Mysql+navicat工具

    是的,MySQL可以与许多第三方工具一起使用,而 Navicat 是其中一个流行的数据库管理工具。Navicat 提供了一个用户友好的图形界面,使得数据库的管理、查询和维护变得更加直观和便捷。

    以下是 MySQL 和 Navicat 结合使用的一些常见场景:

    1. 连接到 MySQL 服务器: Navicat 允许你轻松地连接到远程或本地的 MySQL 服务器。你只需提供连接参数,如主机地址、端口、用户名和密码即可。

    2. 数据库管理: 使用 Navicat,你可以方便地浏览、创建、修改和删除数据库。这使得数据库的管理变得更加直观,无需使用命令行。

    3. 表设计: Navicat 提供了一个直观的表设计工具,让你能够创建、修改和删除表,设置主键、外键、索引等约束。

    4. 数据查询和编辑: Navicat 提供了一个 SQL 编辑器,用于执行查询、插入、更新和删除数据。查询结果以表格形式呈现,方便查看和编辑。

    5. 数据导入和导出: 你可以使用 Navicat 轻松地将数据从各种格式导入到 MySQL 数据库中,也可以将 MySQL 数据导出为不同的文件格式。

    6. 备份和恢复: Navicat 提供了数据库备份和恢复工具,使你能够轻松创建数据库备份并在需要时进行恢复。

    7. 可视化工具: Navicat 提供了可视化的数据库监视和性能优化工具,帮助你识别潜在的性能问题,并提供建议进行优化。

    8. 版本控制: 一些版本的 Navicat 支持与版本控制系统(如Git)集成,以便更好地跟踪数据库架构的变化。

    使用 Navicat 或其他类似的工具可以极大地简化数据库管理任务,并提供更直观的界面,尤其是对于不习惯使用命令行的用户。这类工具通常支持多种数据库管理系统,不仅仅局限于 MySQL。

    五、Mysql结合mybatic使用

    MySQL可以与许多不同的工具和框架搭配使用,其中包括 MyBatis。MyBatis 是一个用于 Java 编程语言的持久层框架,它简化了数据库访问的过程,提供了一种将数据库操作与 Java 代码解耦的方式。

    以下是 MySQL 和 MyBatis 结合使用的一些常见场景和示例:

    1. 配置 MyBatis 数据源: 在 MyBatis 的配置文件中,你可以配置数据源信息,包括数据库的连接地址、用户名、密码等。下面是一个示例配置:

      
      <dataSource type="POOLED">
          <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
          <property name="url" value="jdbc:mysql://localhost:3306/your_database"/>
          <property name="username" value="your_username"/>
          <property name="password" value="your_password"/>
      dataSource>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

      请确保替换上述示例中的占位符(your_database、your_username、your_password)为实际的数据库信息。

    2. 创建 MyBatis 映射文件: MyBatis 使用映射文件来定义 SQL 查询、插入、更新和删除等操作。以下是一个简单的映射文件示例:

      
      <mapper namespace="com.example.YourMapper">
          <select id="selectUser" resultType="User">
              SELECT * FROM users WHERE id = #{id}
          select>
      mapper>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      这里的 #{id} 是 MyBatis 的参数占位符。

    3. 在 Java 代码中使用 MyBatis: 在 Java 代码中,你可以通过 MyBatis 的 API 来执行数据库操作。以下是一个简单的示例:

      SqlSession sqlSession = sqlSessionFactory.openSession();
      try {
          YourMapper mapper = sqlSession.getMapper(YourMapper.class);
          User user = mapper.selectUser(1);
          System.out.println(user);
      } finally {
          sqlSession.close();
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

      这里的 YourMapper 是你在映射文件中定义的命名空间。

    4. 整合 MyBatis 和 Spring: 如果使用 Spring 框架,可以整合 MyBatis 和 Spring,以便更好地管理事务、依赖注入等。这通常涉及配置 Spring 数据源、事务管理器等。

      
      <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
          <property name="dataSource" ref="dataSource"/>
          <property name="mapperLocations" value="classpath:/your/mapper/location/*.xml"/>
      bean>
      
      <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
          <property name="dataSource" ref="dataSource"/>
      bean>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9

      这里的 your/mapper/location/*.xml 是你的 MyBatis 映射文件所在的路径。

    通过这些步骤,可以将 MySQL 和 MyBatis 结合使用,从而更方便地进行数据库操作。在实际项目中,可能还需要考虑事务管理、异常处理、连接池配置等方面的问题。 MyBatis 的官方文档和示例提供了更详细的信息,有助于更好地理解和使用这个持久层框架。

    六、Mysql中的常见操作

    在MySQL中,有一些常见的操作,涵盖了数据库的基本管理、数据查询和修改等方面。以下是一些MySQL中常见的操作:

    1. 连接到MySQL服务器:

      mysql -u 用户名 -p
      
      • 1

      这个命令将提示你输入密码,并连接到MySQL服务器。

    2. 创建数据库:

      CREATE DATABASE 数据库名;
      
      • 1

      创建一个新的数据库。

    3. 选择数据库:

      USE 数据库名;
      
      • 1

      选择要操作的数据库。

    4. 创建表:

      CREATE TABLE 表名 (1 数据类型,2 数据类型,
          ...
      );
      
      • 1
      • 2
      • 3
      • 4
      • 5

      创建一个新的表格。

    5. 插入数据:

      INSERT INTO 表名 (1,2, ...) VALUES (1,2, ...);
      
      • 1

      向表中插入新的记录。

    6. 查询数据:

      SELECT1,2 FROM 表名 WHERE 条件;
      
      • 1

      从表中检索数据。

    7. 更新数据:

      UPDATE 表名 SET1 =1 WHERE 条件;
      
      • 1

      更新表中的记录。

    8. 删除数据:

      DELETE FROM 表名 WHERE 条件;
      
      • 1

      从表中删除记录。

    9. 添加主键:

      ALTER TABLE 表名 ADD PRIMARY KEY (列名);
      
      • 1

      添加主键以确保数据的唯一性。

    10. 创建索引:

    CREATE INDEX 索引名 ON 表名 (列名);
    
    • 1

    创建一个索引以提高查询性能。

    1. 删除表:

      DROP TABLE 表名;
      
      • 1

      删除一个表。

    2. 更改表结构:

      ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;
      
      • 1

      修改表结构,例如更改列的数据类型。

    3. 查看表结构:

      DESC 表名;
      
      • 1

      查看表的结构,包括列名、数据类型等信息。

    4. 备份和恢复数据库:

      -- 备份整个数据库
      mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
      
      -- 恢复数据库
      mysql -u 用户名 -p 数据库名 < 备份文件.sql
      
      • 1
      • 2
      • 3
      • 4
      • 5

      使用 mysqldump 命令可以备份整个数据库,然后使用 mysql 命令进行恢复。

    这些是一些基本的MySQL操作,可以开始在MySQL数据库中进行数据管理和查询。根据具体的需求,还可以了解更多高级的操作和特性,例如存储过程、触发器、视图等。 MySQL的官方文档是学习更多内容的好资源。

    七、Mysql创建一个数据库

    在MySQL中,要创建一个数据库,你可以使用 CREATE DATABASE 语句。以下是创建数据库的基本语法:

    CREATE DATABASE database_name;
    
    • 1

    在这个语句中,database_name 是你想要创建的数据库的名称。以下是一个简单的例子:

    CREATE DATABASE mydatabase;
    
    • 1

    这将创建一个名为 “mydatabase” 的数据库。请注意,数据库名称是不区分大小写的,但是在MySQL中通常习惯将它们写成小写字母,以避免混淆。

    如果你想要在创建数据库的同时指定一些其他选项,你可以使用更详细的语法。例如,你可以指定字符集和校对规则:

    CREATE DATABASE mydatabase
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_general_ci;
    
    • 1
    • 2
    • 3

    在这个例子中,数据库 “mydatabase” 将使用 utf8mb4 字符集,utf8mb4_general_ci 校对规则。你可以根据你的需求选择不同的字符集和校对规则。

    请注意,创建数据库的权限通常需要在MySQL服务器上具有足够的权限。如果你没有足够的权限,可能需要联系管理员或使用具有足够权限的用户账户。

    最后,如果你使用的是MySQL的命令行客户端,你可以直接在命令行中输入这些SQL语句来创建数据库。如果使用图形用户界面(GUI)工具,通常会提供一个界面来执行这些操作。

    八、Mysql创建一个表

    在构建MySQL表时,需要进行良好的设计,以确保数据库的性能、可维护性和数据完整性。以下是一些设计表时需要考虑的关键方面:

    1. 表名和列名: 表名和列名应具有描述性,能够清晰地表达其所代表的数据。避免使用关键字、特殊字符和空格,使用下划线或驼峰命名法(如user_tableuserTable)是一种常见的命名约定。

    2. 数据类型: 对每一列选择适当的数据类型,以节省存储空间并提高检索效率。常见的数据类型包括整数型(INTBIGINT)、字符型(VARCHAR)、日期型(DATEDATETIME)等。

    3. 主键: 每个表应该有一个主键,用于唯一标识表中的每一行。通常使用整数型(如INT)作为主键,可以选择自增长属性,确保每次插入都有唯一的标识。

      CREATE TABLE example_table (
          id INT PRIMARY KEY AUTO_INCREMENT,
          -- other columns
      );
      
      • 1
      • 2
      • 3
      • 4
    4. 外键: 如果表与其他表存在关联关系,可以使用外键来建立这种关系。外键可以确保数据的一致性,保证引用的数据在关联表中存在。

      CREATE TABLE orders (
          order_id INT PRIMARY KEY,
          product_id INT,
          FOREIGN KEY (product_id) REFERENCES products(product_id)
      );
      
      • 1
      • 2
      • 3
      • 4
      • 5
    5. 索引: 在经常进行查询的列上创建索引,以提高查询性能。但要注意,过多的索引可能会影响插入、更新和删除的性能,因此需要权衡。

      CREATE INDEX index_name ON table_name (column1, column2, ...);
      
      • 1
    6. 约束: 使用约束确保数据的完整性。包括主键约束、唯一约束、非空约束等。例如,确保用户名列是唯一的:

      CREATE TABLE users (
          user_id INT PRIMARY KEY,
          username VARCHAR(50) UNIQUE,
          -- other columns
      );
      
      • 1
      • 2
      • 3
      • 4
      • 5
    7. 默认值和约束: 在设计表时,可以为列设置默认值,以及定义列的约束条件。这有助于确保数据的一致性和减少错误。

      CREATE TABLE example_table (
          column1 INT DEFAULT 0,
          column2 VARCHAR(255) NOT NULL,
          -- other columns
      );
      
      • 1
      • 2
      • 3
      • 4
      • 5
    8. 范式设计: 尽量遵循数据库范式,确保数据的一致性和避免数据冗余。这包括将数据分解成逻辑上相关的表,以减少重复存储。

    9. 注释: 在表和列上添加注释,以提供关于表结构和数据含义的信息。这有助于他人理解数据库设计和维护。

    实际的数据库设计取决于具体的应用需求和数据特性。在设计之前,最好考虑数据库的查询需求、数据关系、性能要求等因素。

    九、Mysql中的外键及实例

    在MySQL中,外键是用来建立表与表之间关系的一种机制。外键约束确保了两个表之间的数据一致性,它基于一个表的一列与另一个表的主键列之间的关联。

    以下是一个简单的例子,关于在MySQL中使用外键:

    假设我们有两个表,一个是 “students” 表,另一个是 “courses” 表。我们希望 “students” 表中的一个列关联到 “courses” 表中的主键列,以表示学生所选的课程。

    1. 创建 “courses” 表:

      CREATE TABLE courses (
          course_id INT PRIMARY KEY,
          course_name VARCHAR(255) NOT NULL
      );
      
      • 1
      • 2
      • 3
      • 4

      在这里,我们创建了一个名为 “courses” 的表,其中包含一个整数类型的主键列 “course_id” 和一个表示课程名称的列 “course_name”。

    2. 创建 “students” 表并添加外键约束:

      CREATE TABLE students (
          student_id INT PRIMARY KEY,
          student_name VARCHAR(255) NOT NULL,
          course_id INT,
          FOREIGN KEY (course_id) REFERENCES courses(course_id)
      );
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      在这里,我们创建了一个名为 “students” 的表,包含一个整数类型的主键列 “student_id”、一个表示学生姓名的列 “student_name”,以及一个 “course_id” 列,它将成为外键。

      FOREIGN KEY (course_id) REFERENCES courses(course_id) 表示 “course_id” 列是一个外键,它参考了 “courses” 表中的 “course_id” 列。

    3. 插入数据:

      -- 插入课程数据
      INSERT INTO courses (course_id, course_name) VALUES
          (1, 'Mathematics'),
          (2, 'Physics'),
          (3, 'Computer Science');
      
      -- 插入学生数据,并指定选课关系
      INSERT INTO students (student_id, student_name, course_id) VALUES
          (101, 'Alice', 1),
          (102, 'Bob', 2),
          (103, 'Charlie', 1);
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11

      在这里,我们插入了一些课程和学生数据,并通过 “students” 表中的 “course_id” 列与 “courses” 表中的 “course_id” 列建立了关联。

    通过使用外键,我们可以确保 “students” 表中的 “course_id” 值必须在 “courses” 表中的 “course_id” 列中存在,从而保持两个表之间的关联性。这有助于维护数据的一致性,防止不一致的关联关系。

    十、Mysql简单化学习

    1.下载一个mysql服务器并安装和配置环境变量
    2.下载一个Navicat.连接上mysql服务器
    3.在navicat中进行建立数据库,建立表格,查询等一系列的操作
    4.如果是springboot项目,结合mybatics,直接和数据库关联起来,简单化
    5.navicat还可以导出ER图,并根据这个图继续进行设计。

  • 相关阅读:
    vue2 provide/inject watch 监控inject中值变化
    使用ajax上传文件
    open cv快速入门系列---数字图像基础
    LeetCode 每日一题 2022/8/1-2022/8/7
    NAACL2022信息抽取论文分类
    自动化测试基础——Pytest框架之YAML详解以及Parametrize数据驱动
    C语言力扣刷题13——最大子数组和[线性动态规划]
    [问题解决方案](多人共同合并场景)git已merge到master分支代码且被同事代码覆盖如何回退
    Docker Restful API快速入门
    【kubernetes篇】通过描述信息,理解Pod生命周期
  • 原文地址:https://blog.csdn.net/weixin_45594172/article/details/134528999