而今

导航

第四章 数据表基本操作

4.1 数据表的定义

  4.1.1数据表的定义

    数据库的主要对象是数据表.数据表是一系列二维表的集合,简称表

    在关系型数据库中每个关系都体现为一张表,关系可以等价为表

    表的每一行代表一个记录  

    表的每一行代表记录的一个字段

  4.1.2对于具体的某一个表,在创建之前,需要确定表的下列特征

    1.表要包含的数据类型

    2.表中的列数,每一列中的数据类型和长度(如果有必要的话)

    3.哪些列允许空值

    4.是否使用以及何处使用约束设置默认的规则

    5.哪些是主键哪些是外键

  4.1.3使用create table table_name创建表

    

use TeachingAffairManagement
create table 学生表
(
   学号 varchar(15) not null primary key,  --不可为空,且设置主键 
   姓名 varchar(10) not null,  -- 不可为空
   年龄 int null, -- 可以为空
   性别 char(5) --不写null默认为null
)

 

  4.1.4删除数据库

    

drop table 学生表

 

  4.1.5修改数据表

    前提是创建表

    功能由1.添加修改或删除列 2.添加或删除约束

      1.添加修改或删除属性(列)

        1.1添加属性 alter table 表名称

          alter table 表名

          add 属性 数据类型[(长度)] [null | not null]

alter table 学生表
add sno varchar(15) not null

 

        1.2修改数据类型

          alter table 表名

          alter column 属性 数据类型

        1.3删除属性

          alter table 表名

          drop column 属性

      相关的系统函数

        修改列名 exec sp_rename '表名.列名','新列名'

        修改表名 exec sp_rename '原表名','新表名'

      2.添加或删除约束

        2.1约束的类型

          1.主键约束 primary key  确定表中的每条记录都是唯一的,且主键的属性不能为空

          2.外键约束 foreign key

          3.唯一约束 unique  与主键约束不同的是,唯一约束可以允许某列为空

          4.检查约束 check

          5.默认约束 default

        2.2创建约束

          语法如下

            alter table 表名

            add constraint 约束名 约束类型 具体的约束说明

          1.设置主键约束(为空的列不能创建主键约束)

--对表中学号添加主键约束
add constraint pk_学号 primary key (学号)

          2.设置唯一的约束

--给姓名添加一个唯一约束
alter table 学生表
add constraint un_姓名 unique (姓名)

          3.设置检查约束

-- 给我们的年龄添加检查约束年龄大于18
alter table学生表
add constraint ck_年龄 check (年龄>18)

          4.设置默认约束

--给性别添加默认约束为男
alter table 学生表
add constraint df_性别 default '' for 性别

          5.设置外键约束(加强两个表的关系,找到连个表中的相同列)

--成绩表建立一个外键约束引用学生表中学号
alter table 成绩表
add constraint fk_学号 foreign key (学号)
references 学生表(学号)

        

        2.3 约束条件结合关系运算符

--年龄大于18小于25并且部门为前端开发或者后端开发
alter table 员工信息表
add constraint ck_年龄 check (年龄 > 18 and 年龄 < 25)
add constraint ck_部门 check (部门 = '前端开发' and 部门 = '后端开发')

         2.4 删除约束

alter table 表名
drop constraint 约束名

 

      

 

 

posted on 2019-11-13 16:59  而今  阅读(221)  评论(0)    收藏  举报