SQL概述及其规则与规范

SQL概述及其规则与规范

1.SQL概述

1.1 SQL背景知识

1946年,世界第一台电脑诞生,如今,互联网已经非常壮大,在这几十年间互联网得到了飞速的发展,无数的技术在其中起起伏伏,但是有一门技术从未消失,甚至愈发充满活力,那就是SQL

1974年,IBM研究院发布了一片解开数据库技术的论文《SEQUEL:一门结构化的编程语言》,直到今天这门结构化的查询语言并没有太大的变化,相比于其他语言,SQL的半衰期非常长了。

无论是前端工程师,还是后端算法工程师,都一定得和数据打交道,都需要了解如何又快又准确的提取自己想要的数据。
SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言,与数据直接打交道, 由于IBM上世纪开发出来。后来由美国国家标准局制定SQL标准,现有SQL-86, SQL-89, SQL-99等标准。

SQL由两个最重要的标准,分别是SQL-92SQL-99,我们今天使用的SQL语言依旧遵循这些标准。

1.3 SQL分类

SQL语言在功能上主要分为如下3大类

  • DDL(Data Definition Languages,数据定义语言),这些语句定义了不同的数据库,表,试图,索引等数据库对象,还可以创建,删除,修改数据库和数据表的结构。
    • 主要的语句关键词包括CREATEDROPALTER等。
  • DML(Data Manipulation Language,数据操作语言),用于添加删除更新查询数据库记录,并检查数据完整性。
    • 主要的语句关键字包括INSERTDELETEUPDATESELECT等。
  • DCL(Data Control Language,数据控制语言),用于定义数据库,表,字段,用户访问权限和安全级别。
    • 主要的语句关键字包括GRANTREVOKECOMMITROLLBACKSAVEPOINT等。

因为查询语句使用的非常频繁,所以很多人把查询语句单独拿出来分一类,DQL(Data Query Language,数据查询语言)。还有单独把COMMITROLLBACK取出来称为TCL(Transaction Control Language, 事物控制语言)

2.SQL语言的规则和规范

2.1 常见的一些规则规范

  • SQL可以写在一行或多行,为了提高可读性,各自据分行写,必要时使用缩进。
  • 每条命令以;或\g或\G结束
  • 关键字不能被缩写,也不能分行
  • 关于标点符号
    • 必须保证所有的括号,单引号,双引号是成对的。
    • 必须使用英文的标点符号。
    • 字符串型和日期时间类型的数据可以使用单引号来表示。
    • 列的别名尽量使用双引号,而且不建议省略as

2.2 SQL大小写规范(建议遵守)

  • MySQL在Windows环境下是大小写不敏感的
  • MySQL在Linux环境下是大小写敏感的
    • 数据库名,表明,表的别名,变量名是严格区分大小写的
    • 关键字,函数名,列名(或字段名)列的别名(字段的别名)是忽略大小写的。
  • 推荐采用统一的书写规范:
    • 数据库名,表名,表别名,字段名,字段别名都是小写
    • SQL关键字,函数名,绑定变量等都大写

2.3 注释

可以使用如下格式的注释结构

单行注释:#注释文字(MySQL特有的方式)
单行注释:-- 注释文字(--后面必须有一个空格)
多行注释:/*注释文字*/

