MSSQL_1- SQL简介

目录

  • 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
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的第一个问题是如何在 Microsoft SQL Server 或 MYSQL Server 上创建一个名为“Session1”的数据库并导入数据? 首先,你需要在 SQL Server Management Studio 或 MYSQL Workbench 中登录到你的服务器。然后按照以下步骤创建数据库并导入数据: 在 SQL Server Management Studio 中: 1. 在“对象资源管理器”中右键单击“数据库”文件夹,选择“新建数据库”。 2. 在“新建数据库”对话框中,输入“Session1”作为数据库名称。 3. 在“选项”面板中,选择默认的数据库文件路径和文件名。 4. 单击“确定”按钮创建数据库。 5. 打开新建的“Session1”数据库,右键单击该数据库,选择“新建查询”。 6. 执行提供的 MSSQL_S1.sql 脚本,该脚本将创建表并填充数据。 在 MYSQL Workbench 中: 1. 在“Navigator”中单击“管理数据连接”。 2. 在“管理数据连接”窗口中,选择你要连接的服务器并输入凭据。 3. 单击“连接”按钮以连接到服务器。 4. 在“Navigator”中单击“新建模式”。 5. 输入“Session1”作为模式名称。 6. 单击“应用”按钮以创建模式。 7. 在“Navigator”中单击“Session1”模式,右键单击该模式,选择“新建查询”。 8. 执行提供的 MYSQL_S1.sql 脚本,该脚本将创建表并填充数据。 完成以上步骤后,你现在应该已经成功创建了一个名为“Session1”的数据库,并成功导入了数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值