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

数据库:笔记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];

查询、更新和表一样

相关文章:

  • 数据结构之内核链表,栈,队列
  • 什么是CSRF跨站请求伪造
  • 【Python 千题 —— 基础篇】身份证隐藏的信息
  • 使用Nginx部署Vue项目
  • Spring Boot 多数据源配置
  • 【软件工程】软件与软件危机
  • Kali学习(ms17-010、ms08-067漏洞复现)
  • 算法: 双指针
  • QT Quick QML 添加海康威视SDK云台控制模块
  • 【ShuQiHere】《机器学习的进化史『上』:从数学模型到智能算法的百年征程》
  • 【Git】常用命令大全(带注释)
  • GPT-4.0 新手使用教程(保姆级入门)
  • OpenCV小练习:身份证号码识别
  • linux-----内核(Kernel)与文件系统(File System)
  • 排序---
  • 07.Android之多媒体问题
  • Android Volley源码解析
  • css的样式优先级
  • Java程序员幽默爆笑锦集
  • java取消线程实例
  • PAT A1120
  • Redux 中间件分析
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 从零开始在ubuntu上搭建node开发环境
  • 构建工具 - 收藏集 - 掘金
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 我看到的前端
  • # linux 中使用 visudo 命令,怎么保存退出?
  • #ifdef 的技巧用法
  • $.each()与$(selector).each()
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (3)llvm ir转换过程
  • (42)STM32——LCD显示屏实验笔记
  • (C语言)字符分类函数
  • (rabbitmq的高级特性)消息可靠性
  • (回溯) LeetCode 77. 组合
  • (九)c52学习之旅-定时器
  • (四)opengl函数加载和错误处理
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .NET CLR Hosting 简介
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • ::什么意思
  • @vue/cli 3.x+引入jQuery
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • [383] 赎金信 js
  • [AutoSar]BSW_Com02 PDU详解
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)
  • [C#]扩展方法
  • [C#]使用深度学习算法opencvsharp部署RecRecNet广角图像畸变矫正校正摄像广角镜头畸变图像
  • [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
  • [CLickhouse] 学习小计
  • [Codeforces] number theory (R1600) Part.11
  • [Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包