SQL语言

SQL语言是操作关系数据库的标准语言,是一种高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据库结构上工作。

SQL语言的特点:一体化、高度非过程化、面向集合的操作方式、提供多种方式使用、语言简洁。

SQL语言的功能:数据定义、数据查询、数据操纵、数据控制。

SQL支持的数据类型:

1)精确数字:tinyint、smallint、int、bighint、decimal(p,s)

2)近似数字:float(n)、real

3)日期时间型:datetime、datetime2、smalldatetime、date、time

4)字符串型:

普通字符编码串:char、varchar、text

统一字符编码串:nchar、ncarchar、ntext

二进制串:bit、binary、varbinary

5)其他类型:sql_variant、uniqueidentifier、xml

数据库的定义:

1)数据库创建:CREATE DATABASE<数据库名>

2)数据库修改:ALTER DATABASE<数据库名>

3)数据库删除:DROP DATABASE<数据库名>

架构的定义:

1)架构创建:CREATE SCHEMA <架构名>

2)架构修改:ALTER SCHMA<架构名>

3)架构删除:DROP SCHEMA<架构名>

表的定义:

1)表的创建:CREATE TABLE<表名>

列级完整性约束:

①NOT NULL:非空约束

②PRIMARY KEY:主键约束

③FOREIGN KEY:外键约束

④UNIQUE:唯一值约束

⑤DEFAULT:默认值约束

⑥CHECK:列取值范围约束

2)表的修改:ALTER TABLE<表名>

3)表的删除:DROP TABLE<表名>

表的查询:

SELECT DISTINCT(去重复)<目标列名序列>

FROM<表名>[JOIN<表名>ON<连接条件>]

[WHERE<行选择条件>]

[GROUP BY<分组依据列>]

[HAVING<组选择条件>]

[ORDER BY<排序依据列>]

模糊查询匹配字符串:

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

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

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

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

CASE表达式:

CASE测试表达式

WHEN 简单表达式1 THEN 结果表达式1

WHEN 简单表达式2 THEN 结果表达式2

···

WHEN 简单表达式n THEN 结果表达式n

END

子查询:

1)WHERE <列名> [NOT] IN(子查询)

2)WHERE <列名> 比较运算符(子查询)

3)WHERE [NOT] EXISTS(子查询)

查询的集合运算:

UNION:并运算

INTERSECT:交运算

EXCEPT:差运算

视图

视图时基于SQL语句的结果集的可视化的表

优点:简化数据查询语句、使用户能从多角度看待同一数据、提高了数据的安全性、提供了一定程度的逻辑独立性

视图的定义:CREATE VIEW<视图名>

视图的修改:ALTER VIEW<视图名>

视图的删除:DROP VIEW<视图名>

数据更改功能

数据插入:

1)单行插入:INSERT[INTO]<表名>[(列名表)] VALUES(值列表)

2)多行插入:INSERT[INTO]<表名>[(列名表)] SELECT 语句

数据更新:

UPDATE<表名> SET<列名> = {表达式 |DEFAULT I NULL} [,…n] 

[FROM<条件表名>[,…n ]]

[WHERE<更新条件>]

数据删除:

DELETE [ FROM ]<表名>

[FROM<条件表名>[,…n ]

[WHERE <删除条件>]

数据控制功能

授权:
GRANT<权限>[,<权限>] …

[ON<对象类型><对象名名>]

TO <用户>[,<用户>]

WITH GRANT OPTION [AS用户];

回收授权:


REVOKE[GRANT OPTION FOR]<权限>[,<权限>] … 

[ON<对象类型><对象名>]

FROM <用户>[,<用户>]···

[CASCADE][AS 用户 ];

拒权:

DENY<权限> [,<权限>] …
[ON<对象类型><对象名>] 
TO<用户>[,<用户>]…; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值