黑马程序员 SQL SERVER 基础

来源:互联网 发布:ubuntu apt get glib 编辑:程序博客网 时间:2024/05/02 01:22

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

数据概述:

DBMS(DataBase ManagementSystem 数据库管理系统)和数据库,平时谈到的“数据库” 可能有两种含义;Ms Sql ServerOracle

不同品牌的数据库:MYSQL,Ms Sql Server DB2,Oracle,Access,Sybase对开发人员来讲,大通小异

SQL<>SQL server <>MsSql Server 常见的错误说出完整的厂商名字

出了Access Sql Server 等文件型的数据之外,大部分数据库都需要数据服务器才能运行,在运行之前,或开发前,连接本地数据,上线运行时是数据库在单独的服务器

数据库中的概念:

1:Catalog(分类)(又叫数据库DataBase,表空间TableSpace)不同类的数据应该放到不同的数据中

A:便于对各个Catalog进行管理

B:避免冲突

C:安全性

2:Table(表)Column(列)Field(字段)

主键:(PrimaryKey)

主键就是数据行的唯一标示,不会重复的列才能当主键,一个表没有主键,但处理起来会非常困难,因此,没有特殊理由表都要设主键

主键有两种策略:

A:业务主键->业务主键使用有业务意义的字段做主键,比如身份证,银行账号

B:逻辑主键->没有任何业务意义的字段做主键,完全给程序看的,业务人员看不到,因此很难保证业务主键不会重复(身份证号重复),不会变化(账号什位),因此推荐使用逻辑主键

表间关联,外键(ForeignKey)

SQL Server的管理

1:需要安装SQL Server2005或者SQL Server2008,若要使用Sql server管理工具进行开发还要安装SqlServer Management Studio 还以使用VisualStudio进行管理

2:使用免费的Sql Server Express版本,Express版本的服务器名称.\SQLEXPRESS,对于开发人员来讲,和其他版本没有区别

3:sql server 的两种验证方式,用户名验证和Windows验证,开发时用Windows验证就行

4:开发人员关注在开发,而不是配置,备份等上,那是DBA做的事

5:常用字段:bit(可选值0,1)datetime,int varchar,navrchar(可能含有中文用nvarchar)

6:varchar(不含英文),nvarchar(中文)和char(n)的区别:char(n)

7:Nvarchar(50)Nvarchar(Max一篇文章)

不足长度为n的部分用空格填充

SQL 语句入门

1:sql 语句是和dbms交谈专用的语句,不同的dbms都认sql语句

2:sql语句中的字符串是用单引号

3:sql语句是大小写不敏感的,不敏感是指SQL关键字,字符串值还是大小写敏感的

4:创建表,删除表不仅可以手工完成,还可以通过sql语句来完成,在自动化部署,数据导入中用的很多,create table T_Person(Id int not null,Name nvarchar(50),Age int Null),DropTable T_Person(删除表)

5:简单的instre into T_Person(id,Name,Age) values(1,‘Jim‘,20)

6:sql主要分DDL(数据定义语言)和DML(数据操作语言)两类。Create Table,Drop Table等属于DDL select,insert等属于DML

创建表的语法:CREATE TABLE T_Person(id int not null,name nvarchar(50) not null,ageint not null)

插入语句:INSTERINTO T_Person(id,name,age) values(1,’wangcs’,26)

删除表:dropTabel TableName

那些数据可以设主键:

1:只有两种数据比较合理做主键(int/bigint)uniqueidentfier(又称Guid uuid)

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

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

Int 自增字段 的优点:占用空间小,无需开发人员干涉,易读,缺点:效率低,数据导入导出时候不方便

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

业界主流倾向于Guid

标识类设置为自动增长,一个表中只有一个标识字段,主键设为标识字段,

Sql server 中产生guid :Select newid();

C#中:Guid id = Guid.NewGuid();

数据插入:inster into Table(列名)values(值)

            :insterinto Table values(值)表名后的列名可以不写,但不建议,一般有id主键,就可以不写ID这个列名,如果用guid做主键,当插入的时候,不会按着出入的顺序显示,可以个字段设定默认值

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/  

 

原创粉丝点击