SQLServer 基础(一)

  一下内容主要是借鉴杨中科,杨老师的《程序员的SQL金典》,因为我最近和SQlserver打交道比较多,所以我主要看的是这本书的SQLServer部分。看完这本书有一个月时间了,一直说做成随笔的,刚好今天上班比较困,就想起来这个了。以下内容都比较基础,大神就可以直接路过了,给个推荐够好(好像比较难~呵呵)!不废话了。

  数据库入门

  基本概念:Catalog、表(table)、列(Column)、数据类型、记录(Record)、主键(PrimaryKey)以及表关联等。

  Catalog(目录):不同的数据库叫做Catalog(在有的DBMS中也称Database)。

  数据类型:可以理解为格式,姓名,中文,年龄,整数,性别,男女,等。

  记录:可以称为行(Row)。一行数据,比如一行包括一个人的信息。

  主键:唯一性,区别其他的标志。比如学号,不可能重复的,姓名不一定不重复,所以姓名一般不会是主键。

  索引(Index):像一个只有一层子树组成的森林,每个根节点都有0个或多个子树。如何一个班一个年龄的有好多人,也可能没有人,我们把年龄作为索引,每差一个年龄就会有这个年龄的人的信息。

  表关联:多个表直接的联系。学校表下有年级,年级下面有班级,班级下面有学生等。

数据库语言:SQL(Structure Qurey Language)

  数据表的创建和管理

  1、数据类型

  整数类型:bit,值只能0、1或空值,只能存储只有两种可能值得数据(yes、no)

       int,整数,范围-2147483648到2147483647.

       smallint,整数,范围-32768到32767,占2字节空间。

       tinyint,0到255整数,占1字节。

       bigint,-2的63次幂到2的63次幂减一整数,八字节。

  数值类型:decimal(p,s)(p为固定精度,s为宽度),numeric,money(货币型,精确到万分之一),smallmoney(-214848.3648到214748.3647),float,real。

  字符类型:char(长度m)固定长度m,varchar(m)可变长度,text可变长度最大2的31次幂减一字节,nchar(m)固定国际化字符串,nvarchar(m),ntext。

  日期类型:datetime,1753年1.1到9999年12.31,精确到百分之三秒。

       smalldatetime:1900.1.1到2079..6.6,精确分钟。

       timestamp:事件戳。

  二进制类型:image(不只是保存图片)。

  2、创建数据表

  1、创建。Create table  表名(字段名1 字段类型,字段名2 字段类型,...约束定义1,约束定义2,...)

  例:  create table T_Person (FName varchar(20), FAge int)

  2、非空约束。not null

  例:create table T_Person (FName varchar(20)not null , FAge int  not null)

  3、默认值。deafult ‘默认内容’,不是没人老师都是班主任,deafult ‘NO’,是班主任 yes。

  例:create table T_Teacher(FName varchar(20),FAge int not null, FISMaster varchar(5) deafault ‘no’)

  4、主键。一定不为空,primary key()。

  例:create table T_Person (FNumber int ,FName varchar(20),Primary Key(FNumber))

  5、外键。数据库间的关系,关键字foreign key,关键字references定义目标表名及目标表中被关联的字段,格式,foreign key 外键字段名  references 目标表名(被关联的字段名称)。

  例:一部门信息表 create table T_Department(FId varchar(20),Fname varchar(20),foreign key(FId))

    员工信息表 create table T_Employee(FNumber varchar(20),FName varchar(20),foreign key(FDepartment) references T_Department(FId))

  6、修改已有数据表。alter table  表名  add(添加)/drop(删除)  字段名

  例: alter table T_Department add FLevel varchar(20)

     alter table T_Department drop FLevel 

  7、删除表。drop table 表名(如果有外键关联则不能删)

  例:drop table T_Department

posted on 2013-10-25 10:47  shadow_飛  阅读(453)  评论(0编辑  收藏  举报

Shadow