2. 表的操作:创建表、修改表、列约束和表约束、数据操作、删除表

表的操作

1. 表的创建【CREATE TABLE 表名】

在数据库“teaching”中创建“course” 表 

USE teaching
GO
CREATE TABLE course
(
cno char(4) PRIMARY KEY,
cname nvarchar(20) NOT NULL,
classhour tinyint CHECK(classhour>=2 and classhour<=6),
credit tinyint CHECK (credit>=2 and credit<=5)
)



2. 使用T-SQL语句修改表(修改列的属性、增加列、删除列)

在这里插入图片描述

2.1修改列的属性

在student表中修改“sname”字段的属性,使该字段的数据类型为nvarchar(10),允许取空值。

USE teaching
GO
ALTER TABLE student
ALTER COLUMN  sname  nvarchar(10) NULL

2.2 增加列

在course表中添加“teacher”字段,数据类型为nvarchar(8)USE teaching
GO
ALTER TABLE course
ADD teacher nvarchar(8)

2.3 删除列

删除student表中的“birthday”字段。

USE teaching
GO
ALTER TABLE student
DROP COLUMN birthday



3. 列约束和表约束

SQL Server 2012提供了6种约束:
PRIMARY KEY(主键)、
FOREIGN KEY(外键)、
UNIQUE(唯一性)、
CHECK(取值范围)、
DEFAULT(默认值)约束
NULL和NOT NULL(是否允许为空)

CREATE TABLE Department(
Did char(4) PRIMARY KEY not null,
Dname char(20) not null,
Dtel char(11) CHECK (Dtel like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' ) not null
)


create table Employee
(
  Eid char(5) primary key not null,
  Did char(4) not null,
  Ename char(10) not null,
  Esex char(2) not null,
  Ebirth date check(Ebirth>='1956-1-1' and Ebirth<='2050-1-1'),
  foreign key(Did) references Department(Did)
)


CREATE TABLE Borrow(
Eid char(5) FOREIGN KEY REFERENCES Employee(Eid),
ISBN char(15) FOREIGN KEY REFERENCES Book(ISBN),
Bdate date CHECK(Bdate BETWEEN '2000-1-1' AND '2030-1-1'),
Pdate date CHECK(Pdate BETWEEN '2000-1-1' AND '2030-2-1'),
Rdate date CHECK(Rdate BETWEEN '2000-1-1' AND '2030-2-1'),
)

DEFAULT约束
当使用INSERT语句插入数据时,如果没有为某一个列指定数据,那么DEFAULT约束就在该列中输入一个默认值。
例如:在学生表的性别列中定义了一个DEFAULT约束为“男”。当向该表中输入数据时,如果没有为性别列提供数据,那么DEFAULT约束把默认值“男”自动插入到该列中。因此,DEFAULT约束可以实现保证域完整性。

CREATE TABLE ST
(
学号     char(6)    PRIMARY KEY,
身份证号 char(18)  UNIQUE,
姓名     nvarchar(8)   NOT NULL,
专业名   nvarchar(10),
性别     nchar(1) CONSTRAINT chk_1  CHECK (性别='男' or 性别='女'),
出生时间 smalldatetime  NOT NULL,
总学分   tinyint,
入学日期 datetime  DEFAULT getdate( ) 
) 



4. 表数据操作(insert、update、delete、truncate)

insert

在学生(ST)表中插入一行数据。

INSERT into ST(学号,姓名,性别,出生时间) VALUES('150111','杨丽','女','1996-10-3')INSERT into ST 
VALUES('150112','130212199707120895','张强','网络工程','男','1997-7-12',150,'2010-9-1')

update

UPDATE  ST  SET  性别='女'  WHERE 姓名='杨丽'

delete

删除ST表中,将学号为‘150112’的学生记录删除。
DELETE  FROM ST  WHERE 学号 = '150112'

truncate

清空学生表中的数据
    TRUNCATE TABLE ST

truncate
vt.截断;截短,缩短,删节(尤指掐头或去尾)
adj.截短的;被删节的



5. 删除表【drop table 表名】

删除学生表(ST)
DROP  TABLE  ST
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你说的白是什么白_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值