ADO.Net基础

主键(PrimaryKey)

  1. 主键就是数据行的唯一标识。不会重复的列才能当主键。一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键
  2. 主键有两种选用策略:业务主键逻辑主键。业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等;逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复(身份证号重复)、不会变化(帐号升位),因此推荐用逻辑主键。

表间关联、外键(ForeignKey)


SQLServer的管理

  • 需要安装SQLServer2005或者SQLServer2008,若要使用SQLServer管理工具进行开发还要安装SQLServer Management Studio,还可以使用VisualStudio进行管理
  • 使用免费的SQLServerExpress版本,Express版本的服务器名称.\SQLEXPRESS,对于开发人员来讲和其他版本没有区别。
  • SQLServer的两种验证方式:用户名验证和Windows验证,开发时用Windows验证就行。
  • 开发人员关注点在开发上,而不是配置、备份等之上,那是DBA做的事情。
  • 创建数据库,创建表,设置主键
  • SQLServer2008_ManagementStudio中:编辑200行。SQLServer2005_ManagementStudio中:打开表。
  • 常用字段类型:bit(可选值0、1)、datetime、int、varchar、nvarchar(可能含有中文用nvarchar)
  • Nvarchar(50)、Nvarchar(MAX)
  • varchar、nvarchar 和char(n)的区别:char(n)不足长度n的部分用空格填充。Var:Variable,可变的。


  1. SQL主要分DDL数据定义语言)和DML数据操作语言)两类。
  2. Create Table、Drop Table、Alter Table等属于DDL
  3. Select、Insert、Update、Delete等属于DML


主键选择

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

用标识列实现字段自增可以避免并发等问题,不要开发人员控制自增。用标识列的字段在Insert的时候不用指定主键的值。将字段的“是标识列”设置为“是”,一个表只能有一个标识列。
Guid算法是一种可以产生唯一标识的高效算法,它使用网卡MAC、地址、纳秒级时间、芯片ID码等算出来的,这样保证每次生成的GUID永远不会重复,无论是同一个计算机上还是不同的计算机。在公元3400年以前产生的GUID与任何其他产生过的GUID都不相同。SQLServer中生成GUID的函数newid(),.Net中生成Guid的方法:Guid.NewGuid(),返回是Guid类型。

  • Int自增字段的优点:占用空间小、无需开发人员干预、易读;缺点:效率低;数据导入导出的时候很痛苦。
  • Guid的优点:效率高、数据导入导出方便;缺点占用空间大、不易读。(Guid类型主键的默认值设定为newid()就会自动生成)
  • 业界主流倾向于使用Guid。

数据排序

ORDER BY子句(升序, ASC)(降序, DESC)。


通配符过滤

  • 单字符匹配的通配符为半角下划线“_”,它匹配单个出现的字符
  • 多字符匹配的通配符为半角百分号“%”,它匹配任意次数(零或多个)出现的任意字符

空值处理

SQL中使用is null、is not null来进行空值判断。


SQL常用函数


数字函数

  • ABS() :求绝对值。
  • CEILING():舍入到最大整数。3.33将被舍入为4、2.89将被舍入为3、-3.61将被舍入为-3。 Ceiling→天花板
  • FLOOR():舍入到最小整数。3.33将被舍入为3、2.89将被舍入为2、-3.61将被舍入为-4。Floor→地板。
  • ROUND():四舍五入。舍入到“离我半径最近的数”。Round→“半径”。Round(3.1425,2)。

字符串函数

  • LEN() :计算字符串长度
  • LOWER() 、UPPER ():转小写、大写
  • LTRIM():字符串左侧的空格去掉 
  • RTRIM ():字符串右侧的空格去掉
  • LTRIM(RTRIM('        bb       '))
  • SUBSTRING(string,start_position,length)
  • 参数string为主字符串,start_position为子字符串在主字符串中的起始位置,length为子字符串的最大长度。


空值处理函数

  • 执行备注中的代码
  • ISNULL(expression,value):如果expression不为空则返回expression,否则返回value。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值