ADO.Net基础

原创 2015年11月20日 11:37:16

主键(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。


版权声明:本文为博主原创文章,未经博主允许不得转载。

【Ado.Net】基础知识+简单实例

为什么要学Ado.Net?  作为程序员,我们一般都可以在Sql Server 的查询分析器里面查看和操作数据库中的数据。但是普通的用户如果要查看和操作数据库中的数据,在查询分析器里面就不会了,我们不...
  • Gnd15732625435
  • Gnd15732625435
  • 2017年02月04日 21:59
  • 351

c++使用ADO和C#使用ADO.net

#include      #include   #include time.h>   #include   using   namespace   std;     #im...
  • Q_Q1111
  • Q_Q1111
  • 2014年10月09日 09:44
  • 157

C++ 通过ADO.Net实现与MySql数据库连接 入门教程

C++ 通过ADO.Net实现与MySql数据库连接 入门教程前言
  • u013978977
  • u013978977
  • 2016年07月15日 17:15
  • 591

ADO和ADO.NET的区别

ADO.NET是ADO的后继版本,主要目的是在.NET Framework中更容易地创建分布式、 数据共享的应用程序,它提供了一个数据访问接口,以便和OLE DB数据源进行通信,如 SQL S...
  • ZHOUCHAOQIANG
  • ZHOUCHAOQIANG
  • 2014年04月30日 10:11
  • 4144

ADO.NET 之核心组成对象

引言:在当今数据信息丰富的时代,计算机领域中使用数据库来存储信息和访问信息,但是本身数据库种类有很多,例如SQL Server,Oracle,Access,MySql等,因此,如何能更加高效、更加...
  • u013067402
  • u013067402
  • 2015年05月17日 16:54
  • 1343

一个简单的ADO.NET C# 数据库操作实例

本篇文章以 ADO.NET 访问SQL SERVER 数据库为例,介绍一下ADO.NET C# 对数据库的操作语法。连接其他数据库时,可能语法上稍微有一点点差别,但步骤与SQL SERVER 想类似。...
  • shuai_wy
  • shuai_wy
  • 2017年07月12日 16:38
  • 1467

两种数据访问方式:从ADO 到ADO.NET

电脑最大的好处就是可以帮助人处理大量数据,由此离不开对数据库的访问,先看看最近在做ASP.NET例子的时候经常用到的ADO.NET的数据库访问方式。...
  • u010927640
  • u010927640
  • 2016年03月13日 17:17
  • 3190

ADO.NET操作数据库(四)

主要内容: 连接查询、左表、右表、内连接、外连接、笛卡尔积、on子句数据筛选、自连接、存储过程、连接查询、模糊查询、视图、T-SQL编程、全局变量、局部变量、事务、系统存储过程、用户自定义存储过程、a...
  • chenrushui
  • chenrushui
  • 2016年11月09日 19:45
  • 1636

C# ADO.Net事务处理

SQL Server中的事务可以将多个数据库增删改查操作合并为单个工作单元,在操作过程中任何部分出错都可以滚回已经执行的所有更改.ADO.Net中也提供了事务处理功能,通过ADO.net事务,可以将多...
  • miniduhua
  • miniduhua
  • 2016年10月21日 14:23
  • 3267

ADO.net入门(三):送上礼物讨欢喜

成功连接到数据库,意味着用户到数据库是一条平坦的大桥,就可以发送自己的意愿,要求数据库返回相应的结果。 于是,第二步就是向数据库发出自己的意愿和礼物。 可以发送...
  • u014366427
  • u014366427
  • 2014年03月26日 11:04
  • 544
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADO.Net基础
举报原因:
原因补充:

(最多只允许输入30个字)