Mysql教程(0):学习框架

1、Mysql简介

MySQL 是一个开放源代码的、免费的关系型数据库管理系统。在 Web 开发领域,MySQL 是最流行、使用最广泛的关系数据库。MySql 分为社区版和商业版,社区版完全免费,并且几乎能满足全部的使用场景。由于 MySQL 是开源的,我们还可以根据自己的需求,定制开发自己的特定版本。

本教程致力于让您轻松、快速、有趣的学习 MySQL。其中每个章节都结合丰富的实例来阐述,这包括可用的 SQL 脚本和实际的屏幕截图。

本教程包括了 MySQL 入门、SQL 语句、MySQL 数据管理和维护、MySQL 数据库管理、性能提升等方面,是一个完整的 MySQL 教程。
在这里插入图片描述

2、准备Mysql示例数据库Sakila

2.1 下载 Sakila 数据库

您可以从 这里 下载 Sakila 示例数据库。
点击下载链接,将会下载一个 Zip 格式的压缩文件。压缩文件中包含三个文件: sakila-schema.sqlsakila-data.sql,和 sakila.mwb

  • sakila-schema.sql 文件包含创建 Sakila 数据库结构所需的所有 CREATE 语句,包括表、视图、存储过程和触发器。
  • sakila-data.sql 文件包含插入所有数据的 INSERT 语句,这些语句一定要在 sakila-schema.sql 中的语句执行完后再运行。
  • sakila.mwb 文件是一个 MySQL Workbench 数据模型,您可以在 MySQL Workbench 中打开它以检查数据库结构。

Sakila 包含 MySQL 版本特定的注释,因为 sakila 模式和数据取决于您的 MySQL 服务器的版本。例如,MySQL 服务器 5.7.5 添加了对空间数据索引的支持 InnoDB,因此 地址表将包含 MySQL 5.7.5 及更高版本的空间感知位置列。

2.2 安装 Sakila 数据库

请按照以下步骤安装 Sakila 示例数据库:

  1. 将下载的 zip 文件解压缩到一个临时位置,例如 C:\temp\ 或 /tmp/。当您解压缩存档时,它会创建一个名为 sakila-db 的目录,其中包含 sakila-schema.sqlsakila-data.sql 文件。
  2. 使用 mysql 命令行客户端和以下命令连接到 MySQL 服务器,出现提示时输入您的密码。可以使用非 root 帐户,前提是该帐户具有创建新数据库的权限。:
mysql -u root -p
  1. 执行 sakila-schema.sql 脚本创建数据库结构,并执行 sakila-data.sql 脚本填充数据库结构,使用以下命令:
mysql> SOURCE C:/temp/sakila-db/sakila-schema.sql;
mysql> SOURCE C:/temp/sakila-db/sakila-data.sql;

用系统上的实际路径替换 sakila-schema.sql 和 sakila-data.sql 文件的路径。

在 Windows 上,执行 SOURCE 命令时使用斜杠而不是反斜杠。
在这里插入图片描述
在这里插入图片描述
上述的路径,要替换为本地的数据库文件。

  • 确认示例数据库安装正确。执行以下语句。您应该会看到类似于此处显示的输出。
mysql> use sakila;
Database changed
mysql> SHOW FULL TABLES;
+----------------------------+------------+
| Tables_in_sakila           | Table_type |
+----------------------------+------------+
| actor                      | BASE TABLE |
| actor_info                 | VIEW       |
| address                    | BASE TABLE |
| category                   | BASE TABLE |
| city                       | BASE TABLE |
| country                    | BASE TABLE |
| customer                   | BASE TABLE |
| customer_list              | VIEW       |
| film                       | BASE TABLE |
| film_actor                 | BASE TABLE |
| film_category              | BASE TABLE |
| film_list                  | VIEW       |
| film_text                  | BASE TABLE |
| inventory                  | BASE TABLE |
| language                   | BASE TABLE |
| nicer_but_slower_film_list | VIEW       |
| payment                    | BASE TABLE |
| rental                     | BASE TABLE |
| sales_by_film_category     | VIEW       |
| sales_by_store             | VIEW       |
| staff                      | BASE TABLE |
| staff_list                 | VIEW       |
| store                      | BASE TABLE |
+----------------------------+------------+
23 rows in set (0.40 sec)

2.3 Sakila 示例数据库架构

