【数据库原理复习】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负责读的方式(读多写少),那么如何让读取数据时多个从…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙
WebGL:在浏览器中解锁3D世界的魔法钥匙 引言:网页的边界正在消失 在数字化浪潮的推动下,网页早已不再是静态信息的展示窗口。如今,我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室,甚至沉浸式的V…...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...

UE5 音效系统
一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...

goreplay
1.github地址 https://github.com/buger/goreplay 2.简单介绍 GoReplay 是一个开源的网络监控工具,可以记录用户的实时流量并将其用于镜像、负载测试、监控和详细分析。 3.出现背景 随着应用程序的增长,测试它所需的工作量也会呈指数级增长。GoRepl…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...