SQL语言

SQL语言全称是结构化查询语言

RDBMS为关系数据库管理系统

SQL语言的特点:

(1)一体化;

(2)高度非过程化;

(3)面向集合的操作方式;

(4)提供多种方式使用;

(5)语言简洁。

SQL语言的功能:

SQL语言按其功能可分为4大部分:数据定义、数据查询、数据操纵和数据控制。

SQL功能

谓词

对象

数据定义

Create定义、Drop删除、Alter修改

数据库、关系表、视图、索引

数据查询

Select查询

数据库数据

数据操纵

Insert添加、Delete删除、Update修改

数据库数据

数据控制

/

/

1. 数据库的定义:

(1) 数据库创建:Create Database <数据库名>

(2) 数据库修改:Alter Database <数据库名>

(3) 数据库删除:Drop Database <数据库名>

(4) 数据库使用:Use <数据库名>

2. 表的定义:

(1) 表的创建:Create Database <表名> ({<属性名> <数据类型> [长度] [列级完整性约束定义],......} [表级完整性约束定义])

在列级完整性约束处可以定义如下约束:

Not Null:非空约束,限制列取值非空。

Primary Key:主键约束,指定本列为主键。Primary Key [(<属性名>[,...n])]

Foreign Key:外键约束,定义本列为引用其他表的外键。[Foreign Key (<属性名>)] References <外表名> (<外表属性名>)

Unique:唯一约束,限制列取值不能重复。Unique [(<属性名>[,...n])]

Default:默认值约束,指定列的默认值。Default 常量表达式或者Default 常量表达式 For 属性名

Check:列取值范围约束,限制列的取值范围。Check (逻辑表达式)

(2) 表的修改:Alter Table <表名>{

Alter Column <属性名> <新数据类型>             ——修改列定义

Add <属性名> <数据类型> [约束]                 ——添加新列

Drop Column <属性名>                          ——删除列

Add [Constraint <约束名>] 约束定义              ——添加约束

Drop <约束名>                                 ——删除约束 }

3. 表的删除:Drop Table <表名>

单表查询

1. 选择表中若干列:select <属性名列表|*(全部属性)>

2. 选择表中若干行:where <条件表达式>

(1) 比较大小。比较大小的运算符有:=、>、>=、<=、<、<>(不等于)、!=(不等于)。

(2) 确定范围。Between ... and(包括边界值)和nut between ... and(不包括边界值)运算符可用于查找属性值在(或不在)指定范围内的元组。

格式:属性名|表达式 [not] between 下限值 and 上限值

(3) 确定集合。In运算符可用于查找属性值在指定集合范围内的元组。

格式:属性名 [not] in (常量1,常量2,...,常量n)

(4) 字符串匹配。Like运算符用于查找指点列中与匹配串常量匹配的元组。

格式:属性名 [not] like <匹配串>

_(下划线):匹配任意一个字符。

%(百分号):匹配0个到多个字符。

[]:匹配[]中的任意一个字符。

[^ ]:不匹配[^ ]中的任意字符。

后两者若有连续的用‘-’表示。

如果要查找的字符串正好含有通配符,则使用escape来表示。

格式:escape 转义字符

(5) 涉及空值的查询。空值(NULL)在数据库中有特殊的含义,它表示当前不确定或未知的值。

格式:属性名 is [not] NULL

(6) 多重条件查询。当需要多种条件查询时,可以在where字句中使用逻辑运算符and和or来组成多条件查询。

(7) 消除取值相同的行。

格式:select distinct <属性名|*(全部属性)>

3. 对查询结果进行排序:order by <属性名> [asc(升序为默认)|desc(降序)] [,...n]

4. 使用聚合函数进行统计:

(1) count(*):统计表中元组的个数。

(2) Count([distinct] <属性名>):统计本列的列值个数。

(3) Sum(<属性名>):计算列值的和值。(必须数值型列)

(4) Avg(<属性名>):计算列值的平均值。(必须数值型列)

(5) Max(<属性名>):得到列值的最大值。

(6) Min(<属性名>):得到列值的最小值。

5. 对数据进行分组:group by子句提供了对数据进行分组的功能,having子句用于对分组后的统计结果在进行筛选。

格式:group by <分组属性> [,...n] [having <组提取条件>]

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值