---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
- 数据库概念
1.1 catalog(分类),不同类的数据应该放到不同的数据库中
a、偏于对各个Catalog进行个性化管理
b、避免命名冲突
c、安全性更高
1.2 Table(表)
不同类型的资料放到不同的格子中,将这种区域叫做表。不同的表根据方的数据不同进行空间的优化,找起来也方便。
a、主键(PrimaryKey):就是数据行的唯一标识。不会重复的列才能当主键。一个表可以没有主键,但是会非常难以处理,因此没有特殊里有表都要设定主键。
主键有两种选用策略:业务主键和逻辑主键。业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等;逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复,不会变化,因此推荐用逻辑主键。
b、表间关联、外键:当表中出现字段重复时,可以把原先比较重复的表,化简为两个表来表示。一个表中的主键是另外一个表的外键。外键就是关联两个表的键.
1.3在数据库中的数据类型与在C#中的区别
bit相当于C#中的bool类型,
char(10)10个字符
int 32位
bigint 64位
nvarchar(max)无限长的字符串
varchar(50)表示不含有中文信息的字段
nvarchar(50)表示可能含有中文信息的字段
varchar与char的区别: varchar会用空格填充
varchar用于存放长度不定的字符串
1.4 SQL语句入门:
1) sql语句中字符串用单引号
2) sql语句大小写不敏感的,
注意:不敏感指的是SQL关键字,字符串值还是大小写敏感
1.4.1主键选择
⑴ SQLServer中两种常用的主键数据类型:int(或bigint)+标识列(又称自动增长字段);uniqueidentifier(又称Guid、UUID)
⑵用标识列实现字段自增可以避免并发问题,不要开发人员控制自增。用标识列的字段在Insert的时候不用指定主键的值。将字段的(是标识)的值改为’是’,一个表只能有一个标识列。
(3)Guid算法是一种可以产生唯一标示的高效算法,它使用网卡MAC、地址、纳秒级时间、芯片ID码等算出来的,这样保证每次生成的GUID永远不会重复,无论是同一个计算机上还是不同的计算机。SQLServer中生成GUID的函数newid(), .NET中生成的Guid的方法:Guid.NewGuid(),返回是Guid类型。
(4)int自增字段的优点:占用空间小、无需开发人员干预、易读;缺点:效率低,数据导入导出的时候得很痛苦。
Guid的优点:效率高、数据导入导出很方便;缺点占用空间大、不易读。
一般业界主流倾向于使用Guid。
1.4.2插入数据INSERT
insert into tables (id,name,age)values(new id(),tom,18)//guid做主键,可以自动生成
insert into tables (name,age)values(tom,18)//id是自动生成
insert into tables values(tom,18)//id是自动生成
可以省略表名后的列名,但是不推荐使用。
1.4.3数据更新UPDATE
update tables set 列名1=value1,列名2=value2…
update tables set age=age+1 //用本身字段更新也可以
update Person1 set NickName=N’青年人’//有汉字时前加N
where Age>=20
update Person1 set NickName=N’青年人’//有汉字时前加N
where Age=20(等于判断要用一个“=”);
update Person1 set NickName=N’青年人’//有汉字时前加N
where Age<>20 (“<>”不等于)
update Person1 set NickName=N’青年人’//有汉字时前加N
where Age=20 or(and,not) Age=30//或,并且判断
1.4.4数据删除DELETE
delete from tables
delete只是删除数据,表还在,和drop table不同。
delete 也可以带where子句来删除一部分数据:
delete from table where age>20
(未完待续)
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://net.itheima.com/
来源:https://www.cnblogs.com/happylife568/archive/2012/05/02/2479325.html