黑马程序员-Sql Server

黑马程序员 SQL SERVER 基础 ---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------  数据概述: DBMS(DataBase ManagementSystem 数据库管理系统)和数据库,平时谈到的“数据库” 可能有两种含义;Ms Sql ServerOracle 不同品牌的数据库:MYSQL,Ms Sql Se 阅读详情
---------------------- ASP.Net+Android+IOS开发 、 .Net培训 、期待与您交流! ----------------------

使用Sql Server,那么我们首先要面临的问题就是:身份验证的问题

Sql Server的身份验证方式一般有两种,windows身份验证和sql server身份验证,若我们安装的时候没有授予sql server身份验证,那么我们可以根据以下步骤完成授权

-> Windows身份验证进入

-> 在对象资源管理器中右键实例名

-> 选择属性

-> 找到安全性,修改服务器身份验证(需要重新启动服务)

-> 然后在对象资源管理器中找到“安全性”

-> 找到登录名sa,右键属性(sa有个向下的红色箭头,表示用户被禁用)

-> 找到状态,启用,权限授予

-> 找到常规,设定密码(可以设置“强制实施密码策略”,表示密码必须复杂)

然后我们就可以登录sql server本地服务器了



我们就会看到四个系统数据库了,上图充分说明了每个系统数据库的作用

下面我们就开始学习具体的sql server的操作

1.    catalog:分类(又叫数据库DataBase、表空间TableSpace),不同的数据应该放到不同的数据库中,便于对各个catalog进行个性化的管理,避免命名冲突,安全性更高。

还有Table(表),Column(列),Field(字段)

2.    主键(PrimaryKey)

主键就是数据行的唯一标识,不会重复的列才能当主键

主键分为两种:业务主键还逻辑主键。

业务主键就是使用有业务意义的字段做主键,比如身份中号、银行卡号等;

逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。

3.    外键(ForeignKey)

4.    数据类型

bit:可选值为0和1,是布尔值

char(x)长度为10的字符串

datetime日期

int和bigint整数

nvarchar(X)长度为X的字符串,和char差不多(字段中可能含有中文的)

varchar字符串,不包含中文,是纯英文

char(n)长度不足n时,不足的部分用空格填充。所以一般用varchar

5.    SQL语句中字符串用单引号

6.    SQL语句是大小写不敏感的,不敏感是指SQL关键字,字符串值还是大小写敏感的

7.    SQL Server中两种常用的主键数据类型:int(或bigint)+标识列(又称自动增长字段);uniqueidentifier(又称Guid、UUID)

8.    用标识列实现阻断自增可以避免并发等问题,不要开发人员控制自增。用标志列的字段在Insert的时候不用指定主键的值。将字段的“是标志列设置为“是”,一张表只能有一个标志列。

9.    Guid算法是一种可以产生唯一标识的高效算法。Sql Server中生成GUID的函数是newid(),.NET中生成GUID的方法是:Guid.NewGuid(),返回是Guid类型。

10.  int自增字段的优点:占用空间小、无需开发人员干预、易读;缺点:效率低;数据导入导出的时候很痛苦。

Guid的优点:效率高、数据导入导出方便;缺点占用空间大、不易读。

11.  业界主流倾向于使用Guid

12.   数据更新(update)

update 表明 set 列名=新的数据 where 筛选条件

13.  SQL语句中如果出现中文,前面加上一个大写的“N”防止出错

14.  数据删除

删除表中全部数据:delete from 表名

delete只是删除数据,表还在,和Drop table 不同

delete也可以打where子句来删除一部分数据

15.  检索的数据列名想取别名,需要在列名之后加上:select FName as 姓名

16.  对数据进行统计有多少条数据:select count(*) from T_Employee;

最大值:max;

最小值:min;

平均值:avg;

求和:sum;

17.  排序

order by 子句位于select语句的末尾,它允许指定按照一个列或者多个列进行排序,还可以指定排序方式是升序(从小到大,ASC)还是降序(从大到小 DESC)

如果排序的字段不止一个,那么将使用逗号分隔开

select * from T_Employee order by FAge DESC,FSalary ASC;

order by子句要放到where子句之后

18.  通配符过滤(模糊匹配)

通配符过滤使用Like

