第三章 数据库——表管理

 SQL Server 2005

 

 

一.数据完整性

1.实体完整性

 实体:数据库表中的一行就是一个实体,也可以称为一个对象。  每一行也可以叫做记录(record)。

 实体的完整性就是行的唯一性,即同一张表中无相同记录

2.域完整性 

 即对每一列来进行约束

 列有很多种叫法: 字段(field),域

3.引用完整性

建立两表的联系时,保证外建的值引用主键的值

4.自定义完整性

自定义完整性用来制定特定的业务规则,利用存储过程、触发器来实现。

二.创建表

1.图形界面

展开需要建表的数据库-->右击表-->新建表-->输入列名,数据类型等-->点击工具栏的保存按钮。

刷新表即可看到新建的表。

2.SQL语句

三.添加约束

1.约束

   可以在表中的某个列或者几个列上添加约束。

   当数据进入表的时候,SQL Server会查看数据是否满足约束,如果满足则将其保存到数据库中,如果不满足,则拒绝数据进入到数据库表中。

为表添加约束是在定义表的时候,或者表结构已经创建,插入数据之前添加约束。

2.约束分类

①主键约束primary key

  主键:用来唯一标识表中一行的列称为主键

  主键值不能为空,不能重复。

②空约束 null/not null

③外键约束foreign key

   一个表可以有多个外键

指定一列为外键,外键所在的表为子表,外键的数据必须引用自另外一个表的主键,这个表称为主表,主键与外键数据类型必须相同,列名可以不同。

外键的数据必须引用自另外一个表的主键,即外键中所有的数据都必须在主键中存在,主键中的某些数据可以不被外键引用。

   添加数据时要先添加主表记录,后添加子表记录

   删除数据时要先删除子表记录,后删除主表记录

④唯一约束 unique

     添加唯一约束的一列称为唯一键,取值必须唯一,不能有重复。

⑤检查约束check

     检查字段值所允许的范围,验证数据是否合法,避免脏数据的输入。

⑥默认约束default

     设置默认约束的列没有插入数据时,数据库将会为此列自动插入指定的默认值。

3.利用图形界面添加约束

     右击要修改的表-->修改表-->在相应列名前面点击设置相应约束-->保存

4.利用SQL语句添加约束

①创建表时添加约束

②表已经建立,添加约束

alter table student 

add constraint pk_student_id primary key(stuid)

alter table score

add constraint ck check(labExam>=and labExam<=100)

四.数据插入

1.图形界面

右击表-->打开表-->直接输入数据-->保存

2.SQL语句

格式:insert into 表名[列名1,列名2...] values(列值1,列值2...)

列名可省略,省略时为全部列插入数据

Insert into student(stuID,Name,gender,Birthday,address) 

values(100'张三''','1990-5-5',default)

                         --address为默认值

3.一次插入多个数据

 insert into <表名>(列名1,列名2...)

 Select <列值1,列值2...> Union

 Select <列值1,列值2...> Union

 ……

4.❤标识列插入数据

    即一个自动增长列。数据库自动生成标识列的数据,向表中插入数据时不用为标识列插入。标识列只能是int型数据。

1.图形界面添加标识列。

    可以在定义列的时候将下面的列属性中改成是标识列。或者在列定义完成之后,右击相应表-->选中相应列-->列属性改为是标识列-->保存

2.SQL语句添加标识列

五.数据删除

   delete from 表名  [where 条件]

   删除指定表中满足where条件的行。

删除张三的记录   delect from student where Name='张三'

六.数据更新

 update <表名>

 set ...

 [where 条件]

给每个学生的成绩加10分

 update score

 set labExam=labExam+10

七.表复制

select * into新表名 from 原表名

select 列名 into 新表名 from 旧表名

复制表只会复制表结构和存储在表中的数据,不会复制约束。

若只需复制表结构,不复制数据

select * into新表名 from 原表名 where(条件为false)

八.为表添加一个标识列

  1.为一个已存在的表添加一个新列,该列为标识列

alter table student 

add n int identity (1, 1) 

  2.在复制表的同时为临时表添加一个新的标识列

    select identity(int,1,1) as 别名,列名 into 新表名 from 旧表名

    select identity(int,1,1) as id,stuID  into score_s from score

九.删除表

1.图形界面

右击要删除的表-->删除-->确定

2.SQL语句

     drop table student

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值