MySQL-宋红康-(课P12-P13)-SQL分类和SQL的语言规则规范

b站课程:

12-SQL概述与SQL分类_哔哩哔哩_bilibili

🐶7. SQL

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

7.1 SQL的语言规则和规范

  1. 基本规则

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

  • 每条命令以 ; 或 \g、\G(命令行中才可以) 结束

  • 关键字不能被缩写也不能分行

  • 关于标点符号:

    • 必须保证所有的()、单引号、双引号是成对结束的。

    • 必须使用英文状态下的半角输入方式

    • 字符串型和日期时间类型的数据可以使用单引号('')表示

    • 列的别名,尽量使用双引号(""),而且不建议省略as

 

2. SQL大小写规范(建议去遵守)

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

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

    • 数据库名、表名、表的别名、变量名是严格区分大小写的

    • 关键字、函数名、列名(或字段名)、列的别名(字段的别名)是忽略大小写的

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

      1. SQL关键字、函数名、绑定变量等都大写

      2. 数据库名、表名、表别名、字段名、字段别名等都小写

3. 注释

(1)#单行注释 (2)--空格 单行注释 (3)/* 多行注释 */ 

 

4. 命名规则

  • 数据库、表名不得超过30个字符,变量名限制为29个

  • 必须只能包含 A–Z, a–z, 0–9, _共63个字符

  • 不能在对象名的字符间留空格

  • 必须不能和用户定义的其他对象重名

  • 必须保证你的字段没有和保留字、数据库系统或常用方法冲突

  • 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了

在命令行中的要求

7.2 SQL分类

  • DDL(Data Definition Languages):数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。
create\alter\drop\rename\truncate
  • DMLData Manipulation Language):数据操作语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性。
insert\delete\update\select
  • DCL(Data Control Language):数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。

commit/rollback/savepoint/grant/revoke

因为查询语句使用的非常的频繁,所以很多人把查询语句单拎出来一类:DQL(数据查询语言)。

还有单独将commit,rollback取出来称为TCL(Transaction Control Language, 事务控制语言)。

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

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

相关文章

java多线程(二)线程池

目录 java线程池 线程池应用场景: 如何创建线程池: 有什么区别: 不同线程池对应的应用场景 案例 输出结果 java线程池 Java线程池是一种预先创建一定数量的线程,并将任务提交给这些线程执行的机制。线程池可以避免频繁创建…

C++新经典模板与泛型编程:将trait类模板用作模板参数

将trait类模板用作模板参数 template<typename T> struct SumFixedTraits;template<> struct SumFixedTraits<char> {using sumT int;static sumT initValue() {return 0;} };template<> struct SumFixedTraits<int> {using sumT __int64;sta…

CCF刷题记录 -- 202305-2:矩阵运算 --python解法

2023.12.7 主要算法 矩阵置换矩阵相乘 满分注意点 运算顺序&#xff0c;利用了矩阵运算法则中的&#xff08;A*B&#xff09;*c A*(B*C) # 矩阵置换 def zhihuan(a):b[]for i in range(d):c []for j in range(n):c.append(a[j][i])b.append(c)return b# 矩阵相乘 def ju_zh…

高级多层次搭建企业级大数据项目, 成就全能型大数据开发实战经验思想

随着大数据技术的快速发展&#xff0c;企业越来越重视构建高效、可靠的大数据项目。本文将重点介绍如何高级多层次地搭建企业级大数据项目&#xff0c;并分享成为全能型大数据开发者的实战经验与思想。通过学习和应用这些技术&#xff0c;我们可以提升大数据项目的质量和效果。…

探索Vue小程序框架的底层原理

最近晚上有时间复盘之前研究小程序框架的相关内容&#xff0c;总结文章记录一下。 本篇文章主要介绍百度19年开源的Mars小程序开发框架&#xff0c;和Taro、mpvue、uniapp类似&#xff0c;都是编译型小程序框架&#xff0c;都是通过将 Vue 或 React 源码直接编译为小程序源码&a…

数据库字段名和sql关键字冲突报错解决方法

1、修改实体类字段映射。注解里加反引号 2、sql字段上加反引号 3、问题解决

MySQL_4.mysql数据库的安装(超详细——保姆级)

1.mysql 单实例、多实例安装 端口&#xff1a;&#xff08;3306、3307&#xff09; 环境&#xff1a;win11/win10 , mysql_5.7.30 2.安装Windows VC 、NET4.0 等系统组件 下载链接百度网盘: 链接&#xff1a;https://pan.baidu.com/s/1goIbaJ6YC-DzmBbVDyOolg 提取码&…

IPTABLES(一)

文章目录 1. iptables基本介绍1.1 什么是防火墙1.2 防火墙种类1.3 iptables介绍1.4 包过滤防火墙1.5 包过滤防火墙如何实现 2. iptables链的概念2.1 什么是链2.2 iptables有哪些链 3. iptables表的概念3.1 什么是表3.2 表的功能3.3 表与链的关系 4. iptables规则管理4.1 什么是…

将单体应用程序迁移到微服务

多年来&#xff0c;我处理过多个单体应用&#xff0c;并将其中一些迁移到了微服务架构。我打算写下我所学到的东西以及我从经验中用到的策略&#xff0c;以实现成功的迁移。在这篇文章中&#xff0c;我将以AWS为例&#xff0c;但基本原则保持不变&#xff0c;可用于任何类型的基…

vue2+datav可视化数据大屏(2)

接上一节所说 我们已经讲骨架搭好 这节我们讲述的如何在vue2中使用mock数据和封装axios 1&#xff0c;项目中使用moke &#x1f4d3;什么是mock&#xff1f;&#xff0c;mock就是假数据&#xff0c;除了数据是假的&#xff0c;其他内容都和正常工作中后端开发的接口都是一致的…

JavaScript实战:制作一个待办事项列表应用

JavaScript实战&#xff1a;制作一个待办事项列表应用 引言 在本教程中&#xff0c;我们将一步步创建一个简单的待办事项列表应用&#xff0c;这不仅会帮助你学习基本的JavaScript编程概念&#xff0c;还会教会你如何处理事件以及操作DOM。这个项目是面向初学者的&#xff0c…

Zookeeper单机模式搭建

1、下载 ​wget https://dlcdn.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz 2、解压 tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz 3、进入 apache-zookeeper-3.6.3-bin目录下&#xff0c;创建data cd apache-zookeeper-3.6.3-bin mkdir da…