设为首页 收藏本站
查看: 816|回复: 0

[经验分享] 《SQL Server》之 表的创建和管理

[复制链接]

尚未签到

发表于 2016-11-5 09:02:10 | 显示全部楼层 |阅读模式
一、创建表
DSC0000.jpg
database_name:用于指定在其中创建表的数据库名称。
owner:用于指定新建表的所有者的用户名 。
table_name:用于指定新建的表的名称。
column_name:用于指定新建表的列的名称。
computed_column_expression用于指定计算列的列值的表达式。ON
{filegroup | DEFAULT}
用于指定存
储表的文件组名。如果指定filegroup则数据表将存储在指定的文件组中。若指定default,或未指定on参数,则数据表将存储在默认文件组中。TEXTIMAGE_ON用于指定textntext
image列的数据存储的文件组。

data_type:用于指定列的数据类型 。
DEFAULT:用于指定列的缺省值。
constant_expression:用于指定列的缺省值的常量表达式 。
IDENTITY:用于指定列为标识列。
Seed:用于指定标识列的初始值。
Increment:用于指定标识列的增量值。
column_constraint和table_constraint:用于指定列约束和表约束。
  
  1.创建表时指定列
  例如:在“charge_sys1”数据库中,创建一个名称为“loving”的数据表

use charge_sys1
create table loving
(
学号varchar(8),
姓名varchar(10),
年龄int
)
  

  2.列约束
  每一个列可以有一个或多个约束。
  PRIMARY KEY:约束左右的列值必须是唯一的,且列不能包含NULL值,相当于主键。
  UNIQUE:约束列中的所有值必须是不同的值,但NULL是允许的。
  NOT NULL:约束列中这个列中不允许有NULL值。
  CHECK:约束列所输入的数据,例如约束“年龄”列值不允许小于零。
  例如:在“charge_sys1”数据库中,创建一个名称是“loving2”的数据表,其中“学号”主键列,并且“姓名”列不允许为空。

use charge_sys1
create table loving2
(
学号varchar(8)primary key,
姓名varchar(10)not null,
年龄int
)
  
3.列默认值
  例如:在“charge_sys1”数据库中,创建一个名称是“loving3”的数据表,分别为“学号”和“年龄”列指定默认值。

use charge_sys1
create table loving3
(
学号varchar(8) default '123-000-001',
姓名varchar(10),
年龄int default 0
)
  
4.定义列计算
  例如:在“charge_sys1”数据库中,创建一个名称是“loving4”的数据表,其中“总成绩”列是由“语文”、“数学”和“外语”3个列的和计算得到的。

use charge_sys1
create table loving4
(
姓名varchar(10),
语文int,
数学int,
外语int,
总成绩 as(语文+数学+外语)
)
  
5.创建临时表
  根据表是生命期,SQL Server中的数据表分为永久表和临时表两种。永久表是自创建之时开始将一直存在于数据库中,直至把数据库删除为止;而临时表则在用户退出或系统修复时将自动被删除。
  创建表时,系统根据表的名称前是否用“#”号开头来判断,以“#”开头的是临时表,除此以外均为永久表。
  

二、查看表属性
  1.查看表信息
  语法: sp_help table_name
  例如:在“charge_sys1”数据库中,查看“user_info”数据表的信息。

use charge_sys1
exec sp_help 'user_info'
DSC0001.jpg

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

use charge_sys1
exec sp_spaceused'user_info'
DSC0002.jpg

  
  

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

use charge_sys1
alter table loving
add 联系方式 varchar(10)
alter table loving
add 家庭住址 varchar(25)

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

use charge_sys1
alter table loving
alter column 学号 int

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

use charge_sys1
alter table loving
drop column 家庭住址

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

use charge_sys1
alter table loving
add primary key(学号)

  
5.添加检验约束和默认值
  检验约束是每次企图修改表的内容时检查的检查条件。如果修改数据之后检验条件为TRUE,就允许它,否则,不允许对数据进行修改,且返回一个出错信息。
  例如:在”charge_sys1”数据库中的“loving”数据表中,给“年龄”列添加“年龄>=0”的检验约束。

use charge_sys1
alter table loving
add constraint 年龄 check (年龄>=0)
  
6.删除约束
  例如:在”charge_sys1”数据库中的“loving”数据表中,删除名称是“ss”的主键约束。

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”。

use charge_sys1
exec sp_rename 'loving','mrsoft'
  


四、删除表
  语法:DROP TABLE table_name
  例如:删除“charge_sys1”数据库中的“loving”数据表。

use charge_sys1
drop table loving
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-295993-1-1.html 上篇帖子: SQL Server 索引列的顺序——真的没关系吗 下篇帖子: 学习SQL Server 2005不得不看的一些图书(学习中)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表