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

news/2025/1/31 9:18:09/

这篇文章我们来讲一下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

 

 


http://www.ppmy.cn/news/94735.html

相关文章

LAMP平台搭建

文章目录 LAMP概述安装apache安装mysql安装php LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站…

华为OD机试真题B卷 Java 实现【小朋友排队】

一、题目描述 小明今年升学到了小学1年级&#xff0c;来到新班级后&#xff0c;发现其他小朋友身高参差不齐&#xff0c;然后就想基于每个小朋友和自己的身高差&#xff0c;对他们进行排序&#xff0c;请帮他实现排序。 二、输入描述 第一行为正整数h和n。 0 < h < 2…

编译原理之词法分析实验(附完整C/C++代码与总结)

一、实验内容 通过完成词法分析程序&#xff0c;了解词法分析的过程。编制一个读单词程序&#xff0c;对PL/0语言进行词法分析&#xff0c;把输入的字符串形式的源程序分割成一个个单词符号&#xff0c;即基本保留字、标识符、常数、运算符、分界符五大类。 对PL/0语言进行词法…

华为OD机试之不含101的整数(Java源码)

不含101的数 题目描述 小明在学习二进制时&#xff0c;发现了一类不含 101的数&#xff0c;也就是&#xff1a; 将数字用二进制表示&#xff0c;不能出现 101 。 现在给定一个整数区间 [l,r] &#xff0c;请问这个区间包含了多少个二进制不含 101 的整数&#xff1f; 输入描述…

CSDN 编程竞赛五十五期题解

竞赛总览 CSDN 编程竞赛五十五期&#xff1a;比赛详情 (csdn.net) 吐槽&#xff1a;填空题参考答案错误&#xff0c;赛后竟然没有修正…… 竞赛题解 题目1、取石子 将n堆石子摆成一排。游戏规则&#xff1a;两人轮流从最左或最右的一堆中取出若干颗石子&#xff08;可以将…

【C++系列P3】‘类与对象‘-三部曲——[基础知识](1/3)

前言 大家好吖&#xff0c;欢迎来到 YY 滴 C系列 &#xff0c;热烈欢迎&#xff01; 【 类与对象-三部曲】的大纲主要内容如下&#xff1a; 如标题所示&#xff0c;本章是【 类与对象-三部曲】三章中的第一章节——基础知识章节&#xff0c;主要内容如下&#xff1a; 目录 一.…

thinkphp6和thinkphp5有什么区别

Thinkphp6.0完全开发手册 采用PHP7强类型&#xff08;严格模式&#xff09; tp5 环境要求PHP > 5.4.0 ThinkPHP6.0的环境要求 PHP > 7.2.5 6.0版本开始&#xff0c;必须通过Composer方式安装和更新&#xff0c;所以你无法通过Git下载安装。 支持更多的PSR规范 V6.0.10版…

包管理工具详解npm、yarn、cnpm、npx、pnpm

目录&#xff1a; 1 npm包管理工具 2 package配置文件 3 npm install原理 4 yarn、cnpm、npx 5 发布自己的开发包 6 pnpm使用和原理 当我们使用npm install xxxx 的时候会添加一个node_module和2个json文件&#xff1a; package.json是配置信息文件&#xff0c;  这个配…