学习笔记 | Ch01 了解SQL (Structured Query Language,结构化查询语言)
发布日期:2021-07-25 15:44:00 浏览次数:12 分类:技术文章

本文共 1254 字,大约阅读时间需要 4 分钟。

第1课 了解SQL

  • 介绍什么是SQL,它为什么很有用。
  • 介绍需要了解的SQL知识,从简单的数据检索入手,逐步过渡到一些较为复杂的内容,如联结子查询存储过程游标触发器以及表约束等。

1.1 数据库基础

1.1.1 数据库

数据库是一个以某种有组织的方式存储的数据集合(通常是一个文件或一组文件)。

  • 最简单的办法是将数据库想象为一个文件柜。这个文件柜是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。
  • 数据库软件应称为数据库管理系统DBMS数据库是通过DBMS创建和操纵的容器。

1.1.2 表

抽屉称为表。是一结构化的文件,可用来存储某种特定类型的数据。表可以保存顾客清单、产品目录、或者其他信息清单。

  • 数据库中的每个表都有一个名字来标识自己。这个名字是唯一的,即数据库中没有其他表具有相同的名字。
  • 表具有一些特性,这些特性定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。描述表的这组信息就是所谓的模式schema,模式可以用来描述数据库中特定的表,也可以用来描述整个数据库(和其中表的关系)。
  • 模式:关于数据库和表的布局及特性的信息。

在这里插入图片描述

在这里插入图片描述

1.1.3 列和数据类型

由列组成。列存储表中某部分的信息。

:表中的一个字段。所有表都是由一个或多个列组成的。

分解数据

正确地将数据分解为多个列极为重要。 例如,城市、州、邮政编码应该总是彼此独立的。通过分解这些数据,才有可能利用特定的列对数据进行分类和过滤(如找出特定州或特定城市的所有顾客)。

  • 数据类型datatype定义了列可以存储哪些数据种类。每个列都有相应的数据类型,它限制该列中存储的数据。
  • 数据类型还帮助正确地分类数据,并在优化磁盘使用方面起重要的作用。
数据类型兼容

数据类型及其名称是SQL不兼容的一个主要原因。虽然大多数基本数据类型得到了一致的支持,但许多高级的数据类型却没有。更糟的是,偶尔会有相同的数据类型在不同的DBMS中具有不同的名称。对此用户毫无办法,重要的是在创建结构时要记住这些差异。

数值型

在这里插入图片描述

字符串型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

日期和时间类型

常用数据类型

在这里插入图片描述

1.1.4 行

表中的数据是按行存储的,所保存的每个记录存储在自己的行内。

  • 行row:表中的一个记录record

1.1.5 主键

表中每一行都应该有一列(或几列)可以唯一标识自己。

  • 主键primary key:一列(或几列),其值能够唯一标识表中每一行。
  • 主键用来表示一个特定的行。
  • 没有主键,更新或删除表中特定行就极为困难。
  • 应该总是定义主键。
⭐️是主键的条件:
  • 任意两行都不具有相同的主键值。

  • 每一行都必须具有一个主键值(主键列不允许NULL值)。

  • 主键列中的值不允许修改或更新。

  • 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。

  • 也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

参考资料

  • 《SQL必知必会》第1课

转载地址:https://blog.csdn.net/qq_34170700/article/details/103978843 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:学习笔记 | Ch02-03 检索数据 select
下一篇:C++ | 数组(一维数组、二维数组)、字符数组、字符串

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月28日 11时03分35秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

dax powerbi 生成表函数_Power BI |DAX函数のCALCULATETABLE、CALENDAR函数以及相关表生成函数... 2019-04-21
编程之类的文案_如何锻炼写文案的能力? 2019-04-21
vscode 不能使用中文输入法_vscode中vim插件设置 2019-04-21
当集合a为空集时a的取值范围_1.1.2 集合间的基本关系 2019-04-21
vue 可合并表格组件_Vue实战046:详解Mixins混入使用和注意事项 2019-04-21
python包怎么做双重差分did分析_多变量相关性分析(一个因变量与多个自变量) 2019-04-21
fi sap 凭证冲销 稅_SAP中的成本要素 2019-04-21
mysql幻读是什么意思_MySQL中的幻读,你真的理解吗? 2019-04-21
mysql执行计划中性能最差的是_MySQL性能优化(七):MySQL执行计划,真的很重要,来一起学习吧... 2019-04-21
易语言执行mysql命令_易语言通过“打开”命令操作数据库 2019-04-21
mysql slave 1062_mysql主从同步slave错误1062 2019-04-21
mysql构造器_MySQL行构造器表达式优化(Row Constructor Expression) 2019-04-21
2008日志清理 server sql_SQL Server 2008 清除日志 2019-04-21
mac mysql root 权限_Mac平台重新设置MySQL的root密码 2019-04-21
mysql新增一列_MySQL-ProxySQL中间件 2019-04-21
mysql 30入门_30分钟带你快速入门MySQL教程 2019-04-21
kangle主机怎么配置MySQL_kangle web服务+easypanel主机控制面板快速搭建网站和数据库以及管理空间详细教程... 2019-04-21
mysql 翻页 存储过程_MySQl通用翻页(存储过程) 2019-04-21
2020word替换所有文本_Excel字符函数(5):REPLACE、SUBSTITUTE查找替换函数之区别... 2019-04-21
win10安装ipython_win10环境 ipython app.py 8080 这里为什么是ipython 这步无法启动 2019-04-21