【数据库原理复习】ch2 SQL语句(主要基于sql server)
这里写目录标题
- 基本知识
- 常用基本数据类型
- 字符型数据类型
- 二进制数据类型
- 日期类型
- 数字类型
- 约束条件
- 表SQL语句
- 创建语句
- 修改基本表 & 删除基本表
- 数据查询
基本知识
常用基本数据类型
字符型数据类型
| 名称 | 大小 | 说明 |
|---|---|---|
| char(n) | 占n个字节 | 只能显示英文字符 |
| nchar(n) | 2n字节+2字节额外开销 | Unicode编码,支持中文 |
| ntext | 每字符2字节 | Unicode编码 |
| nvarchar(max) | 2n字节 + 2字节额外开销 | 根据存储字符数字节占用空间动态变化,Unicode |
| varchar(n) | n字节 + 2字节额外开销 | 仅支持英文,动态变化 |
二进制数据类型
| 名称 | 大小 |
|---|---|
| binary(n) | 占n个字节 |
| image | 每个字符1字节 |
| varbinary(n) | 每字符1字节 |
| varbinary(max) | 每字符1字节 + 2字节额外开销 |
日期类型
| 名称 | 大小 | 说明 |
|---|---|---|
| Date | 占3个字节 | 保存月日 |
| Datetime | 8个字节 | 保存年月日秒,精确到最近的3,3ms |
数字类型
- 整型:int
- 近似数据类型:float
- numeric(p ,q):总共有p位数,小数后面有d位
- 逻辑数据类型:bit, 仅取1,0或null
Null:表示当前字段值未知,未插入,不可用,或者稍后添加等。
Default:表示表中数据默认取值。
约束条件
- 非空约束(not null):限制当前列数据都不为空。
- 默认约束(default):为这个数据列定义一个默认值
- 唯一性约束(unique):表示当前列的所有数据都不重复(除了null,可以有多个null)
- 主键约束(primary key):表示这个或者这几个字段标识某一行数据
- 外键约束(foreign key):根据另外一个表的某个列获得的数据进行有效值判定,通常是另外一个表的主键
- 检查约束(check):对列进行约束,一般是自定义的表达式。
unique约束与not null 约束没有关系, unique只限制有值的情况下每一个值不能相同,可以有多个null 值。
表SQL语句
创建语句
create table table_name(# 是括号字段名1 类型 额外条件(没有就省略), # 逗号隔开字段名2 类型 额外条件,xxxx,xxx
)create table 表名
(<列名> <数据类型> [<列级完整性约束>],<列名> <数据类型> [<列级完整性约束>],xxxx,[<表级完整性约束条件>]
)
# 具体例子
create table student_table(stu_no char(10) Primary key,name char(6) Not Null,sex char(2),birthday Datetime,class_no char(4) # 最后一个不需要逗号
)
# 表级完整性约束定义
Primary key(字段名1, 字段名2, 。。。。) # 主码定义
FOREIGN KEY (字段1) REFERENCES 表名(字段名2)# 外键定义
- 如果主码由属性组组成,需要作为表级完整性进行定义
修改基本表 & 删除基本表
Alter table <表名>[add <新列名> <数据类型> [完整性约束]] # 添加新列[drop <完整性约束名>] # 删除完整性约束[alter column <列名> <数据类型>]; # 修改原有的列定义Drop table <表名> [restrict | cascade]
- 删除时,cascade表示级联删除,依赖于这张表的也将被删除,例如参考这张表的外键所在的表也将被删除。
- restrict,表示如果有参考这张表的,在删除时候该条指令会被拒绝。默认restrict删除。
数据查询
# 大体查询语句框架
SELECT [ALL | DISTINCT]<目标表达式> # 表示查询结果需要的字段
[, <目标表达式>] # 如果有多个字段,逗号进行隔开
FROM <表或视图> [, 表或者视图] # 从哪里查询数据
[WHERE <条件表达式>] # 条件是什么
[GROUP BY <列名1> [HAVING <条件表达式>]] # 是否需要进行分组
[ORDER BY <列名2> [ASC|DESC]] # 结果是否需要进行排序,对那个字段进行排序
- distinct 与 ALL 区别在于查询结果是否消除重复行,all显示所有,不消除重复行,结果有几个就有几个。distinct会将查询结果向同行只显示一行。
- [not] between and 表示在什么之间,包括两个边界。
- [not] in <值表> 这个字段值是否在这个值表当中
- 例如:where Sdept in (‘cs’, ‘ma’, ‘sse’)
- [not] like ‘<匹配串>’ [ESCAPE ‘<换码字符>’]
- 匹配串中可以使用占位符:%表示任意长度的字符串,下划线_只占单个字符。
- 如果本来就有%或者_需要\进行转义
- AND OR 用来连接多个查询条件,AND优先级高于OR
- ORDER BY 排序, ASC 升序 DESC 降序
相关文章:
【数据库原理复习】ch2 SQL语句(主要基于sql server)
这里写目录标题基本知识常用基本数据类型字符型数据类型二进制数据类型日期类型数字类型约束条件表SQL语句创建语句修改基本表 & 删除基本表数据查询基本知识 常用基本数据类型 字符型数据类型 名称大小说明char(n)占n个字节只能显示英文字符nchar(n)2n字节2字节额外开销…...
Cadence Allegro 导出Component Pin Report详解
⏪《上一篇》 🏡《上级目录》 ⏩《下一篇》 目录 1,概述2,Component Pin Report作用3,Component Pin Report示例4,Component Pin Report导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频 1,概述...
PAT甲级 1110 Complete Binary Tree
题目链接 PAT甲级 1110 Complete Binary Tree 思路 第一次的写法不是很好。 对于这种完全二叉树的层序遍历,比较烦人的就是空孩子使得处理很麻烦。 思来想去还是把空位置也入队比较好。 这样的话,访问到空指针的时机被推迟了一个level 而完全二叉树的…...
【JavaSE】逻辑控制语句
文章目录一. 顺序结构二. 分支结构1. if 语句2. switch 语句3、循环结构3.1 while 循环3.2 do while 循环3.3 for 循环3.4 break 和 continue三. 输入输出1. 输出到控制台2. 从键盘输入一. 顺序结构 顺序结构比较简单,即程序按照代码书写的顺序一行一行执行下去。 …...
Motionbuilder系统文件说明
安装路径 Motionbuilder 默认的安装路径在 C:\Program Files\Autodesk\MotionBuilder\ 用户数据(user data) 位于安装路径下的 bin\config 非管理员用户的配置文件路径 Motionbuilder会将配置文件备份到 \Users[user]\AppData\Local\Autodesk[MotionBuilder] 当用户第一次打开…...
【我的Android开发】AMS中Activity栈管理
概述 Activity栈管理是AMS的另一个重要功能,栈管理又和Activity的启动模式和startActivity时所设置的Flag息息相关,Activity栈管理的主要处理逻辑是在ActivityStarter#startActivityUnchecked方法中,本文也会围绕着这个方法进进出出…...
C++源程序的构成————学习笔记
以下内容为,在学校上课时的课堂总结,偶尔我也会扩展一些内容内容仅供参考,欢迎大佬的指正简单的C程序#include <iostream> using namespace std;int main() {int x0;int y 0;cout << "请输入x,y的值"<<endl;cin…...
Spark Catalyst
Spark Catalyst逻辑计划逻辑计划解析逻辑计划优化Catalyst 规则优化过程物理计划Spark PlanJoinSelection生成 Physical PlanEnsureRequirementsSpark SQL 端到端的优化流程: Catalyst 优化器 : 包含逻辑优化/物理优化Tungsten : Spark SQL的优化过程 : 逻辑计划 …...
element 远程搜索下拉加载
created() { this.getList(); this.getGroupList(); }, directives: { /** 下拉框懒加载 */ “el-select-loadmore”: { bind(el, binding) { const SELECTWRAP_DOM el.querySelector( “.el-select-dropdown .el-select-dropdown__wrap” ); SELECTWRAP_DOM.addEventListener…...
空间复杂度与顺序表的具体实现操作(1)
最近更新的少,主要是因为参加了ACM竞赛空间复杂度空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度 。空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量…...
【springmvc】Rest ful风格
RESTful 1、RESTful简介 REST:Representational State Transfer,表现层资源状态转移。 a>资源 资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一…...
华为OD机试真题Python实现【用户调度】真题+解题思路+代码(20222023)
用户调度 题目 在通信系统中有一个常见的问题是对用户进行不同策略的调度,会得到不同系统消耗的性能。 假设由N个待串行用户,每个用户可以使用A/B/C三种不同的调度策略。 不同的策略会消耗不同的系统资源,请你根据如下规则进行用户调度,并返回总的消耗资源数。 规则是: …...
JavaSE学习笔记总结day19
今日内容 二、线程安全的集合 三、死锁 四、线程通信 五、生产者消费者 六、线程池 零、 复习昨日 创建线程的几种方式 1) 继承 2) 实现Runnable 3) callable接口 Future接口 4) 线程池 启动线程的方法 start() 线程的几种状态 什么是线程不安全 setName getName Thread.curr…...
FreeSql使用
目的: 1.方库分表 2.主从分离 3.分布式事务 过程: 官网:指南 | FreeSql 官方文档 1.Startup.cs 添加配置(本地数据库MySql) ConfigureServices: Func<IServiceProvider, IFreeSql> fsql r >{IFreeSql …...
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
Hadoop集群搭建,基于3.3.4hadoop和centos8【小白图文教程-从零开始搭建Hadoop集群】,常见问题解决Hadoop集群搭建,基于3.3.4hadoop1.虚拟机的创建1.1 第一台虚拟机的创建1.2 第一台虚拟机的安装1.3 第一台虚拟机的网络配置1.3.1 主机名和IP映…...
UE4 材质学习 (焚烧材质)
效果步骤随便从网上下载一张图片(地址:链接/链接),导入UE中新建一个材质函数这里命名为“E_Function”双击打开该材质函数,由于需要输出变发光和变透明两种效果,因此这里需要两个输出节点:分别命…...
【c++】STL常用算法2—常用查找算法
文章目录常用查找算法findfind_ifadjacent_findbinary_searchcountcount_if常用查找算法 算法简介: find//查找元素 find_if//按条件查找元素 adjacent_find//查找相邻重复元素 binary_search//二分查找法 count//统计元素个数 count_if//按条件统计元素个数find …...
史上最全最详细的Java架构师成长路径图,程序员必备
从新手码农到高级架构师,要经过几步?要多努力,才能成为为人倚重的技术专家?本文将为你带来一张程序员发展路径图,但你需要知道的是,天下没有普适的道理,具体问题还需具体分析,实践才…...
第五章 事务管理
1.事务概念 *什么是事务:事务是数据库操作最基本单元,逻辑上是一组操作,要么都成功,要么都失败 *事务的特性(ACID):原子性、隔离性、一致性、持久性 2.搭建事务操作环境 *模拟场景ÿ…...
Redis:主从同步
Redis:主从同步一. 概述二. 原理(1) 全量同步(2) 增量同步(3) 优化Redis主从集群三. 总结一. 概述 引入: Redis主从集群采用一个Master负责写,多个Slave负责读的方式(读多写少),那么如何让读取数据时多个从…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
