SQL Server菜鸟
一、小菜鸟
(1).增:insert into 表名(字段) values(值)
(2).删:delete from 表名 where 限制条件
(3).改:update 表名 set 字段名=字段值 where 限制条件
(4).查:select 字段名(全字段名时也可用‘*’号) from 表名
(5).创建数据库:create database 数据库名
(6).创建表:create table 表名(字段名 数据类型,
字段名 数据类型,
…);
(7).删除表:drop table 表名
(8).去重:distinct
分组:group by
排序:order by(降序后面跟desc,升序不管)
数据库中查询表和表的信息(可模糊查询):select * from information_schema.tables where table_name =表名
给表添加新的字段:alter table 表名 add 字段名 数据类型 约束条件
二、菜鸟
(1).非空约束:Not Null
(2)唯一约束:Unique
(3)主键约束:Primary Key
(4)外键约束:Foreign Key
功能 | 聚合函数 |
---|---|
统计数量 | COUNT |
- | - |
平均数 | AVG |
- | - |
最大/最小 | MAX/MIN |
- | - |
求和 | SUM |
- | - |
从文本字段中提取字符 | SUBSTRING |
- | - |
类型转换 | CAST/CONVERT |
- | - |
值为null则赋值为指定值 | isNULL |
三、大菜鸟
1、 BEGIN…END语句
语句块是多条Transact-SQL语句组成的代码段,从而可以执行一组Transact-SQL语句。BEGIN和END是控制流语言的关键字。BEGIN…END语句块通常包含在其他控制流程中,用来完成不同流程中有差异的代码功能。
2、WHILE语句
WHILE语句根据条件重复执行一条或多条T-SQL代码,只要条件表达式为真,就循环执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。
DECLARE @count INT
SELECT @count = 0
WHILE @count < 10
BEGINPRINT 'count = ' + CONVERT(VARCHAR(10), @count)SELECT @count = @count + 1
END
3、IF…ELSE语句
IF…ELSE语句用于在执行一组代码之前进行条件判断,根据判断的结果执行不同的代码。IF…ELSE语句语句对布尔表达式进行判断,如果布尔表达式返回为TRUE,则执行IF关键字后面的语句块;如果布尔表达式返回FALSE,则执行 ELSE关键字后面的语句块。
DECLARE @score INT
SET @score = 100
IF @score >= 60PRINT '及格'
ELSEPRINT '不及格'
DECLARE:定义变量
4、CASE语句
CASE语句是多条件分支语句,相比IF…ELSE语句,CASE语句进行分支流程控制可以使代码更加清晰,易于理解。CASE语句根据表达式逻辑值的真假来决定执行的代码流程。
DECLARE @score INT
SET @score = 100SELECT CASE WHEN @score >= 90 THEN '优秀'WHEN @score >= 80 THEN '良好'WHEN @score >= 70 THEN '中等'WHEN @score >= 60 THEN '及格'ELSE '不及格'ENDAS '成绩'
四、老菜鸟
1、视图
视图是虚拟表,它存储的不是表信息,而是sql逻辑,为了便于查询,实现了sql逻辑复用。
语法:Create view 视图名称 AS sql逻辑
视图命名规范:通常以 V_ 、View 开头接本视图的的名称
create view V_StudentScore
as
select s.CNO,s.CName,s.CSex,s.Iage,s.CNation,s.CIDCard,r.Lessons,r.Score
from TBStudent s,TBScore r
where s.CNO=r.CNO;
2、函数
语法:Create function 函数名(参数名 数据类型)Returns 数据类型Begin代码逻辑end
自定义函数调用:
select 函数名(参数)
3、存储过程
提高代码复用,重复使用的逻辑可以放在一个存储过程里,使用时直接调用即可。
CREATE PROCEDURE 过程名 参数 数据类型(多个参数用逗号隔开)
as
begin
代码逻辑
end
在管理数据库工具中调用过程的方法:
exec 过程名
五、混合
rtrim():去除字符串右边的空字符串
ltrim():去除字符串左边的空字符串
charindex(string1,string2[,index]):两参数时,从1位置开始查找string2中是否包含string1.三参数时,从index处开始查找string2中是否包含string1,包含时返回string1的起始位置,不包含时返回0。
left(character,integer):参数1:要截取的字符串,参数2:截取字符个数,返回从字符串左边开始指定个数的字符
right(character,integer):参数1:要截取的字符串,参数2:截取字符个数返回从字符串右边开始指定个数的字符
substring(character,start,length):参数1:要截取的字符串,参数2:开始截取的下标,参数3:截取的字符长度
Stuff(expression1_Str,startIndex,lengthInt,expression2_Str):有四个参数,
其功能是将expression1_Str中自startIndex位置起删除lengthInt个字符,然后将expression2插入到expression1_Str中的startIndex位置。startIndex 从1开始
SQL Server菜鸟相关推荐
- SQL Server菜鸟入门
一.数据定义 模式的定义与删除 定义模式 模式定义语句: CREATE SCHEMA<模式名>AUTHORIZATION<用户名> 如果没有指定<模式名>,那么&l ...
- 一个菜鸟SQL SERVER 2005 DBA的日记。。。
先申明,我是一个菜鸟SQL SERVER 2005 DBA,感觉基本就不懂,买了本书就上手工作了! 这个岗位是公司新增加的. 今天是做SQL SERVER 2005 DBA的第四天了--主管还没有分 ...
- mysql server nchar_SQL MS Access、MySQL 和 SQL Server 数据类型 | w3cschool菜鸟教程
SQL 用于各种数据库的数据类型 Microsoft Access.MySQL 和 SQL Server 所使用的数据类型和范围. Microsoft Access 数据类型 数据类型 描述 存储 T ...
- c#直接调用ssis包实现Sql Server的数据导入功能
调用ssis包实现Sql Server的数据导入功能网上已经有很多人讨论过,自己参考后也动手实现了一下,上一次笔者的项目中还用了一下这个功能.思前想后,决定还是贴一下增强记忆,高手请54. 1.直接调 ...
- sql server 日期
一.时间函数 在使用存储过程,sql函数的时候,会遇到一些对时间的处理.比如时间的获取与加减.这里就用到了sql自带的时间函数.下面我列出这些函数,方便日后记忆,使用. --getdate 获取当前时 ...
- python cv2模块安装_python 连接sql server数据库,pymssql模块安装。
python 连接sql server数据库,pymssql模块安装. python版本:python3.7 数据库版本:sql server 2016 连接sql server数据库,本菜鸟用的是p ...
- C# 学习笔记(18)操作SQL Server 中
C# 学习笔记(18)操作SQL Server 中 数据库基础操作 SQL语法可以参考 菜鸟教程 或者微软官方的SQL示例 注意SQL不区分大小写 查 1.基础查询 --最基础的查询语句, selec ...
- SQL Server 触发器学习总结
SQL菜鸟入门级教程之触发器 触发器简介: 触发器(trigger)是种特殊的存储过程,它的执行不是由程序调用,也不需要手动操作,它是由事件来触发,事件大家应该非常熟悉吧,比如按钮的Click事件 ...
- SQL Server 问题之 排序规则(collation)冲突
一.写在前面 最近公司进行开发环境升级,数据库也准备了一个新的服务器,一切准备好后开始数据迁移,采取的方式为对现有Database(现有服务器Windows Server 2003 + SQL Ser ...
最新文章
- 10W+集群规模下,美团点评如何优化改造K8s?
- 基于 Raphael 的 Web UI 设计 - 初稿
- 曾逼马云道歉,扬言5年超过阿里!3年后市值差了3万亿 !
- 辨异 —— Java 中的抽象类和接口
- linux配置usb主从_技术 | 手把手教你搭建MySQL主从架构
- 使用光学鼠标传感器实现旋转(或线性)测量(转)
- 【解决】UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xef in position 0: ordinal not in range(128
- bugku---啊哒
- 咸阳师范学院计算机学院女生多嘛,咸阳师范学院宿舍条件怎么样
- 内网穿透保姆级教程——内网穿透建立个人网站、远程控制
- openmvg中cmd模块解析
- Oracle——获取当前系统时间以及插入日期型数据(to_date的用法)
- 编程之美学习笔记--一摞烙饼的排序
- linux在vi创建文件,Linux下创建文本文件(vi/vim命令使用详解)
- 山顶应试流V1.0——中国应试教育备考方法
- 用 Python 解释 SpaceX 如何进行火箭回收
- eprom是计算机内存吗,EEPROM和EPROM的区别在哪里?
- NumPy简明教程(二、数组1)
- 微信拍一拍小尾巴生成源码
- 【OpenCV-Python】22 目标检测(汽车检测)
热门文章
- scrapy好看小说爬取源代码
- 圣斗士星矢ol外国服务器网站,国外粉丝狂热支持《圣斗士星矢ol》
- 系列学习 docker 之第 5 篇 —— Docker 常用命令
- 中健长生露祝贺中国奥运健儿东京凯旋
- 相机分辨率越高,成像效果就一定越好嘛
- rad2deg() 函数
- 深度学习中,人们常说的鲁棒性和泛化性是什么意思?通俗的给你解释清楚,一看你就明白了。
- UML类图和时序图绘图工具
- 2019秋季高校计算机等级考试,关于组织2019年秋季省高校计算机等级考试报名工作的通知...
- nginx实现对websocket加密协议wss协议的反向代理以及websocket整合springboot入门(踩坑)