SQL语句关键字大全

SQL语句的整理以及总结


目录


SQL S Q L 语 句 的 基 本 类 型

类型含义
char(n)存放固定长度的字符串,用户指定长度为n。如果没有使用n个长度则会在末尾添加空格。
varchar(n)可变长度的字符串,用户指定最大长度n。char的改进版,大多数情况下我们最好使用varchar。
int整数类型
smallint小整数类型
numeric(p,d)定点数,精度由用户指定。这个数有p位数字(包括一个符号位)d位在小数点右边。
real ,double precision浮点数和双精度浮点数。
float(n)精度至少位n位的浮点数

特 殊 关 键 字

类型含义实例
primary key主键primary key(student_id)
foreign key references外键,括号中为外键,references后为外键的表foreign key(course_id) references Course
not null不为空,前面为属性的定义name varchar(10) not null

/// 创 建 / 插 入 / 删 除 / 修 改

类型含义
create table创建一张表
insert into…values向表中插入一条信息
delete from从表中删除一条信息
update…set…where在where的位置,更新内容为set的值
drop table删除表
alter table…add向表中添加某个属性
alter table…drop删除某个属性
truncate清空内容

SQL S Q L 查 询 语 句 − 单 表 查 询

类型含义
select表示要查找表所含有的属性
from表示要操作的表
where判断条件,根据该判断条件选择信息
distinct表示将结果去重
all表示不去重
and在where后使用and表示将判断条件连接起来
or在where中使用or表示判断条件多选一
not在where中使用not表示判断条件相反

SQL S Q L 查 询 语 句 − 多 表 查 询

类型含义
A,B在from后面通过逗号连接多张表,表示将这些表进行笛卡尔积运算
natural join将natural join关键字前后的两张表进行自然连接运算
left outer join左外连接,以左边为基准进行连接,右边没有的用NULL代替
right outer join右外连接,以右边为基准进行连接,左边没有的用NULL代替
full join全然外连接,将两表完全合并,没有的用NULL代替
join/inner join内连接,只连接两表皆有,其他删除
corss join交叉连接,结果为两表的笛卡尔积
A join B using(c)将A和B通过c属性自然连接

附 加 运 算 关 键 字

类型含义
as将as前的关系起一个别名,在此语句中可以用别名来代指这个表
*在select中表示找出这个表所有的属性
order by让查询结果中的信息按照给定的属性排序(默认升序,上小下大)
desc在排序后使用,表示采用降序
asc在排序后使用,表示采用升序
between在where中使用between表示一个数在两个数值之间取值
not betweenbetween的反义词,在两个数之外取值
union/union all将连个SQL语句做并运算,并且自动去重,添加all表示不去重
intersect/intersect all将两个SQL语句做交运算,并自动去重,添加all表示不去重
except/except all将两个SQL语句做差运算,并且自动去重,添加all表示不去重
is null在where中使用is null表示这个值是空值
is not null在where中使用is not null表示这个值不是空值

聚 集 函 数 运 算

类型含义
avg平均值
min最小值
max最大值
sum总和
count计数
distinct表示将后面的属性去重
group by将在group by上取值相同的信息分在一个组
having对group by产生的分组进行筛选,可以使用聚集函数
<think>好的,我需要确认“span”是否是SQL关键字。首先,我应该查阅SQL的标准关键字列表。根据常见的SQL标准,比如SQL-92、SQL:1999或者更新的版本,以及各大数据库厂商(如MySQL、PostgreSQL、Oracle等)的文档,可以判断“span”是否被列为关键字。 接着,回想常见的SQL关键字,例如SELECT、FROM、WHERE、JOIN、CREATE、VIEW等,这些都是标准的关键字,但“span”并不在其中。通常,SQL关键字多用于数据操作(DML)和数据定义(DDL),而“span”听起来更像是特定于某些扩展或函数的名称,而不是保留字。 不过,有些数据库可能有自己的扩展关键字,或者在特定上下文中使用某些词汇。比如,某些系统可能在全文搜索或时间区间处理中使用“span”,但这并不代表它是标准SQL关键字。例如,PostgreSQL的某些扩展或时间序列处理可能用到“span”,但需要具体查阅相关文档。 另外,参考引用[4]中提到Flink SQL基于Apache Calcite,而Calcite遵循标准SQL。如果“span”不是标准关键字,那么可能在Flink SQL中也不视为保留字。但用户仍需注意特定实现的扩展。 总结来说,标准SQL中“span”不是关键字,但在具体数据库系统中需要进一步确认是否有特殊用途。建议用户查阅所用数据库的官方文档,确保不会与系统保留字冲突。</think>在标准SQL中,**“span”并不是保留关键字**。根据常见的SQL标准(如SQL-92、SQL:2016)以及主流数据库(如MySQL、PostgreSQL、Oracle、SQL Server)的官方文档,“span”未被列入关键字列表[^4]。不过,某些数据库的扩展功能或特定上下文中可能使用该词汇(例如时间区间处理或自定义函数),但它不属于标准SQL关键字。 ### 详细析 1. **标准SQL关键字** SQL关键字主要用于语法结构(如`SELECT`、`FROM`、`CREATE`、`VIEW`等),而“span”未被任何广泛遵循的SQL标准定义为保留字。例如,在创建表或查询时,使用“span”作为字段名通常不会引发冲突。 2. **数据库特定扩展** 部数据库可能在扩展功能中使用“span”。例如: - PostgreSQL的时间序列扩展可能用“span”表示时间范围,但需显式调用相关函数。 - 某些全文检索或地理空间扩展也可能包含类似术语,但这属于特定场景,非通用关键字[^2]。 3. **编程框架中的情况** 如引用[4]提到的Flink SQL,其基于Apache Calcite实现标准SQL,若未特殊定义,“span”同样不会被视为关键字。但在自定义函数或DSL中需谨慎使用。 ### 验证方法 若需确保兼容性,可通过以下方式验证: - **执行测试语句**:尝试用“span”作为字段名或表名创建对象,观察是否报错。 ```sql CREATE TABLE test (span INT); -- 若无语法错误,则说明非关键字 ``` - **查阅官方文档**:直接检索数据库的保留字列表(如MySQL的[Reserved Words](https://dev.mysql.com/doc/refman/8.0/en/keywords.html))。 ### 注意事项 - 即使“span”非关键字,在命名时也建议避免使用可能与函数名或扩展语法冲突的词汇。 - 在复杂查询中,可通过引号(如`"span"`)强制标识符化,提高兼容性[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值