Sakila 数据库包括了 16 个表,7 个视图,3 个存储过程,3 个存储函数,6 个触发器。
Sakila 数据库中的表:

  • 演员表 actor: 演员的信息
  • 地址表 address: 包含客户、员工和商店的地址信息
  • 类别表 category: 影片的类别
  • 城市表 city: 城市列表
  • 国家表 country: 国家/地区列表
  • 客户表 customer: 客户信息
  • 影片演员关系表 film_actor: 影片和演员的多对多对应关系
  • 影片类别关系表 film_category: 影片和类别的多对多对应关系
  • 影片描述表 film_text: 影片的标题、描述信息
  • 影片表 film: 所有影片
  • 库存表 inventory: 影片拷贝的库存信息
  • 语言表 language: 影片的语言信息
  • 支付表 payment: 记录了客户的每笔付款
  • 租赁表 rental: 包含每个库存物品的每次租赁明细
  • 员工表 staff: 列出了所有员工的信息
  • 商店表 store: 列出了系统中的所有商店

本教程中使用 Sakila 示例数据库作为演示数据库,现在 Sakila 示例数据库已经就绪,请开始后面的课程吧。

Mysql基础教程(一):Selct

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

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

相关文章

选择排序,改进冒泡排序,快速排序的查找和计数排序

简单选择排序 数据结构:单链表 实现方法:n为链表长度, 第1趟先选出1到n-1个元素中的最小值和0号元素交换, 第2趟从2到n-1号元素选出最小值和1号元素交换, … 第n-2趟从n-2到n-1号元素中选出最小值和n-2号元素交换. 第n-1趟n-1号元素即为最小值。比较结束。 代码:…

1075: 求最小生成树(Prim算法)

解法&#xff1a; 总结起来&#xff0c;Prim算法的核心思想是从一个顶点开始&#xff0c;一步一步地选择与当前最小生成树相邻的且权值最小的边&#xff0c;直到覆盖所有的顶点&#xff0c;形成一个最小生成树。 #include<iostream> #include<vector> using names…

算法-跳马

bfs类的应用题。 解法&#xff1a; 每一个点都可能作为汇集的那个点&#xff0c;因此采用遍历的方式&#xff0c;对每个点进行处理&#xff0c;得出每个点的“所有马跳到本点的最小步数和“&#xff0c;取最小值即可。 逻辑1&#xff1a;以该点作为源点出发&#xff0c;求处…

springboot基于Web前端技术的java养老院管理系统_utbl7

3.普通用户模块包括&#xff1a;普通会员的注册、养老院客房查询、养老院留言查询、预约老人基本信息登记、选择房间、用户缴费的功能。 4.数据信息能够及时进行动态更新&#xff0c;增删&#xff0c;用户搜素方便&#xff0c;使用户可以直接浏览相关信息&#xff0c;要考虑便于…

Vue3实战笔记(35)—集成炫酷的粒子特效

文章目录 前言一、vue3使用tsparticles二、使用步骤总结 前言 学习一个有趣炫酷的玩意开心一下。 tsparticles&#xff0c;可以方便的实现各种粒子特效。支持的语言框架也是相当的丰富. 官网&#xff1a;https://particles.js.org/ 一、vue3使用tsparticles 先来个vue3使用…

Go 语言逃逸分析:内存管理的关键

文章目录 前言1 逃逸分析是什么&#xff1f;2 逃逸分析的基本思想是什么&#xff1f;3 逃逸分析的分配原则是什么&#xff1f;4 如何进行逃逸分析&#xff1f;5 逃逸分析案例5.1 变量在函数外存在引用5.2 引用类型的逃逸5.3 闭包捕获变量5.4 变量占用内存较大 6 变量会逃逸到堆…

代码随想录训练营打卡第36天:动态规划解决子序列问题

1.300最长递增子序列 1.问题描述 找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。 2.问题转换 从nums[0...i]的最长的递增的子序列 3.解题思路 每一个位置的n…

经济学问题

问题1 1916年&#xff0c;福特汽车公司以440美元的价格生产了50万辆T型福特汽车。该公司当年盈利6000万美元。亨利福特告诉一位报纸记者&#xff0c;他打算把T型车的价格降至360美元&#xff0c;他希望在这个价格上能卖出80万辆汽车。福特说&#xff1a;“每辆车的利润减少&am…

Flutter 中的 CupertinoPicker 小部件:全面指南

Flutter 中的 CupertinoPicker 小部件&#xff1a;全面指南 在Flutter中&#xff0c;CupertinoPicker是一个用于创建iOS风格的选择器的组件&#xff0c;它允许用户通过滚动来选择一个值。CupertinoPicker可以用于选择日期、时间或者任何可枚举的值。本文将详细介绍CupertinoPi…

