数据库基础——3.SQL概述及规范

这篇文章我们来讲一下SQL概述和使用规范

目录

1.SQL概述

1.1SQL背景

1.2 SQL语言排行榜

 1.3 SQL分类

2.SQL规则与规范

2.1基本规则

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

2.3 注 释

2.4 命名规则(暂时了解)

2.5 数据导入指令


1.SQL概述

1.1SQL背景

1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十 年里,无数的技术、产业在这片江湖里沉浮,有的方兴未艾,有的已经几幕兴衰。但在这片浩荡的 波动里,有一门技术从未消失,甚至“老当益壮”,那就是 SQL。

45 年前,也就是 1974 年,IBM 研究员发布了一篇揭开数据库技术的论文《SEQUEL:一门结构 化的英语查询语言》,直到今天这门结构化的查询语言并没有太大的变化,相比于其他语 言, SQL 的半衰期可以说是非常长了。

不论是前端工程师,还是后端算法工程师,都一定会和数据打交道,都需要了解如何又快又准确地 提取自己想要的数据。更别提数据分析师了,他们的工作就是和数据打交道,整理不同的报告,以 便指导业务决策。

SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言, 与数据直 接打交道 ,由 IBM 上世纪70年代开发出来。后由美国国家标准局(ANSI)开始着手制定SQL标准, 先后有 SQL-86 , SQL-89 , SQL-92 , SQL-99 等标准。

SQL 有两个重要的标准,分别是 SQL92 和 SQL99,它们分别代表了 92 年和 99 年颁布的 SQL 标 准,我们今天使用的 SQL 语言依然遵循这些标准。 不同的数据库生产厂商都支持SQL语句,但都有特有内容。

1.2 SQL语言排行榜

自从 SQL 加入了 TIOBE 编程语言排行榜,就一直保持在 Top 10。

 1.3 SQL分类

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

DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索 引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。

主要的语句关键字包括 CREATE 、 DROP 、 ALTER 、RENAME、TRUNCATE等。

DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记 录,并检查数据完整性。

主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。 SELECT是SQL语言的基础,最为重要。

DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和 安全级别。

主要的语句关键字包括 GRANT 、 REVOKE 、 COMMIT 、 ROLLBACK 、 SAVEPOINT 等。

2.SQL规则与规范

2.1基本规则

1. SQL可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进

2. 每条命令以 ; 或 \g 或 \G 结束

3. 关键字不能被缩写也不能分行

4. 关于标点符号

  • 必须保证所有的()、单引号、双引号是成对结束的
  • 必须使用英文状态下的半角输入方式
  • 字符串型和日期时间类型的数据可以使用单引号(' ')表示
  • 列的别名,尽量使用双引号(" "),而且不建议省略as

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

MySQL 在 Windows 环境下是大小写不敏感的

MySQL 在 Linux 环境下是大小写敏感的

  • 数据库名、表名、表的别名、变量名是严格区分大小写的
  • 关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。

推荐采用统一的书写规范:

  • 数据库名、表名、表别名、字段名、字段别名等都小写
  • SQL 关键字、函数名、绑定变量等都大写

 2.3 注 释

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

单行注释:#注释文字(MySQL特有的方式)

单行注释:-- 注释文字(--后面必须包含一个空格。)

多行注释:/* 注释文字 */

