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

4. SQL语法中的一些基本概念

目录

(一)前言

(二)关系型数据库中的一些基本概念

1. 表

(1)行

 (2)列和字段

(3)索引

2. SQL语句的组成部分

(1)DDL(数据定义语言)

(2)DML(数据操纵语⾔)

(3)SQL子句

(三)一些DDL(数据定义语言)以及DML(数据操纵语⾔)语句的简单示例

1. DML

2. DDL


(一)前言

       本文我将简单介绍写基本SQL语句写法中需要用的一些基本概念,有了这些概念,才能更好地理解以后出现的SQL语句所表达的含义和内容。

(二)关系型数据库中的一些基本概念

1. 表

       表是关系型数据库中一个很基本的概念,它通过二维模式记录着我们所存储数据的方方面面。就好比一个EXCEL的表格那样通过行列记录数据。一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。表包含带有数据的记录()也可以看成有多个(包含有字段)组成,同时表中也会含有提高检索效率的索引

(1)行

       同样以上图的EXCEL表图示为例 ,数字标22所在这一排就是一个行,相当于整个表中的一条记录,红色涂色/文字下跌/数字9/17都是这一条记录中的内容。

 (2)列和字段

       看如下这张截图,以颜色/说明/统计三个合体加粗字体自上而下切割成三个长条,这每一个长条就是列。而颜色/说明/统计这三样就是字段。

(3)索引

       索引是对数据库表中一列或多列的值进行排序的一种结构。 在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

TIPS:

       本系列教程不会就索引展开介绍,如有兴趣,可以阅读我的SQL SERVER/AZURE SQL性能优化实践。

2. SQL语句的组成部分

       我们需要在数据库上执行的大部分工作都由 SQL 语句完成。 本系列教程中我们大致只需要理解SQL语句三个部分即可。

(1)DDL(数据定义语言)

       DDL命令⽤于创建和定义新的数据库、字段和索引,主要包含以下语句。

语句用途
create创建新的表、字段和索引。
drop删除数据库中的表和索引。
alter通过添加字段或改变字段定义来修改表。

(2)DML(数据操纵语⾔)

       DML命令⽤于创建查询,以便从数据库中排序、筛选和抽取数据,主要包含以下语句。

语句用途
select在数据库中查找满⾜特定条件的记录。
insert在数据库中插⼊新的记录。
update更新特定的记录和字段。
delete从数据库表中删除记录。

(3)SQL子句

       SQL⼦句⽤于定义和要选择或操作的数据,主要包含以下语句。

语句用途
from指定要操作的表。
where指定选择记录时要满⾜的条件。
group by将选择的记录分组。
into创建新表并将结果⾏从查询插⼊新表中。
having指定分组条件。
order by按特定顺序排序记录。
union将两个或多个查询结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部⾏。
compute⽣成合计,作为附加的汇总列出现在结果集的最后。

(三)一些DDL(数据定义语言)以及DML(数据操纵语⾔)语句的简单示例

       接下来我将先简单展现一些SQL语句的写法,后续篇幅会具体展开这些语句的全貌以及经典案列,这里就让大家先脑海里有个概念。

1. DML

  • SELECT XXX FROM TABLE_NAME - 从数据库表中获取数据
  • UPDATE TABLE_NAME SET COLUMN_NAME = XXX - 更新数据库表中的数据
  • DELETE FROM TABLE_NAME - 从数据库表中删除数据
  • INSERT INTO TABLE_NAME- 向数据库表中插入数据

2. DDL

  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

相关文章:

  • Unity注解使用方法快速上手
  • [网赚项目] 羊了个羊,周边日赚几百几千玩法
  • Appium PO模式UI自动化测试框架——设计与实践
  • Mybatis面试合集
  • 【软考 系统架构设计师】案例分析⑦ 数据库规范化与反规范化
  • Word控件Spire.Doc 【页面设置】教程(8) 如何在 C# 中创建目录 (TOC)
  • Redis 的大 Key 对持久化的影响
  • AOP 面向切面编程
  • Python-爬虫、自动化(selenium,动态网页翻页,模拟搜索,下拉列表选择、selenium行为链)
  • 关联规则代码实现
  • Redis 键(key)相关操作和常用命令
  • 大模型系统和应用——Prompt-learning Delta Tuning
  • Python自动化小技巧07——符号计算求方程解、二重积分
  • js获取本周的周一、周日和上周的周一、周日
  • 基于Php幼儿园管理系统
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • ES6--对象的扩展
  • express + mock 让前后台并行开发
  • httpie使用详解
  • javascript面向对象之创建对象
  • Java方法详解
  • leetcode46 Permutation 排列组合
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Yii源码解读-服务定位器(Service Locator)
  • 对JS继承的一点思考
  • 如何合理的规划jvm性能调优
  • 通过git安装npm私有模块
  • 原生js练习题---第五课
  • 在weex里面使用chart图表
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 阿里云服务器购买完整流程
  • #HarmonyOS:基础语法
  • #Lua:Lua调用C++生成的DLL库
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $ git push -u origin master 推送到远程库出错
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)计算机毕业设计高校学生选课系统
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (全注解开发)学习Spring-MVC的第三天
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (五)关系数据库标准语言SQL
  • (一)80c52学习之旅-起始篇
  • (转载)从 Java 代码到 Java 堆
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .gitignore
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .net6 webapi log4net完整配置使用流程