SQL Server数据库 -- 表的创建与管理
作者:mmseoamin日期:2023-12-21

文章目录

  • 一、数据表的组成
  • 二、创建数据表
    • 表的创建
    • 表的查看
    • 表的增加
    • 表的修改
    • 表的删除、
  • 三、表的架构操作
  • 四、总结

    前言

    上次博客写到了数据库的创建与管理,但是创建的库里面什么东西都没有,现在我们需要在库里面添加数据表内容


     

    一、数据表的组成

    在创建表之前,我们需要先知道表里面有哪些东西,知己知彼,才知道自己在干什么,怎么干!!

    数据表和excel里面的表差别不大,是由列名、数据类型和约束组成。

    常见的列名有学号、姓名、性别等等。数据类型和java,c语言的有的一样,有的不一样,有单独的一节专门讲类型,常见的有int、char等等。

    约束是通过限制列的取值来强制实现域的完整性,例如年龄不能低于0岁,性别默认为男等等。

    实现完整性的约束有:

    1、主键约束

    2、外键约束

    3、unique唯一约束

    4、default默认约束

    5、check范围约束

    6、not null 不为空约束

    (1)主键约束

    关键字:primary key

    作用:用来标识这个表中唯一的列,这一列里面的数必须都不相同,就像我们的身份证号。

    在这个course表中,这个符号就代表主键 !!

    (2)外键约束

    关键字:foreigh key

    作用:当两个表需要连接或者有关系时,我们就需要外键把它们联系在一起,组成一个整体表。

     

    外键的颜色比主键淡一点,且方向相反!!

    (3) 唯一约束

    关键字:unique

    作用:再去定义一列或多列唯一的值,每列的数也必须不一样!

    与主键的区别:1、主键列只能有一列,唯一列可以有多列

                             2、主键列不能为空,而唯一列可以为空null

    (4)默认约束 

    关键字:defalte

    作用:用来默认一些内容,例如计算机专业男生多,就默认性别为男,当你不填写这行内容时,它会自动添加男这个性别。

    (5)范围约束

    关键字:check

    作用:用来约束一些数据的取值范围,例如年龄在60岁以下,成绩在100分以内等等。

    (6)不为空约束

    关键字:not null

    作用:当我们不写某行数据时,系统会默认写上null,如果你不想这列数据有空值就可以限制它。


    二、创建数据表

    1、表的创建

    构建:create --->table 

    学生信息表(student)

    字段名称

    字段类型及长度

    说明

    备注

    sno

    Char(20)

    学生学号

    主关键字

    sname

    Char(6)

    学生姓名

    非空

    ssex

    Char(2)

    学生性别

    默认为男

    sage

    Int

    学生年龄

    范围在0~30

    创建一个student表,要求如上!

    create table student(            --创建名为student的表
    sno char(20) primary key,        --主键
    sname char(6) not null,          --不为空
    ssex char(2) default '男',       --默认为男
    sage int check (sage between 0 and 30)--范围在0到30之间
    )

     2、表的查看

    我们怎样用肉眼观察到我们已经把表建好了呢?

    (1)用鼠标点击软件看图形

     在表student的列中,我们可以很清晰的看到我们所建的东西

    (2)用查询语句

    select * from student -- 查询表student

     

    查询后我们能看见我们所创建的每一列的列名,但是我们只是建了一个空表,是没有内容的,接下来我们就开始进行内容的填写代码实现!!!

    3、表的增加

    构建:insert  into --> values  

    学生信息表(student)

    sno

    sname

    ssex

    sage

    202115001

    赵菁菁

    23

    202115002

    李勇

    20

    202115003

    张力

    19

    202115004

    张衡

    18

    202115005

    张向东

    20

    202115006

    张向丽

    20

    202115007

    王芳

    20

    202115008

    王民生

    25

    将表中内容添加到student学生表中,要求如上!

    insert into student values(202115001,'赵菁菁','女',23),
    						  (202115002,'李勇','男',20),
    						  (202115003,'张力','男',19),
    						  (202115004,'张衡','男',18),
    						  (202115005,'张向东','男',20),
    						  (202115006,'张向丽','女',20),
    						  (202115007,'王芳','女',20),
    						  (202115008,'王民生','男',25)

    添加完成后再次查看这个表

    select *from student

     4、表的修改

     构建   alter---> column,

    (1)修改表的名字

    修改表student新名称为student1

    exec sp_rename 'student','student1' 

    刷新后可看见 

    (2)修改表字段名字

    修改表 student1 中字段 “ssex” 名称为 “gender”

    exec sp_rename 'student1.ssex','gender'
    --exec sp_rename '表名.列名','新列名'

    (3)添加一个新的字段 

    为student1添加一个爱好字段 love char(10)

    alter table student1 add love char(10)

    (4)删除一个字段 

    为student1删除字段 love 

    alter table student1 drop column love

    (5)修改表字段操作

    修改表 student1 中字段名为 “sname” 的字段长度由原来的6改为8;

    alter table student1 alter column sname char(8)

    修改内容 

    修改表李勇的名字改为李华 

    update student1
    set sname = '李华'
    where sname = '李勇'

    修改李华的性别为女 

    update student1
    set gender = '女'
    where sname = '李华'

    将学号为“202115003”的学生信息重新设置为“王丹丹、女、20

    update student1
    set sname = '王丹丹',gender = '女',sage = 20
    where sno = 202115003

     删除内容

     删除数据表student1年龄大于24的男同学的记录

    delete student1
    where gender = '男' and sage>24

    5、表的删除 

    删除表student1

    drop table student1

    三、表的架构操作

    在对架构进行一系列操作之前,我们首先得明白什么是架构,有什么用途

    架构:简单来说就是一个数据库对象容器,相当于一个文件夹,这个文件夹下面可以放很多不同的表、视图的文件。

    数据库是有一个默认的架构 --dbo,在每一个表的前面是可以看见的!!

    现在我们要弄一个新的架构,然后放入这些表!!! 

     

    1、架构的创建 

    为用户dbo定义一个新的架构,架构名为myself

    create schema myself authorization dbo

     

    目前就有了一个新的myself架构

    2、架构添加表

    将默认架构dbo中的student1表传输到myself架构中。

    alter schema myself transfer dbo.student1

     

    将表移回来 

      将架构myself中的student1表传输到dbo架构中。

    alter schema dbo transfer myself.student1

     3、删除架构

    删除架构myself

    drop schema myself

    四、总结 

    从大致上看,在数据库下面有不同的架构,这些架构下面放上表、视图等文件,我们可以对表进行一系列的增删查改操作

    首先得创建表create、然后用图形或者查询语句进行查看,然后需要进行增加表里面的内容insert into 表明 values(...),做了这些之后表里面的内容是需要修改的,从大范围的修改alter 到小范围的修改update、delete等,最后可以删除这个表drop。

    学习sql server数据库得先看森林再见树木、由于很多书本杂乱无章没有总结,因此自己想做这个系列,接下来还会继续做表的查询等相关内容,希望文章能够帮助到你!!!