MSSQL_1- SQL简介

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43650411/article/details/102636769

目录

  • T-SQL
  • 数据类型
  • 函数
  • 注释
  • 查询工具

1.SQL简介
SQL (Structured Query Language)全称是结构化查询语言
ANSI 美国国家标准学会(专门的标准化机构,制订统一的通用标准)
SQL方言 数据库生产商在遵循ANSI标准的同时,针对自己的需求对SQL进行了一定的修改,形成了SQL Server的Transact-SQL(T-SQL)、Oracle的PL/SQL等

1.1 T-SQL
提供了数据定义语言(Data Definition Language,DDL)、数据操作语言(Data Manipulation Language,DML)、流程控制语句及其它语句

1.1.1 DDL

-- 创建数据库对象
-- 数据库、表、视图、索引、函数、存储过程、触发器、规则、数据类型、登陆账户、架构
CREATE DATABASE / TABLE / VIEW / INDEX / FUNCTION / PROCEDURE / 
	TRIGGER / RULE / TYPE / LOGIN / SCHEMA
-- 修改
ALTER
-- 删除
DROP

1.1.2 DML

SELECT
INSERT
UPDATE
DELETE
TRUNCATE -- 清空表
BEGIN TRANSATION(TRAN) -- 开始一个本地事务
SAVE TRAN point -- 节点保存
ROLLBACK TRAN -- 回滚
COMMIT TRAN -- 提交

备注:
1)补充TRUNCATE

  • TRUNCATE TABLE table_name
    在这里插入图片描述

1.1.3 编程和流程控制

EXECUTE(EXEC)  -- 执行
DECLARE @local_variable  -- 局部变量
SET @local_variable  -- 赋值
BEGIN …… END  -- 一组sql
IF …… ELSE  -- 条件判定
WHILE  -- 当。。。。时
CONTINUE  -- 跳过
BREAK  -- 打断
PRINT  -- 输出
RETURN  -- 返回
RAISERROR -- 引发异常
WAITFOR -- 延迟、推迟
GO  -- 批处理

备注:
1)补充RAISERROR
2)补充WAITFOR

RAISERROR (N'This is message %s %d.', -- Message text.  
           10, -- Severity,  
           1, -- State,  
           N'number', -- First argument.  
           5); -- Second argument.  
-- The message text returned is: This is message number 5.  
GO
  • WAITFOR
    在这里插入图片描述
    在这里插入图片描述

1.1.4 T-SQL语法
1.标识符
即数据库对象的名称。
1)常规标识符
中间无空格的字符,其格式取决于数据库兼容级别(MS SQL2014: 100,110,120)。

-- 设置数据库兼容级别
EXEC sp_dbcmptlevel @level

-- 常规标识符:首字符,a-zA-Z_@#,及其它语言的字母字符
-- 不能是SQL保留字
-- @ 一般是局部变量,或参数
-- @@ 一般是全局变量,或系统函数
-- # 临时表
-- ## 全局临时对对象

2)非常规标识符
需包含在[]"", 但需注意设置QUOTED_IDENTIFIER,默认为ON
在这里插入图片描述
3)字符串包含在单引号内
当字符串中需要再添加单引号时,直接使用两个单引号。
在这里插入图片描述

2.数据类型
2.1 基本类型
2.2 自定义类型
eg.1
在这里插入图片描述
eg.2
在这里插入图片描述

2.3 数据类型的隐式转换

当两个不同数据类型的表达式用运算符组合后,数据类型优先级规则指定将优先级较低的数据类型转换为优先级较高的数据类型。
如果此转换不是所支持的隐式转换,则返回错误。当两个操作数表达式具有相同的数据类型时,运算的结果便为该数据类型。
优先级顺序是:
用户定义数据类型(最高)、sql_variant、xml、datetime、smalldatetime、float、 real、 deci
mal、money、smallmoney、bigint、int、smallint、tinyint、bit、ntext、text、image、timetamp、uniqueidentifier、nvarchar、nchar、varchar、char、varbinary、 binary (最低)。

3.函数
3.1 聚合函数

AVG | SUM | COUNT | MAX | MIN | VAR | STDEV
	(ALL | DISTINCT exp)

3.2 配置函数

-- eg.
@@DATEFIRST  -- SET 周的第一天
@@LANGUAGE  -- 当前使用语言
@@MAX_CONNECTIONS  -- 数据库最大连接数

3.3 日期|时间函数

GETDATE | GETUTCDATE | DATEADD | DATEPART | DATENAME | DATEDIFF | YEAR | MONTH | DAY

-- datetime -> varchar (CONVERT)
CONVERT(VARCHAR(20), GETDATE(), style)

3.4 数学函数

ROUND | ABS | CEILING | FLOOR | EXP | PI | RAND
SIGN  -- 负,-1;正,1;0,0

3.5 数据类型转换

CAST(exp AS data_type [ length])
CONVERT(data_type [ length ], exp [, style])
-- 当需要保留小数点时,exp * 1.0

3.6 字符串函数

ASCII
CHAR
LEFT | RIGHT | LEN | LOWER | UPPER | REPLACE | TRIM | RTRIM | LTRIM
SPACE(3)  -- 空串,3
REVERSE  -- 逆序

备注:
1)NOCOUNT
2)转换datetime | smalldatetime为字符数据时的style可用值
3)DATEPART的定义及用法

  • NOCOUNT
    在这里插入图片描述
  • 转换datetime | smalldatetime为字符数据时的style可用值
    在这里插入图片描述
    eg. datetime -> varchar
    在这里插入图片描述
  • DATEPART的定义及用法
    在这里插入图片描述

4.注释

两种形式:
-- (双连字符,单行)
/* ... */   (多行)

5.查询工具
常见的有Management Studiosqlcmd
1)Management Studio 微软的数据库管理工具,入门参考链接。
2)sqlcmd
局部状况适用,不推荐,输出排版消魂。

-- 查看所有可用命令
Win + R -> cmd -> osql ?/

在这里插入图片描述

-- 登陆
sqlcmd -s server1 -U user1 -P psw
sqlcmd -S(local)
-- 退出 sqlcmd
quit
-- 退出cmd
exit

猜你喜欢

转载自blog.csdn.net/weixin_43650411/article/details/102636769
今日推荐