黑马程序员-Sql Server

本文介绍了Sql Server的身份验证设置,包括如何启用sql server身份验证,并详细讲解了Windows身份验证的步骤。接着,文章概述了Sql Server的基本概念,如catalog、主键、外键和数据类型,并探讨了SQL语句的使用,如数据更新、删除、排序、模糊匹配和空值处理。此外,还讨论了数据统计、分组、限制结果集、去除重复数据、联合查询以及各种函数的运用。
---------------------- 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 DESCFSalary 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培训、期待与您交流! ----------------------
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数据类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值