2.4 命名规则

  • 数据库,表明不得超过30个字符,变量名限制为29个。
  • 必须只能包含大小写字母和数字
  • 数据库名,表明,字段名等对象名之间不能包含空格要用下划线来__连接
  • 同一个MySQL软件中,数据库不能重名,同一个库中,表不能重名,同一个表中,字段不能重名
  • 必须保证你的字段没有和保留字,数据库系统或常用方法冲突,如果一定要使用,请在SQL语句中用 ` 引起来
  • 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性, 假如数据类型在一个表里是整数,另一个表里可别变成字符型了

举例:

#以下两句是一样的,不区分大小写
show databases;
SHOW DATABASES;#创建表格
#create table student info(...)#表名错误,因为表名有空格create table student_info(...)#正确

2.5数据导入指令

在命令行客户端登录mysql,使用source指令导入

#首先登录
mysql -uroot -p
#输入密码
enter password:********#登录成功后, 导入sql文件
source 文件路径

这篇文章就到这里,下篇文章我将会告诉总结有关select的综合运用!

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

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

相关文章

Kafka消息队列python开发环境搭建

目录 引言 Kafka 的核心概念和组件 Kafka 的主要特性 使用场景 申请云服务器 安装docker及docker-compose VSCODE配置 开发环境搭建 搭建Kafka的python编程环境 Kafka的python编程示例 引言 Apache Kafka 是一个分布式流处理平台,由 LinkedIn 开发并在 2…

SpringBoot整合阿里云RocketMQ对接,商业版

1.需要阿里云开通商业版RocketMQ 普通消息新建普通主题,普通组,延迟消息新建延迟消息主题,延迟消息组 2.结构目录 3.引入依赖 <!--阿里云RocketMq整合--><dependency><groupId>com.aliyun.openservices</groupId><artifactId>ons-client</…

Qt类 | QLabel类详解

文章目录 一、QLabel类介绍二、Properties&#xff08;属性&#xff09;三、Public Functions&#xff08;公共函数&#xff09;1.构造函数2.alignment与setAlignment函数 -- 标签内容的对齐方式3.buddy与setBuddy函数 -- QLabel关联的伙伴控件4.hasScaledContents与setScaledC…

基于YOLOv8深度学习的水果智能检测系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、卷积神经网络

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

End-to-End Object Detection with Transformers【目标检测-方法详细解读】

摘要 我们提出了一种新的方法,将目标检测视为一个直接的集合预测问题。我们的方法简化了检测流程,有效地消除了许多手工设计的组件,如非极大值抑制程序或锚生成,这些组件显式编码了我们关于任务的先验知识。新框架的主要成分,称为DEtection TRansformer或DETR,是一个基于…

下载工具 -- Internet Download Manager(IDM) v6.42 build 14 绿色特别版

软件简介 Internet Download Manager&#xff08;IDM&#xff09;是一款功能强大的下载工具&#xff0c;它可以帮助用户更高效、更稳定地下载网络上的各种文件。IDM支持多线程下载技术&#xff0c;可以将文件分割成多个部分同时下载&#xff0c;从而显著提高下载速度。此外&am…

C#字符串基本操作

1、代码 //1、创建字符串&#xff08;获取长度&#xff09;string str "Hello, World!";Console.WriteLine($"string:{str},length:{str.Length}");//2、字符串连接string str1 "Hello, ";string str2 "World!";Console.WriteLine…

在 Windows 11/10/8 上恢复误删除文件的最佳方法

如果您刚刚在计算机上重新安装了 Windows 操作系统&#xff0c;结果硬盘上的所有文件都消失了&#xff0c;有没有办法从 Windows 11/10 中恢复误删除的文件&#xff1f; 许多因素都可能导致 PC 上的文件被删除。除了重新安装操作系统外&#xff0c;其他常见原因还包括意外删除…

MAC 数据恢复软件: STELLAR Data Recovery For MAC V. 12.1 更多增强功能

天津鸿萌科贸发展有限公司是 Stellar 系列软件的授权代理商。 STELLAR Data Recovery For MAC 该数据恢复软件可从任何存储驱动器、清空的回收站以及崩溃或无法启动的 Mac 设备中恢复丢失或删除的文件。 轻松恢复已删除的文档、照片、音频文件和视频。自定义扫描以帮助恢复特…

Vue.js 生命周期详解:从创建到销毁的全过程

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

【BUG】已解决:java.lang.reflect.InvocationTargetException

已解决&#xff1a;java.lang.reflect.InvocationTargetException 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发…

STM32 IAP 需要关注的一些事

1、首先要知道STM32的程序是如何分布在FLASH中的。 2、升级的时候涉及到两个程序&#xff0c;一个是bootloader&#xff0c;一个是user程序&#xff0c;这两个程序的功能分别的什么作用的&#xff1f; 3、编译的固件是怎么分布的&#xff1f;通过那个配置文件去指导编译器去排布…

Spring Boot集成kudu快速入门Demo

1.什么是kudu 在Kudu出现前&#xff0c;由于传统存储系统的局限性&#xff0c;对于数据的快速输入和分析还没有一个完美的解决方案&#xff0c;要么以缓慢的数据输入为代价实现快速分析&#xff0c;要么以缓慢的分析为代价实现数据快速输入。随着快速输入和分析场景越来越多&a…

网络爬虫基础介绍

什么是爬虫 Web 爬虫&#xff0c;也称为网络蜘蛛或网络机器人&#xff0c;是一种用于自动化访问和抓取网页内容的程序。爬虫通过模拟用户访问网页的行为&#xff0c;从互联网上获取数据&#xff0c;并将其存储或进一步处理。 爬虫的应用场景 搜索引擎索引&#xff1a;如 Google…

十五、【机器学习】【监督学习】- 神经网络回归

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

C语言强化-1.数据结构概述

与408的关联&#xff1a;1. 逻辑结构和存储结构在选择题中会有涉及。2. 时间复杂度几乎是每一年大题必考内容&#xff01; 逻辑结构与存储结构 逻辑结构&#xff08;对人友好&#xff09; 集合结构&#xff08;无关系&#xff09;线性结构&#xff08;一对一&#xff09;树形…

Django Q()函数

Q() 函数的作用 在Django中&#xff0c;Q()函数是一个非常有用的工具&#xff0c;主要用于构建复杂的查询。它允许你创建复杂的查询语句&#xff0c;包括AND、OR和NOT逻辑操作。这对于处理复杂的数据库查询特别有用&#xff0c;特别是在你需要组合多个条件或处理复杂的过滤逻辑…

HLS加密技术:保障流媒体内容安全的利器

随着网络视频内容的爆炸性增长&#xff0c;如何有效保护视频内容的版权和安全成为了一个亟待解决的问题。HLS&#xff08;HTTP Live Streaming&#xff09;加密技术作为一种先进的流媒体加密手段&#xff0c;凭借其高效性和安全性&#xff0c;在直播、点播等场景中得到了广泛应…

【Neo4j 】学习笔记:GraphRAG 宣言:为 GenAI 添加知识

GraphRAG 宣言:为 GenAI 添加知识 原文 菲利普拉瑟尔图片 菲利普拉瑟尔 7 月 11 日 阅读时长:22 分钟 我们正在进入 RAG 的“Blue Links”时代 GraphRAG 宣言。 我们即将意识到,要想用 GenAI 做任何有意义的事情,你不能只依赖自回归 LLM来做决定。我知道你在想什么:“RAG …

【C语言】联合体(union)

文章目录 1.联合体的含义2. 联合体的声明3. 联合体大小的计算4. 联合体的特点 1.联合体的含义 联合体也叫做共用体&#xff0c;是指联合体的所有成员共用同一块内存空间。这也就说明了&#xff0c;联合体的大小至少是其成员所占空间的最大值。 2. 联合体的声明 #include<…