当前位置: 首页 > news >正文

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的综合运用!

相关文章:

SQL概述及其规则与规范

SQL概述及其规则与规范 1.SQL概述 1.1 SQL背景知识 1946年,世界第一台电脑诞生,如今,互联网已经非常壮大,在这几十年间互联网得到了飞速的发展,无数的技术在其中起起伏伏,但是有一门技术从未消失&#xf…...

开源模型应用落地-FastAPI-助力模型交互-进阶篇-RequestDataclasses(三)

一、前言 FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理,使应用程序能够处理各种不同的请求场景,提高应用程序的灵活性和可扩展性。 在数据验证和转换方面,高级用法提供了更精细和准确的控制&#…...

2024.7.20 暑期训练记录(6)

CF 1391D - 505(思维状压dp) 首先简化问题,发现一个矩阵如果要满足条件,那它其中的每一个 2 2 2\times 2 22 的小矩阵都要满足条件,于是很容易发现 4 4 4\times4 44 的矩阵是一定不满足条件的(因为是…...

firefly rk3288 ubuntu23.10 网卡名为end0 改为eth0

1、内核源码修改u-boot/include/env_default.h文件第32行的bootargs参数,修改后: "bootargs net.ifrenames0 " CONFIG_BOOTARGS "\0"2、修改rootfs里的lib/systemd/network/99-default.link文件: [M…...

git使用总结

概述 简介 Git是一种代码托管技术,很多代码托管平台也是基于Git来实现的。 Git可以帮我们做到很多的事情,比如代码的版本控制,分支管理等。 网址 git官网:https://git-scm.com/ 版本控制系统【VCS】 可以完整保存项目的快照&#…...

使用多进程和多线程实现服务器并发【C语言实现】

在TCP通信过程中,服务器端启动之后可以同时和多个客户端建立连接,并进行网络通信,但是在一个单进程的服务器的时候,提供的服务器代码却不能完成这样的需求,先简单的看一下之前的服务器代码的处理思路,再来分…...

深入理解Linux网络(三):TCP对象创建

深入理解Linux网络(三):TCP对象创建 TCP对象创建inet_createsock_init_data TCP对象创建 常见的三句TCP编程: int main() {int sk socket(AF_INET, SOCK_STREAM, 0);connect(sk, ...)recv(sk, ...) }简单的两三⾏代码&#xff…...

windows server——4.安装DNS管理器

windows server——4.安装DNS管理器 一、准备二、安装DNS管理器1.打开服务器管理器2.添加dns服务器 三、验证 一、准备 windows server电脑(已安装IIS) 静态网站数据包 二、安装DNS管理器 1.打开服务器管理器 2.添加dns服务器 点击管理——添加角色和…...

速盾:金融行业服务器如何避免DDoS攻击?

随着金融行业的数字化和网络化进程加快,服务器成为金融机构不可或缺的一部分。然而,服务器面临的安全威胁也在不断增加,其中之一就是DDoS攻击。DDoS(Distributed Denial of Service)攻击是通过向目标服务器发送大量无法…...

谷粒商城实战笔记-38-前端基础-Vue-指令-单向绑定双向绑定

文章目录 一,插值表达式注意事项1:不适合复杂的逻辑处理注意事项2:插值表达式支持文本拼接注意事项3:插值表达式只能在标签体中 二,v-html和v-textv-textv-html区别总结:最佳实践 三,v-model复选…...

MyPostMan 迭代文档管理、自动化接口闭环测试工具(自动化测试篇)

MyPostMan 是一款类似 PostMan 的接口请求软件,按照 项目(微服务)、目录来管理我们的接口,基于迭代来管理我们的接口文档,文档可以导出和通过 url 实时分享,按照迭代编写自动化测试用例,在不同环…...

https和http有哪些区别?

在今天的互联网世界中,我们经常听到关于HTTPS和HTTP的术语。它们都是超文本传输协议(HTTP)的变种,但它们之间存在着重要的区别。本篇博客将深入探讨HTTPS与HTTP之间的差异以及为什么HTTPS在现代网络中变得如此重要。 目录 1. HT…...

Bubbliiiing 的 Retinaface rknn python推理分析

Bubbliiiing 的 Retinaface rknn python推理分析 项目说明 使用的是Bubbliiiing的深度学习教程-Pytorch 搭建自己的Retinaface人脸检测平台的模型,下面是项目的Bubbliiiing视频讲解地址以及源码地址和博客地址; 作者的项目讲解视频:https:…...

Web前端-Web开发HTML基础8-nav

一. 基础 1. 写一个导航标签,里面是两个超链接,分别指向https://baidu.com和https://huawei.com/cn; 2. 写一个导航标签,里面是三个超链接,分别指向https://baidu.com、https://huawei.com/cn和https://www.nowcoder.c…...

如何建设和维护数据仓库:深入指南

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: V: LAF20151116 进行更多交流学习 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&#xff…...

海思arm-hisiv400-linux-gcc 交叉编译rsyslog 记录心得

需要编译rsyslog,参考海思3536平台上rsyslog交叉编译、使用-CSDN博客和rsyslog移植(亲测成功)_rsyslog交叉编译-CSDN博客 首先下载了要用到的一些库的源码,先交叉编译这些库 原来是在centos6上交叉编译的,结果编译时报缺少软件要…...

IDEA工具中Java语言写小工具遇到的问题

一:读取excel时遇到 org/apache/poi/ss/usermodel/WorkbookProvider 解决办法: 在pom.xml中把poi的引文包放在最前面即可(目前就算放在最后面也不报错了,不知道为啥) 二:本地maven打包时,没有…...

2-38 基于matlab的蚁群算法优化无人机uav巡检

基于matlab的蚁群算法优化无人机uav巡检,巡检位置坐标可根据需求设置,从基地出发,返回基地,使得路径最小。可设置蚁群数量,信息素系数。输出最佳路线长度。程序已调通,可直接运行。 2-38 蚁群算法优化无人…...

解决selenium打印保存为PDF时图片未加载成功的问题

使用selenium打印网页时,如果程序运行很快的话,可能会导致图片没有加载成功即进行了保存,出现这个问题最初的思考是在执行打印任务时使用js进行强制等待,后发现实现效果并不好。在加载页面时使用自动下滑的方式将网页拉到底&#…...

如何将PDF转换成可以直接编辑的CAD图纸?

PDF图纸是为了让用户更好的阅览CAD文件,但是,当我们想要对其进行编辑的时候,PDF图纸就是一个麻烦了。那么PDF转换成CAD后可以编辑吗?如何将PDF转换成可以直接编辑的CAD图纸呢?本篇给你答案。 1、启动迅捷CAD编辑器&…...

【STM32】理解时钟树(图示分析)

文章目录 时钟系统什么是时钟时钟树简化图示类比示例时钟树详解时钟源系统时钟配置各总线时钟外设时钟 时钟系统 什么是时钟 时钟在电子和计算机系统中指的是生成周期性信号的电路或设备,这种周期性信号用于同步系统内的各种操作。时钟信号通常是方波,…...

动态内存四个函数

文章目录 1. malloc2. calloc3. realloc4. free 在C语言中&#xff0c;malloc、calloc、realloc 和 free 是用于动态内存管理的标准库函数&#xff0c;它们定义在 <stdlib.h> 头文件中。以下是这些函数的用法&#xff1a; 1. malloc malloc 函数用于在堆区分配指定大小…...

DevExpress WPF中文教程 - 为项目添加GridControl并将其绑定到数据

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...

高性能分布式IO系统BL205 OPC UA耦合器

边缘计算是指在网络的边缘位置进行数据处理和分析&#xff0c;而不是将所有数据都传送到云端或中心服务器&#xff0c;这样可以减少延迟、降低带宽需求、提高响应速度并增强数据安全性。 钡铼BL205耦合器就内置边缘计算功能&#xff0c;它不依赖上位机和云平台&#xff0c;就能…...

live555 rtsp服务器实战之doGetNextFrame

live555关于RTSP协议交互流程 live555的核心数据结构值之闭环双向链表 live555 rtsp服务器实战之createNewStreamSource live555 rtsp服务器实战之doGetNextFrame live555搭建实时播放rtsp服务器 注意&#xff1a;该篇文章可能有些绕&#xff0c;最好跟着文章追踪下源码&…...

Nginx系列-3 servername优先级和location优先级和常用正则表达式

1.正则表达式和分组 由于Nginx配置文件中经常出现正则表达式&#xff0c;因此本章节专门对常见的正则表达式进行简单介绍。 [1] 开始与结束 ^表示匹配输入字符串的开始 $表示匹配输入字符串的结束[2] 匹配次数 ?表示匹配0次或者1次 表示匹配1次或多次 *表示匹配0从或多次…...

python—爬虫爬取电影页面实例

下面是一个简单的爬虫实例&#xff0c;使用Python的requests库来发送HTTP请求&#xff0c;并使用lxml库来解析HTML页面内容。这个爬虫的目标是抓取一个电影网站&#xff0c;并提取每部电影的主义部分。 首先&#xff0c;确保你已经安装了requests和lxml库。如果没有安装&#x…...

实现图片拖拽和缩小放大功能。

1. 前言 不知道各位前端小伙伴蓝湖使用的多不多&#xff0c;反正我是经常在用&#xff0c;ui将原型图设计好后上传至蓝湖&#xff0c;前端开发人员就可以开始静态页面的的编写了。对于页面细节看的不是很清楚可以使用滚轮缩放后再拖拽查看&#xff0c;还是很方便的。于是就花了…...

昇思25天学习打卡营第18天|munger85

DCGAN生成漫画头像 首先肯定是下载训练数据&#xff0c;而这些训练数据就是一些卡通头像。后来我们会看到这个具体的头像 就像其他的数据集目录一样&#xff0c;它是由一些目录和这个目录下面的文件组成的数据集。 有相当多的图片。所以可以训练出来比较好的效果。 图片的处理…...

nginx配置文件说明

Nginx的配置文件说明 Nginx配置文件的主要配置块可以分为三个部分&#xff1a;全局配置块&#xff08;events和http块&#xff09;&#xff0c;events块和http块。这三个部分共同定义了Nginx服务器的整体行为和处理HTTP请求的方式。 全局配置块&#xff1a; 包含了影响Nginx服…...

网页模版素材下载/seo网址优化靠谱

点击上面蓝色小字或微信搜索【幼儿教案】关注公众号每天免费8篇优质教案幼儿园中班语言活动教案&#xff1a;十二生肖设计意图在几千年的中国传统文化中&#xff0c;生肖不仅是一种形象生动的纪年、纪月的方法&#xff0c;更已与每个人结合起来&#xff0c;赋予了一种神奇的性格…...

酒业公司网站模板/最新经济新闻

特征 优先级&#xff1a;任务 (job) 可以有 0~2^32 个优先级, 0 代表最高优先级&#xff0c;beanstalkd 采用最大最小堆 (Min-max heap) 处理任务优先级排序, 任何时刻调用 reserve 命令的消费者总是能拿到当前优先级最高的任务, 时间复杂度为 O(logn) 。 延时任务 (delay)&am…...

广州疫情 高位平台/安卓优化大师2021

当用浏览器浏览网页的时候&#xff0c;当我们点击一个连接的时候&#xff0c;浏览器就会转到新的页面去。整个过程如下&#xff1a; 1&#xff09;用户在当前页面点击->2&#xff09;浏览器获取新的URL->3)浏览器转到新的URL。现在&#xff0c;假设我们有一个pdf的阅读程…...

蚌埠做网站/农产品品牌推广方案

控制台程序。 定义监听器类有许多方式。下面把监听器类定义为单独的类MouseHandler: 1 // Mouse event handler for a selection button2 import java.awt.Cursor;3 import java.awt.event.*;4 5 public class MouseHandler extends MouseAdapter {6 Cursor handCursor new …...

怎么在网站做外部链接/定制网站建设推广服务

微信扫码关注公众号 &#xff1a;前端前端大前端&#xff0c;追求更精致的阅读体验 &#xff0c;一起来学习啊关注后发送关键资料,免费获取一整套前端系统学习资料和老男孩python系列课程 学习资源推荐 区分进程和线程 进程是cpu资源分配的最小单位,可独立运行线程是cpu调度…...

门户网站建设与推广方案/汽车营销活动策划方案

本质上&#xff0c;这很可能是坏块引发的&#xff0c;所以需要调查 关联的Table 中的坏块状况&#xff1a; Excerpt of trace file *** 2017-08-18 09: 23: 04.323 dbkedDefDump (): Starting incident default dumps (flags 0x2, level 3, mask 0x0) [TOC00009] ----- Cur…...