欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

《SQL Server》之表的创建和管理

程序员文章站 2023-11-11 13:26:22
《sql server》之表的创建和管理   一、创建表             databas...

《sql server》之表的创建和管理

 

一、创建表

 

《SQL Server》之表的创建和管理

 

        database_name:用于指定在其中创建表的名称。

owner:用于指定新建表的所有者的用户名 。

table_name:用于指定新建的表的名称。

column_name:用于指定新建表的列的名称。

computed_column_expression:用于指定计算列的列值的表达式。on {filegroup | default}:用于指定存储表的文件组名。如果指定filegroup,则数据表将存储在指定的文件组中。若指定default,或未指定on参数,则数据表将存储在默认文件组中。textimage_on:用于指定text、ntext和 image列的数据存储的文件组。

data_type:用于指定列的数据类型 。

default:用于指定列的缺省值。

constant_expression:用于指定列的缺省值的常量表达式 。

identity:用于指定列为标识列。

seed:用于指定标识列的初始值。

increment:用于指定标识列的增量值。

column_constraint和table_constraint:用于指定列约束和表约束。

 

   1.创建表时指定列

例如:在“charge_sys1”数据库中,创建一个名称为“loving”的数据表

[sql] 

use charge_sys1  

create table loving  

(  

    学号  varchar(8),  

    姓名  varchar(10),  

    年龄  int  

)  

 

 

   2.列约束

每一个列可以有一个或多个约束。

primary key:约束左右的列值必须是唯一的,且列不能包含null值,相当于主键。

unique:约束列中的所有值必须是不同的值,但null是允许的。

not null:约束列中这个列中不允许有null值。

check:约束列所输入的数据,例如约束“年龄”列值不允许小于零。

例如:在“charge_sys1”数据库中,创建一个名称是“loving2”的数据表,其中“学号”主键列,并且“姓名”列不允许为空。

[sql] 

use charge_sys1  

create table loving2  

(  

    学号  varchar(8)primary key,  

    姓名  varchar(10)not null,  

    年龄  int  

)  

 

   3.列默认值

例如:在“charge_sys1”数据库中,创建一个名称是“loving3”的数据表,分别为“学号”和“年龄”列指定默认值。

[sql] 

use charge_sys1  

create table loving3  

(  

    学号  varchar(8) default '123-000-001',  

    姓名  varchar(10),  

    年龄  int default 0  

)  

 

   4.定义列计算

例如:在“charge_sys1”数据库中,创建一个名称是“loving4”的数据表,其中“总成绩”列是由“语文”、“数学”和“外语”3个列的和计算得到的。

[sql] 

use charge_sys1  

create table loving4  

(  

    姓名  varchar(10),  

    语文  int,  

    数学  int,  

    外语  int,  

    总成绩 as(语文+数学+外语)  

)  

 

   5.创建临时表

根据表是生命期,sql server中的数据表分为永久表和临时表两种。永久表是自创建之时开始将一直存在于数据库中,直至把数据库删除为止;而临时表则在用户退出或修复时将自动被删除。

创建表时,系统根据表的名称前是否用“#”号开头来判断,以“#”开头的是临时表,除此以外均为永久表。

 

二、查看表属性

   1.查看表信息

语法: sp_help  table_name

例如:在“charge_sys1”数据库中,查看“user_info”数据表的信息。

[sql] 

use charge_sys1  

exec sp_help 'user_info'  

 

《SQL Server》之表的创建和管理

 

   2.查看表的函数和存储空间

语法: sp_spaceused  table_name

例如:在“charge_sys1”数据库中,查看“user_info”数据表的函数以及表格所用的存储空间。

[sql] 

use charge_sys1  

exec sp_spaceused'user_info'  

 

《SQL Server》之表的创建和管理

 

三、修改表

   1.添加列

例如:在”charge_sys1”数据库中的“loving”数据表中把“联系方式”和“家庭住址”两个新列添加到“loving”数据表中。

[sql] 

use charge_sys1  

alter table loving  

    add 联系方式 varchar(10)  

alter table loving  

    add 家庭住址 varchar(25)      

 

   2.修改列的数据类型和大小

例如:在”charge_sys1”数据库中的“loving”数据表中,修改“学号”列为数值型。

[sql] 

use charge_sys1  

alter table loving  

    alter column 学号 int  

 

   3.删除列

例如:在”charge_sys1”数据库中的“loving”数据表中,删除其中的“家庭住址”列。

[sql] 

use charge_sys1  

alter table loving  

    drop column 家庭住址  

 

   4.添加主键

例如:在”charge_sys1”数据库中的“loving”数据表中,把“学号”列定义为主键。

[sql] 

use charge_sys1  

alter table loving  

    add primary key(学号)  

 

   5.添加检验约束和默认值

检验约束是每次企图修改表的内容时检查的检查条件。如果修改数据之后检验条件为true,就允许它,否则,不允许对数据进行修改,且返回一个出错信息。

例如:在”charge_sys1”数据库中的“loving”数据表中,给“年龄”列添加“年龄>=0”的检验约束。

[sql] 

use charge_sys1  

alter table loving  

    add constraint 年龄 check (年龄>=0)  

 

   6.删除约束

例如:在”charge_sys1”数据库中的“loving”数据表中,删除名称是“ss”的主键约束。

[sql] 

use charge_sys1  

alter table loving  

    drop constraint ss  

 

   7.修改表和列的名称

语法:sp_rename [@objname=] 'object_name',

        [@newname=]'new_name'

        [,[@objtype=]'object_type']

例如:在”charge_sys1”数据库中,把“loving”数据表名称改成“mrsoft”。

[sql] 

use charge_sys1  

exec sp_rename 'loving','mrsoft'  

 

 

四、删除表

语法:drop table table_name

例如:删除“charge_sys1”数据库中的“loving”数据表。

[sql] 

use charge_sys1  

drop table loving