C++多态详解

目录 一、多态的概念 二、多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写 4.例题理解&#xff08;超级重要&#xff0c;强烈建议做一下&#xff09; 5.C11 override和 final 6.重载、覆盖&#xff08;重写&#xff09;、隐藏&#xff08;重定义&#xff0…

【yijiej】mysql报错 之 报错:Duplicate entry 字段 for key ‘表名.idx_字段’

一、问题操作 Mysql 进行insert 操作&#xff0c;报错&#xff1a;Duplicate entry 字段 for key ‘表名.idx_字段’ 原因解析&#xff1a;idx 是做的索引键&#xff0c;是具有唯一性二、问题原因&#xff08;三种情况&#xff0c;当前我遇到的情况是第一种&#xff09; 1、当 …

零基础代码随想录【Day42】|| 1049. 最后一块石头的重量 II,494. 目标和,474.一和零

目录 DAY42 1049.最后一块石头的重量II 解题思路&代码 494.目标和 解题思路&代码 474.一和零 解题思路&代码 DAY42 1049.最后一块石头的重量II 力扣题目链接(opens new window) 题目难度&#xff1a;中等 有一堆石头&#xff0c;每块石头的重量都是正整…

(Qt) 默认QtWidget应用包含什么?

文章目录 ⭐前言⭐创建&#x1f6e0;️选择一个模板&#x1f6e0;️Location&#x1f6e0;️构建系统&#x1f6e0;️Details&#x1f6e0;️Translation&#x1f6e0;️构建套件(Kit)&#x1f6e0;️汇总 ⭐项目⚒️概要⚒️构建步骤⚒️清除步骤 ⭐Code&#x1f526;untitled…

【EasyX】快速入门——消息处理,音频

1.消息处理 我们先看看什么是消息 1.1.获取消息 想要获取消息,就必须学会getmessage函数 1.1.1.getmessage函数 有两个重载版本,它们的作用是一样的 参数filter可以筛选我们需要的消息类型 我们看看参数filter的取值 当然我们可以使用位运算组合这些值 例如,我们…

华为CE6851-48S6Q-HI升级设备版本及补丁

文章目录 升级前准备工作笔记本和交换机设备配置互联地址启用FTP设备访问FTP设备升级系统版本及补丁 升级前准备工作 使用MobaXterm远程工具连接设备&#xff0c;并作为FTP服务器准备升级所需的版本文件及补丁文件 笔记本和交换机设备配置互联地址 在交换机接口配置IP&#…

Facebook隐私保护:数据安全的前沿挑战

在数字化时代&#xff0c;随着社交媒体的普及和应用&#xff0c;个人数据的隐私保护问题日益受到关注。作为全球最大的社交平台之一&#xff0c;Facebook承载了数十亿用户的社交活动和信息交流&#xff0c;但与此同时&#xff0c;也面临着来自内外部的数据安全挑战。本文将深入…

AWS Elastic Beanstalk 监控可观测最佳实践

一、概述 Amazon Web Services (AWS) 包含一百多种服务&#xff0c;每项服务都针对一个功能领域。服务的多样性可让您灵活地管理 AWS 基础设施&#xff0c;然而&#xff0c;判断应使用哪些服务以及如何进行预配置可能会非常困难。借助 Elastic Beanstalk&#xff0c;可以在 AW…

【LinuxC语言】一切皆文件的理念

文章目录 引言一、什么是“一切皆文件”&#xff1f;1. 文件柜的类比2. 统一的操作方式3. 举个具体例子4. 设备文件5. 进程和网络连接6. 简化管理 二、这一设计的优势1. 统一接口2. 灵活性3. 简化了系统管理4. 增强了系统安全性 结论 引言 Linux 操作系统以其独特的设计理念和…

如何使用JMeter 进行全链路压测

使用 JMeter 进行全链路压测&#xff1a;详细步骤指南 全链路压测旨在测试整个系统的性能&#xff0c;包括所有的组件和服务。通过 Apache JMeter 进行全链路压测&#xff0c;可以模拟真实用户行为&#xff0c;测试系统在高负载下的表现。以下是详细的步骤指南&#xff0c;分为…

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(七):快启

前言: 汽车仪表是人们了解汽车状况的窗口,而仪表中的大部分信息都是以指示灯形式显示给驾驶者。仪表指示灯图案都较为抽象,对驾驶不熟悉的人在理解仪表指示灯含义方面存在不同程度的困难,尤其对于驾驶新手,如果对指示灯的含义不求甚解,有可能影响驾驶的安全性。即使是对…