Mysql教程(一):Mysql数据模型和SQL语法分析

2023-11-11

Mysql教程(一):Mysql数据模型和SQL语法分析

1、Mysql数据模型

1.1 关系型数据库(RDBMS)

概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。

特点:

  • 使用存储数据,格式统一,便于维护
  • 使用SQL语言操作,标准统一,使用方便

1.2 数据模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HMWLBeVf-1689585450571)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230717170636361.png)]

2、SQL语法分析

2.1 SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾。
  2. SQL语句可以使用空格/缩进增强语句的可读性。
  3. MYSQL数据库的SQL语句不分大小写,关键字建议使用大写。
  4. 注释:
    1. 单行注释: --注释内容# 注释内容(Mysql特有)
    2. 多行注释:/*注释内容*/

2.2 SQL分类

分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库、表、字段)
DML Data Manipulation Language 数据库操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql教程(一):Mysql数据模型和SQL语法分析 的相关文章

  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • 选择两列中两个日期之间的记录

    如何选择两列中两个日期之间的记录 Select From MyTable Where 2009 09 25 is between ColumnDateFrom to ColumnDateTo 我有一个日期 2009 09 25 我喜欢选择
  • SQL Server 标识列值从 0 而不是 1 开始

    我遇到了一个奇怪的情况 数据库中的某些表的 ID 从 0 开始 即使 TABLE CREATE 的 IDENTITY 1 1 也是如此 对于某些表来说是这样 但对于其他表则不然 它一直有效到今天 我尝试过重置身份列 DBCC CHECKID
  • SQL Server查询麻烦,多对多关系

    不知道如何用一行字来表达这个问题 对标题表示歉意 我的数据库中有3个表 例如 Shop Item 商店库存 Shop 和 Item 具有多对多关系 因此 ShopStock 表将它们链接起来 ShopStock 中的字段是 ID ShopI
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row
  • 用户“root”@“localhost”的 Spring Boot MySql 访问被拒绝

    我有 Spring Boot 应用程序并部署到远程服务器 该应用程序在我的计算机上运行 MySQL连接URL 用户名和密码本地和远程MySQL相同 数据库和应用程序在同一台机器上 我检查了我的连接信息并执行了以下命令 GRANT ALL P
  • “$$ 处或附近的未终止的美元引号字符串

    我试图使用 DBeaver 声明一些变量并不断遇到此错误 Unterminated dollar quoted string at or near DO DECLARE A integer B integer BEGIN END 有任何想法
  • 表头在 php 中的 for 循环中重复

    我正在尝试从数据库创建排行榜 我将数据打印在列表中 当我尝试将此数据放入 html 表中时 标题在每次数据输入后都会重复 这是 for 循环导致的 但我不知道如何只打印一次标题 然后将数据插入到每一行中 任何帮助将不胜感激 代码和结果的屏幕
  • 如果外键不存在,则添加外键约束(或者如果存在则删除外键约束)而不使用名称?

    我发现创建查询很困难 假设我有一个产品和品牌表 我可以使用此命令添加外键 ALTER TABLE Products ADD FOREIGN KEY BrandID REFERENCES Brands ID 但我只需要在外键不存在时运行此命令
  • 如何将 SQL 结果存入 STRING 变量?

    我正在尝试获取 C 字符串变量或字符串数 组中的 SQL 结果 是否可以 我需要以某种方式使用 SqlDataReader 吗 我对 C 函数和所有功能非常陌生 曾经在 PHP 中工作 所以如果可以的话请给出一个工作示例 如果相关 我已经可
  • 在 PHP 中比较字符串的方式与 MySQL 相同

    我将 varchar 存储在 utf8 MySQL 表中并使用 utf8 general ci 排序规则 我在 varchar 上有一个唯一索引 我想在 PHP 中进行字符串比较 这相当于 MySQL 对索引所做的操作 一个具体的例子是 我
  • mysql_fetch_array while 循环。它是如何工作的?

    我已经阅读了 php net 上的该函数 但这仍然没有回答我的问题 我对 C 语言有一定的了解 并且刚刚开始使用 php 通常在 C 中 如果要执行 while 循环 则需要有一些条件来将循环推进到不再有效的点 如下所示 while x g
  • SQL 更新数据集中的位置

    id1 id2 bool 1 1 F 1 2 F 2 1 F UPDATE table name SET bool T WHERE id1 id2 IN 1 1 2 1 Need work here 所以基本上我想选择条件为 id1 id2
  • 根据 MySQL 列内容的长度创建索引?

    如何根据值的长度在 MySQL v 5 0 myisam 数据库引擎 中的列上创建索引 它是文本数据类型 最多 7000 个字符 我是否必须添加具有第一列长度的另一列 是的 因为 MySQL 不支持基于函数的索引 例如ADD INDEX m
  • 使用 Hibernate 和 Apache DBCP 的 MySQL 连接池问题

    看来我的应用程序有问题 当应用程序在启动后闲置很长时间 我不确定确切的时间 时 我会在日志中收到以下错误消息 我使用 Spring Hibernate MySQL 和 ApacheDBCP 进行连接池 ERROR org hibernate
  • 在 ASP.NET MVC 中使用 MySQL 的 AccountController

    在 Visual Studio 中创建默认的 ASP NET MVC 项目会设置一个可以在其中注册用户的基本项目 我将如何继续更改它以使用 MySQL 服务器而不是 SQLServer 现在可以使用了 安装最新的 Connector NET
  • MySql如何通过过滤多列来限制多个数字?

    我想从数据库中获取 4 个不同类别的 50 个问题 我想要 4 个不同类别中每个类别的不同数量的问题 我的结果集必须包含第一类 12 个问题 第二类 20 个问题 第三类 10 个问题和第四类 8 个问题 我的问题表中总共有 50 个问题
  • PHP:使用输入和输出参数(不是“INOUT”)调用 MySQL 存储过程

    我想从 PHP 调用 MySQL 中的存储过程 该过程需要输入and输出参数 not INOUT 参数 举一个简单的例子 假设我在 MySQL 中有以下存储过程 DELIMITER DROP PROCEDURE IF EXISTS test
  • 不唯一的表/别名

    因此 我尝试使用多个联接来运行此查询 以获得我想要的精确行 但我不断收到此错误 不唯一的表 别名 ss prices 我正在运行的查询 select ss accounts id ss accounts bot acc id ss acco
  • 为什么 sql 字段名称中不应该包含逗号?

    人们一直告诉我列名中不应包含空格 我只是想知道 这是为什么 这是我为学校创建的一些数据库表遇到的问题 字段名称包括 Preble 和 Darke 相反 它们需要是 普雷布尔县 俄亥俄州 和 达克县 俄亥俄州 如果它们是行名称 我只需创建一个

