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

查询、更新和表一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值