您的位置:澳门新葡8455最新网站 > 数据库管理 > SQLServer数据表用法

SQLServer数据表用法

发布时间:2019-11-17 13:57编辑:数据库管理浏览(151)

    数码表定义

    数据表(或称表)是数据库最要紧的组成部分之风流洒脱,数据库中以表为团体单位存款和储蓄数据,数据库只是多少个框架,数据表才是其实质内容。数据库管理工科具中可以展现数据库中的全数数据表,数据表是数据库中一个百般主要的靶子,是别的对象的底子。

    CHECK节制增多法则

    1、CHECK 约束用于限定列中的值的节制。

    2、Check限制通过逻辑表明式来推断数据的平价,用来界定输入一列或多列的值的限量,在列中修正数据时,所要输入的剧情必得知足Check约束的基准,不然将无法精确输入。

    3、若是对单个列定义 CHECK 节制,那么该列只同意特定的值。

    4、假如对贰个表定义 CHECK 节制,那么此约束会在一定的列中对值进行限定。

    成立数据表

    方法豆蔻年华:打开数据库管理工科具-》登陆-》选拔数据库-》选取表-》右键点击,采用新建表-》在左边视图中输入列名、数据类型、是不是可空、在列属性中安装须求的性格-》点击保存(或ctrl+s卡塔 尔(阿拉伯语:قطر‎-》保存成功,刷新就能够突显

    澳门新葡萄京娱乐场 1

    澳门新葡萄京娱乐场 2

    主意二:使用T-SQL脚本新建表

     1 --数据库声明
     2 use testss
     3 --建表语法声明
     4 create table test1
     5 (
     6 --字段声明
     7 id int identity(1,1) not null,
     8 name nvarchar(50) null,
     9 sex nvarchar(50) null,
    10 age nvarchar(50) null,
    11 classid int,
    12 primary key clustered(id asc) with(ignore_dup_key=off) on [primary]    --主键索引声明
    13 )on [primary]
    14 
    15 --字段注释声明
    16 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'id主键' , @level0type=N'SCHEMA',
    17 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'id';
    18 
    19 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',
    20 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'name';
    21 
    22 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',
    23 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'sex';
    24 
    25 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' , @level0type=N'SCHEMA',
    26 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'age';
    27 
    28 exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级id' , @level0type=N'SCHEMA',
    29 @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'classid';
    30 
    31 go
    

     示例结果如下:澳门新葡萄京娱乐场 3

    使用SSMS数据库管理工科具增加CHECK节制

    1、连接数据库,采纳数据库,选择数据表-》右键点击(只怕直接点击节制,右键点击,接纳丰盛限制,前面步骤一样)-》接纳设计。

    澳门新葡萄京娱乐场 4

    2、选用要充分约束的数码列-》右键点击-》接收CHECK限定。

    澳门新葡萄京娱乐场 5

    3、在CHECK节制弹出框中式茶食击加多。

    澳门新葡萄京娱乐场 6

    4、在CHECK约束弹出框中-》输入CHECK节制表明式-》输入CHECK约束名-》输入CHECK约束描述-》别的能够选拔暗许。

    澳门新葡萄京娱乐场 7

    5、点击关闭-》点击保存按键(或然ctrl+s)-》刷新表查看结果。

    澳门新葡萄京娱乐场 8

    剔除数据表

    艺术后生可畏:展开数据库处理工科具-》登陆-》接纳数据库-》选择表-》右键点击,接受删除-》点击弹出框中的分明删除-》刷新数据库

    澳门新葡萄京娱乐场 9澳门新葡萄京娱乐场 10

    措施二:使用T-SQL脚本删除:drop table test2;

    澳门新葡萄京娱乐场 11

    运用T-SQL脚本增添CHECK约束

    修正数据表

    方式风流浪漫:张开数据库管理工科具-》登入-》选拔数据库-》采用表-》右键点击,选用重命名-》重新输入表名-》按enter键鲜明-》刷新可查看新表名

     澳门新葡萄京娱乐场 12

    艺术二:使用T-SQL脚本校勘表名:exec sp_rename 'test1','test2';

    澳门新葡萄京娱乐场 13

    当表结构存在时

    增加CHECK约束时首先校验节制是不是已存在,要是存在应该是先删除再加多,假如空头支票则平素抬高。

    语法:

    -- 增加一个暗许节制
    use 数据库名;
    go

    if exists(select * from sysobjects where name=约束名)
    alter table 表名 drop constraint 约束名;
    go

    alter table 表名 add constraint 节制名 check(约束法则),constraint 约束名 check(约束准则);
    go

    示例:

    -- 加多二个暗许节制
    use testss;
    go

    if exists(select * from sysobjects where name='check1')
    alter table test1 drop constraint check1;
    go

    alter table test1 add constraint check1 check(height>=170 and height<=175);
    go

     澳门新葡萄京娱乐场 14

    澳门新葡萄京娱乐场 15

    翻开数据表

    --查询数据库下具备的表
    --xtype='U'查询客商表
    select name from sysobjects where xtype='U'
    -- xtype='S'查询系统表
    select name from sysobjects where xtype='S'

    --查看test1表的全部消息
    exec sp_help test1;

    --查询test1表中存有的列
    select * from syscolumns where id=Object_Id('test1')

    --查看test1表中具有列数据
    select * from test1;

    当表结构子虚乌有时

    借使表结构不设有,能够直接助长度大约束,能够并且丰硕三个依旧七个节制。

    语法:

    --借使表结构官样文章时增加check限制
    use 数据库名;
    go
    --假设已存在表则删除
    if exists(select * from sysobjects where name=表名 and xtype='U')
    drop table 表名;
    go
    --创建表
    create table 表名
    (
    --字段注脚
    列名 int identity(1,1) not null,
    列名 nvarchar(50) null,
    列名 nvarchar(50) null constraint 约束名 check(限定准则),
    列名 nvarchar(50) null,
    列名 int,
    列名 int constraint 约束名 check(节制法规)
    primary key clustered(列名 asc) with(ignore_dup_key=off) on [primary], --主键索引注解
    )on [primary]

    澳门新葡萄京娱乐场,--字段注释证明
    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'列描述' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名', @level2type=N'COLUMN',@level2name=N'列名';

    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'列描述' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名', @level2type=N'COLUMN',@level2name=N'列名';

    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'列描述' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名', @level2type=N'COLUMN',@level2name=N'列名';

    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'列描述' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名', @level2type=N'COLUMN',@level2name=N'列名';

    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'列描述' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名', @level2type=N'COLUMN',@level2name=N'列名';

    go

    示例:

    --假设表结构不设不经常加多check约束
    use testss;
    go
    --假若已存在表则删除
    if exists(select * from sysobjects where name='test1' and xtype='U')
    drop table test1;
    go
    --创建表
    create table test1
    (
    --字段表明
    id int identity(1,1) not null,
    name nvarchar(50) null,
    sex nvarchar(50) null constraint check1 check(sex='男' or sex='女'),
    age nvarchar(50) null,
    classid int,
    height int constraint check2 check(height>=110 and height<=120)
    primary key clustered(id asc) with(ignore_dup_key=off) on [primary], --主键索引注脚
    )on [primary]

    --字段注释评释
    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'id主键' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'id';

    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'name';

    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'sex';

    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'age';

    exec sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级id' , @level0type=N'SCHEMA',
    @level0name=N'dbo', @level1type=N'TABLE',@level1name=N'test1', @level2type=N'COLUMN',@level2name=N'classid';

    go

     澳门新葡萄京娱乐场 16

    澳门新葡萄京娱乐场 17

    澳门新葡萄京娱乐场 18

    CHECK限制优劣点

    优点:

    1、保障列数据规范和范围,能够节制数据完整性

    2、有Check节制的列能够提须求查询优化器音讯之所以进步质量

    缺点:

    1、插入或然涂改时数据不切合节制准绳,无法改良成功。

    本文由澳门新葡8455最新网站发布于数据库管理,转载请注明出处:SQLServer数据表用法

    关键词: