一、创建表
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”的数据表
use charge_sys1create table loving( 学号 varchar(8), 姓名 varchar(10), 年龄 int)
2.列约束
每一个列可以有一个或多个约束。
PRIMARY KEY:约束左右的列值必须是唯一的,且列不能包含NULL值,相当于主键。
UNIQUE:约束列中的所有值必须是不同的值,但NULL是允许的。
NOT NULL:约束列中这个列中不允许有NULL值。
CHECK:约束列所输入的数据,例如约束“年龄”列值不允许小于零。
例如:在“charge_sys1”数据库中,创建一个名称是“loving2”的数据表,其中“学号”主键列,并且“姓名”列不允许为空。
use charge_sys1create table loving2( 学号 varchar(8)primary key, 姓名 varchar(10)not null, 年龄 int)
3.列默认值
例如:在“charge_sys1”数据库中,创建一个名称是“loving3”的数据表,分别为“学号”和“年龄”列指定默认值。
use charge_sys1create table loving3( 学号 varchar(8) default '123-000-001', 姓名 varchar(10), 年龄 int default 0)
4.定义列计算
例如:在“charge_sys1”数据库中,创建一个名称是“loving4”的数据表,其中“总成绩”列是由“语文”、“数学”和“外语”3个列的和计算得到的。
use charge_sys1create table loving4( 姓名 varchar(10), 语文 int, 数学 int, 外语 int, 总成绩 as(语文+数学+外语))
5.创建临时表
根据表是生命期,SQL Server中的数据表分为永久表和临时表两种。永久表是自创建之时开始将一直存在于数据库中,直至把数据库删除为止;而临时表则在用户退出或系统修复时将自动被删除。
创建表时,系统根据表的名称前是否用“#”号开头来判断,以“#”开头的是临时表,除此以外均为永久表。
二、查看表属性
1.查看表信息
语法: sp_help table_name
例如:在“charge_sys1”数据库中,查看“user_info”数据表的信息。
use charge_sys1exec sp_help 'user_info'
2.查看表的函数和存储空间
语法: sp_spaceused table_name
例如:在“charge_sys1”数据库中,查看“user_info”数据表的函数以及表格所用的存储空间。
use charge_sys1exec sp_spaceused'user_info'
三、修改表
1.添加列
例如:在”charge_sys1”数据库中的“loving”数据表中把“联系方式”和“家庭住址”两个新列添加到“loving”数据表中。
use charge_sys1alter table loving add 联系方式 varchar(10)alter table loving add 家庭住址 varchar(25)
2.修改列的数据类型和大小
例如:在”charge_sys1”数据库中的“loving”数据表中,修改“学号”列为数值型。
use charge_sys1alter table loving alter column 学号 int
3.删除列
例如:在”charge_sys1”数据库中的“loving”数据表中,删除其中的“家庭住址”列。
use charge_sys1alter table loving drop column 家庭住址
4.添加主键
例如:在”charge_sys1”数据库中的“loving”数据表中,把“学号”列定义为主键。
use charge_sys1alter table loving add primary key(学号)
5.添加检验约束和默认值
检验约束是每次企图修改表的内容时检查的检查条件。如果修改数据之后检验条件为TRUE,就允许它,否则,不允许对数据进行修改,且返回一个出错信息。
例如:在”charge_sys1”数据库中的“loving”数据表中,给“年龄”列添加“年龄>=0”的检验约束。
use charge_sys1alter table loving add constraint 年龄 check (年龄>=0)
6.删除约束
例如:在”charge_sys1”数据库中的“loving”数据表中,删除名称是“ss”的主键约束。
use charge_sys1alter table loving drop constraint ss
7.修改表和列的名称
语法:sp_rename [@objname=] 'object_name',
[@newname=]'new_name'
[,[@objtype=]'object_type']
例如:在”charge_sys1”数据库中,把“loving”数据表名称改成“mrsoft”。
use charge_sys1exec sp_rename 'loving','mrsoft'
四、删除表
语法:DROP TABLE table_name
例如:删除“charge_sys1”数据库中的“loving”数据表。
use charge_sys1drop table loving
- 6楼lfmilaoshi4天前 08:24
- 这篇博客非常详细地罗列了知识,但如何进一步的总结,是你面临的下一个问题。
- Re: u0107866784天前 08:28
- 进一步的总结,好像真的是一个问题,不太会总结,去向别人取取经
- 5楼tang_huan_114天前 08:22
- 在罗列的基础上加上自己的思考吧!
- Re: u0107866784天前 08:23
- 怎么样加上自己的思想啊?就像老师说的,总结,我感觉我不会,不知道该怎么总结
- 4楼zc4742359184天前 08:20
- 这是耿建玲视频的 行动下移 的表现
- Re: u0107866784天前 08:21
- 虽然内容差不多,但是不全是视频里的内容
- 3楼ZHOUCHAOQIANG5天前 09:01
- 学习的过程——实践。
- Re: u0107866784天前 21:00
- 过程
- 2楼lilongsheng11255天前 16:23
- 这些SQL语句要理解了
- Re: u0107866785天前 19:47
- 好的,师傅
- 1楼u0108500276天前 21:36
- 怎么样把学过的知识变成自己的 你点醒了我
- Re: u0107866786天前 11:34
- 有帮助就行