表与表的数据操作
以后数据所用的表都在此三个表的基础上进行



--1.设已经创建了数据库PXSCJ,现在改数据库中需创建学生情况表XSB,
--该表的结构如图
USE PXSCJ
GO
CREATE TABLE XSB
{
学号 char(6) NOT NULL PRIMARY KEY,
姓名 char(8) NOT NULL,
性别 bit NULL DEFAULT 1,
出生时间 date NULL,
专业 char(12) NULL,
总学分 int NULL,
备注 varchar(500) NULL
}
--更新,a表(a表同上)同步到xsb,进行信息同步用如下语句
MERGE INTO a
USING XSB ON a.学号=XSB.学号
WHEN MATCHED
THEN UPDATE SET a.姓名=XSB.姓名,a.性别=XSB.性别.......(等等)
WHEN NOT MATCHED
THEN INSERT VALUES(XSB.学号,XSB.性别.......)
WHEN NOT MATCHED BY SOURCE
THEN DELETE;
--2.创建一个计算带列的表,表中包含课程的课程号,总成绩和学习该学习课程的人数以及课程的平时成绩
CREATE TABLE PJCJ
{
课程号 char(3) PRIMARY KEY,
总成绩 real NOT NULL,
人数 int NOT NULL
平均成绩 AS 总成绩/人数 PERSISTED
}
--3.在数据库pxscj中的xsb中增加一个列“奖学金等级”
ALTER TABLE XSB
ADD 奖学金等级 tinyint NULL
GO
--删除一个名为奖学金等级的列
ALTER TABLE XSB
DROP 奖学金等级 tinyint NULL
GO
--添加多个列
ALTER TABLE XSB
ADD 奖学金等级 tinyint NULL,,
奖学金等级 tinyint NULL
GO
--4.修改表xsb中已有咧的属性,将名为“姓名”的列长度由庲的改为,
--将"出生时间"的列数据类型由date给位datetime
ALTER TABLE XSB
ALTER COLUMN 姓名 char(10)
GO
ALTER TABLE XSB
ALTER COLUMN 出生时间 smalldatetime
--删除表
DROP TABLE XSB
--向表中插入数据
INSERT INTO CJB VALUES('081101',101,80)
--5.删除记录,将pxscj数据库的xsb中备注为空的行删除
DELETE FROM XSB
WHERE 备注 IS NULL
--删除xsb所有行
DELETE XSB
--修改记录,将pxscj数据库的xsb中学号为的学生的备注改为”三好学生“
UPDATE XSB
SET 备注='三好学生'
WHERE 学号='081101'
GO

浙公网安备 33010602011771号