【黑马程序员】数据库基本知识

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

一、数据库基础

1.主键 PrimaryKey

主键是数据行的唯一标识。不会重复的列才能当主键,一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键

主键有两种选用策略:业务主键和逻辑主键、业务主键是使用有业务意义的字段做主键,比如身份证、银行账号等;逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复(身份证号码重复)、不会变化(账号升为),因此推荐使用逻辑主键。

主键选择策略:

SQLServer中的两种常用主键数据类型:int(或Bigint+标识列(又称自动增长字段);uniquedentifier(又称GuidUUID)

用标识列实现字段自增可以避免并发等问题,不要开发人员控制自增。用标识列的字段在Insert的时候不用指定主键的值

Guid算法是一种可以产生唯一标识的高效算法,它使用网卡MAC、地址、纳秒级时间、芯片ID等算出来的,这样保证每次生成的Duid永远不会重复,无论是同一个计算机上还是不用计算机上。在公元3400年以前产生的GUID与任何其他产生的GUID都不用。SQLServerf中生成GUID的函数newid(), .net中生成Guid的方法:Guid.NewGuid(),返回值是Guid类型。

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

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

业界主流倾向于使用Guid,

   2. sqlserver 使用

  常用字段类型:bit(可选值0 1) datatimeint varchar nvarchar(可能含有中文用nvarchar)

 Char varcharnvarchar的区别:char(n)不足长度n的部分用空格填充  Var:variable 可变的。

二、常用语句

1.      数据插入

1>insert 语句可以省略表名后的列名,但是不推荐

 2>如果插入的行中有些字段不确定,那么Insert的时候不指定列即可

3>可以给字段默认值,如果Guid类型主键的默认值设为 newid()就会自动生成,很少这么干

 4>主键:inset intoPerson3Nameagevalues(‘lily’,38);

Insert into Person4(Id,Name,Age)values(newid(),’tom’,30);

2.数据更新:

1>更新一个列:update T_Person Set Age=30

2>更新多个列:update T_Person Set Age=30,Nam=’tom’

3>更新一部分数据:update T_Person Set Age=30 where Name=’tom’,where语句表示只更新Name’tom’的行,注意SQL中等于判断用单个=而不是==

4>where 中还可以使用复杂的逻辑判断update T_Person Set Age=30 where Name=’tom’ or Age <25,or相当于C#中的||(或者)

5>where中可以使用的其他逻辑符:or and not < > >= <= !=

3.数据删除:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值