2.4 命名规则(暂时了解)

  • 数据库、表名不得超过30个字符,变量名限制为29个
  • 必须只能包含 A–Z, a–z, 0–9, _共63个字符
  • 数据库名、表名、字段名等对象名中间不要包含空格
  • 同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名
  • 必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使 用`(着重号)引起来
  • 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据 类型在一个表里是整数,那在另一个表里可就别变成字符型了 

2.5 数据导入指令

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

mysql> source d:\mysqldb.sql

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux 实操篇-网络配置

Linux 实操篇-网络配置 Linux 网络配置原理图 查看网络IP 和网关 查看虚拟网络编辑器和修改IP 地址 查看网关 查看windows 环境的中VMnet8 网络配置(ipconfig 指令) 查看linux 的网络配置ifconfig ping 测试主机之间网络连通性 基本语法 ping 目的主机(功能描述…

交换机安全功能介绍

今天海翎光电的小编来给大家聊聊以太网交换机安全功能。 交换机作为局域网中最常见的设备,在安全上面临着重大威胁,这些威胁有的是针对交换机管理上的漏洞,攻击者试图控制交换机。有的针对的是交换机的功能,攻击者试图扰乱交换机的…

使用curl命令传输数据

文章目录 一、curl命令二、举例和注意事项Reference 一、curl命令 curl是传输数据的命令行工具,可以通过命令行发送HTTP请求和接收HTTP响应。它的名字是“client for URLs”,意为URL的客户端,表示该工具主要用于处理URL相关的任务。curl可以…

vue实现深拷贝的方法

在 vue中,深拷贝是一个很有用的功能,在不改变原来对象状态的情况下,进行对象的复制。 但要实现深拷贝,需要两个对象具有相同的属性。如果两个对象不同,深拷贝也不能实现。 1.我们将变量A的属性赋给变量B,但…

软件测试之自动化测试【webdriver API】

目录 一、webdriver API 1.元素的定位 2.操作测试对象 3.添加等待 3.1 sleep 强制等待 3.2 隐式等待 3.3 显式等待 4.打印信息 5.浏览器的操作 5.1 浏览器的前进和后退 5.2 浏览器滚动条操作 5.3 浏览器最大化及设置浏览器宽、高 6.键盘按键 7. 鼠标事件 8.定位…

12-Vue技术栈之Vuex的使用

目录 1、理解 vuex1.1 vuex 是什么1.2 什么时候使用 Vue1.3 图解两种方式实现数据共享 2、搭建vuex环境2.1 下载vuex2.2 配置文件 3、基本使用3.1 求和案例纯vue写法3.2 求和案例vuex写法 4、getters的使用5、四个map方法的使用5.1 求和案例 6、 模块化命名空间6.1求和案例改造…

linux网络设置

文章目录 一、查看网络配置1.查看网络接口信息——ifconfig1.1查看所有本机的网络的网络设备1.2设置网络接口参数1.3对指定的设备开启或关闭 2.查看主机名称——hostname2.1查看或临时设置当前主机名2.2永久设置主机名 3.查看路由表条目——route3.1查看当前主机路由表3.2添加路…

Redis入门到实战笔记-数据类型

这里写目录标题 SQL与NoSQL关系型数据库:查询方式: 非关联数据库:查询方式: 总结 认识RedisRedis安装远程连接防火墙设置关闭防火墙开启防火墙检查防火墙状态开放指定端口 Redis数据类型和常见命令keysdelEXISTexpired&#xff0c…

C++——多态与虚表

目录 1.多态的实现 2.虚表 2.1虚函数重写是怎么实现的 2.2多态的原理 2.3静态绑定与动态绑定 3.单继承体系中的虚函数表 ​编辑4.多继承体系中的虚函数表 5.菱形继承的虚函数表 6.菱形虚拟继承的虚函数表 1.多态的实现 在C中,要想实现多态,必…

Metasploit超详细安装及使用教程(图文版)

通过本篇文章,我们将会学习以下内容: 1、在Windows上安装Metasploit 2、在Linux和MacOS上安装Metasploit 3、在Kali Linux中使用 Metasploit 4、升级Kali Linux 5、使用虚拟化软件构建渗透测试实验环境 6、配置SSH连接 7、使用SSH连接Kali 8、配…

Ansible基础6——文件模块、jinja2模板

文章目录 一、常用文件模块1.1 blockinfile模块1.2 file模块1.2.1 创建文件并赋予权限1.2.2 创建目录并赋予权限1.2.3 创建软连接1.2.4 删除文件或目录 1.3 fetch模块1.4 lineinfile模块1.5 stat模块1.6 synchronize模块 二、jinja2模板2.1 构建jinja2模板2.2 管理jinja2模板2.…

MAYLAND HOME官网上线 | LTD家居家装行业案例分享

​一、公司介绍 在MAYLAND HOME,我们为我们对质量和服务的承诺感到自豪。我们相信我们的成功与客户的满意度直接相关,这就是为什么我们努力超越您的期望,我们承担的每一个项目。无论您是想升级您的家庭还是企业,我们都会在这里帮助…

冈萨雷斯DIP第5章知识点

图像增强:主要是一种 主观处理,而图像复原很大程度上是一种 客观处理。 5.1 图像退化/复原处理的一个模型 如图5.1 本章把图像退化建模为一个算子 H \mathcal{H} H 该算子 与一个加性噪声项 η ( x , y ) η(x,y) η(x,y) 共同对输入图像 f ( x , y…

MKS SERVO4257D 闭环步进电机_系列2 菜单说明

第1部分 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈&am…

开源情报搜集系统的核心技术

随着科技快速发展,科研方向的开源情报搜集系统的应用越来越广泛。为了满足科研工作者的需求,开发人员大力研发了许多功能强大的科研开源情报系统。这些系统不仅可以帮助科研人员更加高效地获取、管理和利用科研信息资源,还能为他们提供全方位…

原来CSS的登录界面可以变得这么好看

个人名片: 😊作者简介:一名大一在校生,web前端开发专业 🤡 个人主页:几何小超 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习目…

Sequelize:Node.js 中的强大 ORM 框架

❤️砥砺前行,不负余光,永远在路上❤️ 目录 前言优势:提高效率,不用SQL即可完成数据库操作。 那什么是 Sequelize?主要特性:1、模型定义和映射:2、关联和联接:3、事务管理&#xff…

【网络协议详解】——DNS系统协议(学习笔记)

目录 🕒 1. DNS的作用🕒 2. 域名结构🕒 3. 域名分类🕒 4. 域名空间🕒 5. 域名服务器类型🕘 5.1 根域名服务器🕘 5.2 顶级域名服务器🕘 5.3 权限域名服务器🕘 5.4 本地域名…

英睿达内存条正品鉴别教程(镁光颗粒)

我们打算买一款二手镁光颗粒的英睿达内存条,需要从正面内存标签上的条形码、字串,从背面颗粒上的两行字符一一分析、检查、鉴别,最终确认是否正品,以及内存条等级如何。通过本片文章,您能学会如何进行镁光颗粒的英睿达内存条正品鉴别。 一、标签检查 首先,用百度条形码…

[数据集][目标检测]目标检测数据集大白菜数据集VOC格式1557张

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1557 标注数量(xml文件个数):1557 标注类别数:1 标注类别名称:["cabbage"] 每…