单字符匹配的通配符为半角下划线‘_’,它匹配单个出现的字符。

例:以任意字符开头,剩余部分为“erry”:select * fromT_Employee where FName like ‘_erry’

多字符匹配的通配符为半角百分号“%”,它匹配任意次数出现的任意字符

19.  空值处理

SQL Server中,NULL不表示没有,而是表示不知道

若查询的字符的值是null。sql语句中where语句要使用 字段 is null 不能直接使用等于号

 用is null 和is not null 来判断空值

20.  多值匹配

Fage=23 or Fage=25 or Fage=28 或者 Fagein {23,25,28}

Fage>20 and Fage<30 或者 Fage between 20 and 30

21.  数据分组

group by 子句必须放到where语句之后

没有出现在group by子句中的列是不能放到select语句后的列名列表中(聚合函数中除外)

22.  having

聚合函数不能出现在where子句中,必须使用having,having要位于group by之后

having是对分组后的信息进行过滤,能用的列和select中能用的列是一样的,having无法代替where。where是对原始的数据进行过滤的

23.  限制结果集的行数

top    Row_Number函数

24.  去掉重复数据

distinct消除重复的数据的关键字

distinct后面要是跟着两个或以上字段,完全重复的结果将会被去掉,若只有一个字段相同的不会被去掉

25.  联合结果集

union合并连个查询结果集

selectFName,FAgefromT_TempEmployee

union

select FName,FAgefromT_Employee

上下两条语句的查询字段个数要一致,若不一致,可以补全,但是字段的数据类型一定要一致

   union默认会去除重复的数据,要是想显示全部数据,就在union后面加上all。union和union all

   union因为要进行重复值扫描,所以效率低,因此,如果不是确定要合并重复行,那么就是用union all

      可以多句一起使用

26.  数字函数

ABS():求绝对值

ceiling():舍入到最大整数。3.33将被舍入为4,2.89将被舍入为3

floor():舍入到最小整数。3.33将被舍入为3,2.89将被舍入为2

round():四舍五入。

27.  字符串函数

len():计算字符串长度

lower()、upper():转小写,大写

ltrim():去掉字符串左侧的空格

rtrim():去掉字符串右边的空格

若是想左右的空格都去掉的话,需要两个函数嵌套使用ltrim(rtrim())