随机推荐

  • Oracle导入指令

    打开sqlplus 创建用户 create user mingzi identified by 123456 用户授权 grant connect resource dba to mingzi 导入 imp mingzi 123456 or
  • C++实现树 - 02 二叉树

    数据结构与算法专栏 C 实现 写在前面 这一讲我们来看看二叉树的实现 还不清楚树的结构的小伙伴建议先看看上面一讲关于树的定义 二叉树的定义 二叉树是每个结点最多有两个子树的树结构 也就是说二叉树不允许存在度大于2的树 它有五种最基本的形态
  • 企业级zabbix监控服务搭建

    一 什么是zabbix zabbix可以干什么的 为什么我们要使用zabbix 什么是zabbix zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix由2部分构成 zabbix serv
  • Swoole系列(3) - 服务端 (异步风格)

    1 应用场景 主要用于学习和使用Swoole的服务端 异步风格 同时学习其实现原理 2 学习 操作 1 文档阅读 Swoole4 文档 服务端 异步风格 2 整理输出 2 1 是什么 方便的创建一个异步服务器程序 支持 TCP UDP un
  • 行内/行内块元素、块元素,水平垂直居中的方法

    行内元素 行内块元素 水平居中 text align ceter 垂直居中 line height height 块元素 水平居中 margin 0 auto 水平垂直居中 父子皆定位 方法一 盒子必须要有宽高 top 0 right 0
  • 浅谈磁珠(基础)

    磁珠 Ferrite bead 全称为铁氧体磁珠滤波器 简写FB 抗干扰元件的一种 滤除高频噪声效果显著 磁珠的等效电路是一个DCR电阻串联一个电感并联一个电容和一个电阻 DCR是一个恒定值 但后面三个元件都是频率的函数 也就是说它们的感抗
  • ajax中for循环中怎么使用if,在ExtJS中,我可以在Ajax请求中调用for循环和if语句来定义我的参数吗?...

    我想通过我在fieldSet中的复选框进行迭代 如果复选框被选中 我想将复选框的ID添加到数组中 该数组将作为我的Ajax请求的参数之一 在ExtJS中 我可以在Ajax请求中调用for循环和if语句来定义我的参数吗 我意识到我可以创建一个
  • linux下载安装搭建、卸载FastDfs文件服务器、配置多存储路径(轮询、最大内存选择)、nginx反向代理实现图片预览、常用命令

    linux下载安装搭建 卸载FastDfs文件服务器 配置多存储路径 轮询 最大内存选择 nginx反向代理实现图片预览 常用命令 Springboot整合Fastdfs上传图片 缩略图 下载文件 需求 文件转存方案 springboot整
  • 51:电机(ULN2003D)

    目录 1 介绍 2 原理图 编辑 A 大功率直接驱动 B H桥驱动 3 电机调速 pwm 编辑 A 实例代码 大功率直接驱动 1 介绍 我们51单片机使用的是直流电机 直流电机是一种将电能转换为机械能的装置 一般的直流电机有两个电极 当电极
  • 利用CGAL对网格填洞( Filling holes)

    CGAL的资料尤其是中文资料少之又少 现根据自己要完成的工作进行一个记录和总结 也希望能填补资料的空缺 在CGAL中 使用半边结构Halfedge Data Structure来存储网格信息 另外一个类似于CGAL的库OpenMesh同样使
  • Istio熔断器功能解析

    前言 Istio因灵活的可观察性和安全的服务间通信受到了赞许 然而 其他更重要的功能才真正使得Istio成为了服务网格里的瑞士军刀 当遇到运行时长 延迟和错误率等SLO问题时 服务间的流量管理能力是至关重要的 在今年早些时候发布 Istio
  • java两个日期比较相等

    1 利用Date的equals比较大小 1 利用Date的equals比较大小 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd HH mm ss String timeStr1 20
  • stm32 串口发送字符串第一个字节丢失、复位发送00

    1 stm32 串口发送字符串第一个字节丢失 这个问题如下解决 while USART GetFlagStatus USART1 USART FLAG TXE RESET 防止一个字节丢失 USART SendData USART1 dat
  • 魏副业而战:闲鱼无货源爆款热销产品推荐

    我是魏哥 与其在家躺平 不如魏副业而战 每天分享一个闲鱼技巧 今天给大家推荐一些闲鱼爆款 很多人做闲鱼过了新鲜期之后 觉得选品太难了 很羡慕那些月入过万每天爆单的人 那为什么别人能每天轻松卖出几十单 而自己却不知道上架什么产品呢 下面就告诉
  • 检查nacos是否正常启动

    可以通过以下几种方式检查nacos是否启动 查看nacos日志文件 启动nacos时 控制台会输出一些信息 可以查看控制台输出的信息 如果显示 Server startup in XXX ms 等字样 则说明nacos已经启动 查看端口是否
  • mybatis-plus 判断参数是否为空并作为查询条件

    方式一 在配置文件中加上全局配置 mybatis plus global config db config field strategy not empty 方式二 对某一字段单独进行判断非空 QueryWrapper
  • Stable Disffusion 采样器总结

    Stable Disffusion 采样器 1 Euler a Euler a 属于超快采样模式 采样10次 即可完成基本画面 但是继续提高采样步数 就基本脱离了提示词 是个插画 tag利用率仅次与DPM2和DPM2 a 环境光效菜 构图有
  • springcloud配置详解

    在这里插入代码片 1 版本信息 父项目 依赖管理 pom文件
  • git创建/合并分支原理

    来源 https blog csdn net abcnull article details 90288499 创建与合并分支简单原理 分支被合并可以被 d 删除 分支没有被合并 d 删除会出错 需要 D 强制删除 master分支 一个分
  • Mysql教程(一):Mysql数据模型和SQL语法分析

    Mysql教程 一 Mysql数据模型和SQL语法分析 1 Mysql数据模型 1 1 关系型数据库 RDBMS 概念 建立在关系模型基础上 由多张相互连接的二维表组成的数据库 特点 使用表存储数据 格式统一 便于维护 使用SQL语言操作