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

数据库:笔记03SQL

模式的定义与删除

个关系数据库管理系统的实例(instance)中可以建立多个数据库,一个数据库中可以建立多个模式,一个模式下通常包括多个表、视图和索引等数据库对象。

定义

CREATE SCHEMA <模式名> AUTHORIZATION <用户名>
	[<表定义子句>|<视图定义子句>|<授权定义子句>];

删除

DROP SCHEMA <模式名> <CASCADE|RESTRICT>;
					   级联	  限制

基本表的定义、删除、修改

定义

CREATE TABLE <表名>(<列名><数据类型>[列级完整性约束条件]
					[,<列名><数据类型>[列级完整性约束条件]]
					···
					[表级完整性约束条件>]
				   );

数据类型:

删除

DROP TABLE <表名> [RESTRICT|CASCADE];
					 限制  	级联	  

修改

ALTER TABLE <表名> 
[ADD [COLUMN] <新列名> <数据类型> [完整性约束]]			增加新列、新的列级完整性约束条件和新的表级完整性约束条件
[ADD <表级完整性约束> ]
[DROP [COLUMN] <列名> [CASCADE|RESTRICT]]			   删除表中的列
[DROP CONSTRAINT <完整性约束名> [RESTRICT|CASCADE]]	删除指定的完整性约束条
[ALTER COLUMN <列名><数据类型>];						修改原有的列定义

查询

SELECT [ ALL | DISTINCT] <目标列表达式> [,<目标列表达>]···
		 默认	  删除相同行
FROM <表名或视图名> [,<表名或视图名>···]|(<SELECT语句>)[AS]<别名>
[WHERE<条件表达式>]
[GROUP BY<列名1>[HAVING<条件表达式>]]
[ORDER BY<列名2>[ASC|DESC]];

聚集函数

COUNT(*)统计元组个数
COUNT([DISTINCT|ALL]<列名>)统计一列中值的个数
SUM([DISTINCT|ALL]<列名>)计算一列值的总和(此列必须是数值型)
AVG([DISTINCT|ALL]<列名>)计算一列值的平均值(此列必须是数值型)
MAX([DISTINCT|ALL]<列名>)求一列值中的最大值
MIN([DISTINCT|ALL]<列名>)求一列值中的最小值

注意:WHERE子句中是不能用聚集函数作为条件表达式的。聚集函数只能用于SELECT子句和GROUPBY中的HAVING子句。

WHERE

比较大小

用于进行比较的运算符一般包括=(等于),>(大于),<(小于),>=(大于等于),<=(小于等于),!=或<>(不等于),!>(不大于),!<(不小于)

确定范围

BETWEEN···AND···和NOT BETWEEN···AND···

BETWEEN后是范围的下限(即低值),AND后是范围的上限(即高值)

确定集合

谓词IN可以用来查找属性值属于指定集合的元组。

NOT IN用于查找属性值不属于指定集合的元组。

字符匹配

谓词LIKE可以用来进行字符串的匹配。

​ [NOT] LIKE <匹配串> [ESCAPE’<换码字符>’]

%(百分号)代表任意长度(长度可以为0)的字符串。

_(下横线)代表任意单个字符。

注意:数据库字符集为ASCII时一个汉字需要两个__ ,当字符集为GBK时只需要一个 __ 。

涉及空值的查询

IS NULL

IS NOT NULL

多重条件查询

逻辑运算符AND和OR可用来连接多个查询条件。AND的优先级高于OR,但用户可以用括号改变优先级。##

GROUP BY

将查询结果按某一列或多列的值分组,值相等的为一组。

连接查询

内连接:舍弃不匹配的元组。

外连接

​ 左外连接:内连接 + 左边关系中失配的元组(缺少的右边关系属 性值用null表示)。

​ 右外连接:内连接 + 右边关系中失配的元组(缺少的左边关系属 性值用null表示)。

​ 全外连接:内连接 + 左边关系中失配的元组(缺少的右边关系属 性值用null表示)+ 右边关系中失配的元组(缺少的 左边关系属性值用null表示)。

嵌套查询

IN

让我好好看一下吧

数据更新

插入数据

INSERT
INTO<表名>[(<属性列1>[,<属性列2>]···)]
VALUES(<常量1>[,<常量2>]···);

修改数据

UPDATE<表名>
SET<列名>=<表达式>[,<列名>=<表达式>]···
[WHERE<条件>];

删除数据

DELETE
FROM<表名>
[WHERE<条件>];

视图

定义视图

CREATE VIEW<视图名>[(<列名>[,<列名>]···)]
AS<子查询>
[WITH CHECK OPTION];

查询、更新和表一样


http://www.kler.cn/a/282606.html

相关文章:

  • 如何在 Ubuntu 上配置 Kotlin 应用环境 ?
  • Zero、Zero-Offload、Zero-Infinity是什么
  • ffmpeg视频编码
  • [Python学习日记-67] 封装
  • 【计算机网络】TCP协议特点3
  • LC12:双指针
  • geodatatool(地图资源工具)下载高德数据及数据共享
  • 设计模式之工厂模式和策略模式的区别
  • MFC工控项目实例之八选择下拉菜单添加打钩图标
  • 提高 Web 应用程序安全性的标准
  • Scrapy添加代理IP池:自动化爬虫的秘密武器
  • 大数据技术之Flume 参数调优(12)
  • selenium滚动到页面底部
  • 企业数据治理之主数据---供应商主数据
  • 关于测试工程师在性能测试工具jmeter的熟悉和精通
  • echarts 柱状图_堆叠柱状图_数据分区_常用图表配置_数据可视化
  • Oracle(94)如何创建角色?
  • 海思SD3403/SS928V100开发(16)Tsensor驱动开发
  • MySQL系列—3.体系架构
  • 学苑教育杂志社学苑教育编辑部学苑教育杂志2024年第23期目录
  • ISP 3A 算法:自动曝光(AE)中的平均亮度法详解
  • 使用ElementUI + Vue框架实现学生管理系统前端页面设计
  • 如何从笔记本电脑或台式电脑恢复丢失的照片和视频
  • windows11 上安装了python的wxpython模块,vscode运行时还是报错的解决方法
  • 电商库存API:商家数字化转型的加速器
  • carla unreal engine源码:如何创建radar可视化探测锥