substring(string,start_position,length)参数string为主字符串,start_position为子字符串在主字符串中的起始位置(从1开始数,这点和C#不同),length是子字符串的最大长度

28.  日期函数

getdate():获取当前日期时间

dateadd(datepart,number,date)计算增加以后的日期。参数date为待计算的日期,参数number为增量,参数datepart为计算单位

year 年份  quarter 季度  month 月份 dayofyear 当前年度的第几天

day 日  week 当前年度的第几周  weekday 星期几  hour 小时

minute 分  second 秒 millisecond 毫秒

datediff(datepart,startdate,enddate):计算两个日期之间的差额。datepart为计量单位,可取值参考dateadd

datepart(datepart,date):返回一个日期的特定部分

29.  类型转换函数

cast(expression—被转换表达式 ASdata_type—数据类型)

convert(data_type,expression)

30.  空值处理函数

isnull(expression,value):如果expression不为空则返回expression,否则返回value。

31.  case函数用法

单值判断,相当于switch case

selectFName,

(

 caseFLevel

 when 1then '普通会员'

 when 2then '中级会员'

 when 3then '高级会员'

 else'未知客户类型'

 end

) as '客户类型'

from T_Customer;

同时也支持范围值

selectFName,

(

 case

 whenFSalary<2000 then '低收入'

 whenFSalary>2000 and FSalary<5000then '中等收入'

 else'高收入'

 end

)as'收入水平'

from T_Employee

注意:在中文字符串之前加N


---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
SQLSERVER全套教学笔记+代码+一个完成项目源码 SQLSERVER全套教学笔记,零基础学习到独自开发项目,此文档描述通俗易懂,每一个知识讲解都附有源码介绍,最后有一个完整的项目源码 立即下载

相关推荐

40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程.txt

1.SQL Server 2014简介.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件限制where.mp4 16.SQL Server 2014 BETWEEN语法.mp4 17.SQL Server 2014子查询IN.mp4 18.SQL Server 2014子查询EXISTS.mp4 19.SQL Server 2014返回记录排序.mp4 2.SQL Server 2014硬件和软件要求.mp4 20.SQL Server 2014关联查询.mp4 21.SQL Server 2014聚合函数AVG() SUM().mp4 22.SQL Server 2014聚合函数MIN() MAX().mp4 23.SQL Server 2014COUNT和SUM()函数.mp4 24.SQL Server 2014 LEN()函数.mp4 25.SQL Server 2014随机数的产生.mp4 26.SQL Server 2014 GETDATE() GETUTCDATE().mp4 27.SQL Server 2014 CONVERT函数.mp4 28.SQL Server 2014 DATEDIFF函数.mp4 29.SQL Server 2014 DATEPART函数.mp4 3.SQL Server 2014数据库安装.mp4 30.SQL Server 2014 CHARINDEX函数.mp4 31.SQL Server 2014 STUFF函数.mp4 32.SQL Server 2014 SUBTRING函数.mp4 33..SQL Server 2014 LEFT()和RIGHT函数.mp4 34.SQL Server 2014 LTRIM()和RTRIM()函数.mp4 35.SQL Server 2014 UPPER()和LOWER()函数.mp4 36.SQL Server 2014 REPLACE()函数.mp4 37.SQL Server 2014 REPLICATE和SPACE()函数.mp4 38.SQL Server 2014 REVERSE函数.mp4 39.SQL Server 2014 CAST函数.mp4 4.SQL Server 2014数据库创建.mp4 40.SQL Server 2014 CASE函数.mp4 5.SQL Server 2014数据库修改与删除.mp4 6.SQL Server 2014数据库备份与还原.mp4 7.SQL Server 2014数据类型.mp4 8.SQL Server 2014新建表.mp4 9.SQL Server 2014修改、删除表结构.mp4 PPT SQL Server 2014简介 SQL Server 2014数据库备份与还原 SQL Server 2014数据库创建 SQL Server 2014数据库修改与删除 SQL Server 2014数据类型

黑马程序员-------SQLServer数据库基础知识

---------------------- http://edu.youkuaiyun.com"target="blank">ASP.Net+Android+IOS开发、 http://edu.youkuaiyun.com"target="blank">.Net培训、期待与您交流! ---------------------- 一、什么是数据库? 1、广义:数据库(Database)按一定顺序分类存放数据的仓库;

guoguo_19900310的专栏 2434

黑马Mysql教程入门+进阶PDF (超详细,覆盖面全)

MySQL 是一种开源的关系型数据库管理系统,广泛应用于各种规模的应用程序中。本教程旨在帮助初学者快速掌握 MySQL 的基础知识,并深入了解一些进阶主题如存储过程、索引优化等。 首先,我们将介绍 MySQL 的基础概念,包括数据库、表、列等,帮助读者了解如何创建数据库和表格,并学习基本的 SQL 查询语句,如 SELECT、INSERT、UPDATE 和 DELETE。 随后,我们将深入探讨 MySQL 的存储过程。存储过程是一组预编译的 SQL 语句集合,可以在数据库中进行重复性操作。我们将学习如何创建、调用和管理存储过程,以及存储过程在提高数据库效率和性能方面的应用。 另外,本教程还将涵盖 MySQL 的索引优化。索引是用于加快数据检索速度的重要技术,我们将介绍不同类型的索引(如单列索引、多列索引等),以及如何设计和优化索引以提升查询性能。 除此之外,我们还将讨论 MySQL 的事务处理、备份与恢复、安全性等主题,帮助读者全面了解 MySQL 数据库管理的各个方面。

黑马程序员:MSSQLServer和ADO.net

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 数据库直白点说就是通过一定的组织关系来有序地存数据的,比较常见的是关系型数据库,比较符合我们的认识观。数据的存储首要的是数据的完整性,完整性主要依靠约束来实现,其次要控制冗余数据,减少成本,建立表间关系(外键约束)是减少冗余

淡墨尘 690

大一Python之循环解决实际问题

pythin之循环解决实际问题

weixin_66263546的博客 2287

Cube.js 安装避坑指南:从零到一键启动

本文是一份详细的Cube.js安装避坑指南,旨在帮助开发者从零开始顺利启动Cube.js。文章重点强调了安装前的环境准备,包括Node.js版本、包管理工具和项目路径等关键“地基”,并深入解析了使用npx安装的优势、数据库类型选择以及数据库连接配置的核心步骤与常见陷阱,确保您能高效完成安装并成功启动服务。

weixin_29218509的博客 429

黑马程序员-sqlserver数据库

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 数据库概念DBMS(Database Menagement System)数据管理系统存放一堆数据的表的分类 在.net中使用SQLserver最好(catalog)分类,不同的数据应该放在不同的数据库中· 便于对各种分类进行管理·

az4226797的专栏 424

机器学习入门指南:Jupyter Notebook实战

对于机器学习工程师而言,他们更擅长的是算法、模型、数据探索的工作,而对于工程化的能力则并不是其擅长的工作。Jupyter Notebook生成PMML文件1​​​​​​​。Jupyter Notebook生成PMML文件2​​​​​​​。PySpark Notebook建模 -折线图​​​​​​​。TensorFlowNotebook建模​​​​​​​。R Notebook建模 - 散点图​​​​​​​。PySpark Notebook建模​​​​​​​。R Notebook获取训练数据集​​​​​​​。

datacreating的博客 1975

黑马程序员_SQL SERVER基础知识整理

SQL SERVER基础知识整理 数据库在WEB编程中几乎占据了半壁江山,可谓“位高权重”。今天我就以SQL SERVER数据库为例,简单讲解一下SQL SERVER的用法。下面我用两道题来说明SQL SERVER基础知识,让大家更为透彻的了解数据库。(都在新建查询里面手写) 第一题: 1.新建一个成绩表,包含:学号,姓名,课程名称,分数。通过Insert 插入初始化数据 //创建一个名为

qly2046 1577

L298N电机驱动模块的接线使用与代码实现

#include "iostm8s208mb.h" #define u8 uint8_t #define u16 uint16_t #define u32 uint32_t typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned long uint32_t; // 关于LED灯的宏定义 #define LED2 PI_ODR_ODR2 //输出量 #define LE

Clichong 13万+

Fastp实战指南:高效处理fastq数据的质控技巧

本文是Fastp实战指南,详细介绍了如何使用Fastp工具高效处理fastq数据的质控技巧。从数据清洗的必要性、基础命令解析,到高级参数定制、UMI数据处理及批量自动化流程,提供一站式解决方案。Fastp以其“All-in-One”的快速质控能力,帮助用户确保测序数据质量,为后续生物信息学分析奠定可靠基础。

weixin_29254029的博客 390

黑马程序员_Sql Server笔记

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------   数据库的5种语言: 一:DML(数据控制语句) 1.INSERT  2.DELETE  3.UPDATE  二:DDL(数据定义部分) 1.CREATE  2.ALTER  3.DROP  4.TRUNCATE(清空表里的所有记录,保留表的结构):TRUNCATE 表名 三

zhanghuaijing的专栏 581

ModuleNotFoundError: No module named‘langchain.schema.output parserlangchain.schema is not a package

电脑里现有的langchain库版本与import所需的不同,卸载原有langchain,重新下载最新的langchain。在步骤1后,若仍不可运行。在确保已重新下载新langchain后,重启python后,可正常运行。在版本号中填入所需的langchain版本号,可在requirements.txt查看。运行如下代码时,出现error。

weixin_45751925的博客 1713

黑马程序员_SQL Server学习第一季

--------------------Windows Phone 7手机开发、.Net培训、期待与您交流! --------------------     数据库就是为了解决用自定义文件格式保存数据的劣势、并发访问等情况。 DBMS(Database Management System,数据管理系统)。平时谈到数据库可能有两种含义:MSSQLSever、Oracle等某种DBMS;

pollerhame的专栏 520

【报错解决】彻底解决 CondaHTTPError: HTTP 000 CONNECTION FAILED for url 报错

CondaHTTPError: HTTP 000 CONNECTION FAILED for url 错误本质上是由于 Conda 无法访问远程仓库引起的,常见原因包括网络不通、防火墙或安全软件阻拦、SSL 证书异常以及默认仓库不可达。解决该问题的关键在于:确保网络畅通、配置国内稳定镜像源、调整防火墙和安全设置、处理 SSL 证书问题,并保持 Conda 版本更新。通过这些方法,几乎可以彻底消除连接失败问题,保证 Conda 环境的正常使用和包管理的稳定性。

博客 1162

CAPL学习之路-关键字

在capl中,关键字具有特殊的含义和用途,因此,不得将关键字用作变量或函数的名称 声明数据类型的关键字 可以用不同的关键字,声明或引用不同类型的数据 byte 声明一个字节的变量 word 声明两个字节的变量 dword 声明四个字节的变量 int 声明两个字节的整数 long 声明四个字节的变量 qword 声明八个字节的变量 char 声明一个字符串 float 声明一个浮点数,8个字节 double 声明一个浮点数,8个字节 定义一个结构体或枚举类型 struct struct Data { .

jasonj333 6108

黑马程序员_SQL Server 数据操作总结

-----------Windows Phone 7手机开发、.Net培训、.net学习型技术博客、期待与您交流! ------------ 黑马程序员_SQL Server 数据操作总结 一、三个领域之间的术语对应关系如图所示:      二、概念区分:数据库管理系统和数据库语言      数据库管理系统:Mysql、SQL Server 2005、SQL Ser

jsyupan的专栏 838

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

黑马程序员SQl server数据管理

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------   一、单行插入 插入可分为:全部插入和部分插入 -全部插入的写法有两种:把所有的列名列出来、省略列名。  部分插入:只需把部分的列名列出来 语法 INSERT [INTO]表名> [列名]VALUES值列表> 注意原则:对应一致,(,)values(,) 例如创建一个表: cr

梁永斌 392

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

黑马程序员SQL Server 2000中查询表名

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------   SQL Server 2000中查询表名 经常碰到一些忘记表名称的情况,此时只记得个大概,此时可通过查询系统表Sysobjects找到所要的表名,如要查找包含用户的表名,可通过以下SQL语句实现,  Select *  From sysobjects 

362

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

黑马程序员_SQL Server语法

一、SQL Server常用语句 1 创建数据库 2 create database myDataBase 3 on 4 ( 5 --数据文件存放的地方-- 6 name = 'myDataBase.mdf', 7 filename = 'D:\db\myDataBase.mdf', 8 ...

weixin_30399821的博客 191

黑马程序员--学习sql server小结

----------------------Windows Phone 7手机开发、.Net培训、期待与您交流! SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名. SQL语言包含3个部分:   数据定义语言Data Definition

zh578273776的专栏 459

黑马程序员 SQL SERVER第四天

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 数字函数 1:ABS()绝对值 2:CEILING():舍到最大整数,33.33将舍入为4,2.89将被舍入3,-3.61将被舍为-3 ceiling->天花板 3:FLOOr()舍入到最小数,3.33将被舍入3,2.89将被

wangcs_1986的专栏 626

【黑马程序员】SQL Server DATEDIFF() 函数

------- WindowsPhone 7手机开发、.Net培训、期待与您交流! ------- 点击打开链接 SQL Server DATEDIFF() 函数 SQL Server Date 函数 定义和用法 DATEDIFF() 函数返回两个日期之间的天数。 语法 DATEDIFF(datepart,startdate,enddate) startda

dan810103的专栏 593

黑马程序员 SQL SERVER 第三天

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- Having 是对分组后的信息过滤,而where是对原始数据分组 限制结果集 1:select top * from T_Employee order by FSalary 2:(*)检索按照工资从高到底排序检索从第六名开始一共三

wangcs_1986的专栏 550

--黑马程序员--SQL Server基础学习笔录

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 在SQL Server学习过程中,主要学到的一些知识总结如下: 1.主键            我们在建立数据库的时候,需要为每张表指定一个主键,所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键, 主键的选择

jinglujing2011的专栏 371

黑马程序员-SQL Server中一些有用的日期SQL语句

----------  android培训  java培训   期待与您交流!------------ 1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 3.一年的第一天 SELECT DATEADD

txl690956710的专栏 877
上一篇: 黑马程序员-集合与泛型集合
下一篇: 黑马程序员-城市联动
yaofch
博客等级 码龄15年 1粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值