zerocc
--建立学生数据库
create database 学生数据库;


--建立学生表
create table 学生表
(
SNO CHAR(4),
SN CHAR(8)NOT NULL,
SEX CHAR(2) NOT NULL,
AGE INT NULL,
DEPT INT NOT NULL,
PRIMARY KEY(SNO),
CHECK (AGE BETWEEN 15 AND 45),
CHECK (SEX =\'男\' or sex =\'女\'),
CHECK (DEPT >=1 AND DEPT <=6)
)
GO

--建立课程表
CREATE TABLE 课程表
(
CNO CHAR(4),
CN CHAR(19) NOT NULL,
PRIMARY KEY(CNO)
)
GO


--建立学生选课表
CREATE TABLE 学生选课表
(
SNO CHAR(4),
CNO CHAr(4) not null,
GRADE INT NULL,
PRIMARY KEY(SNO,CNO),
foreign key (SNO) REFERENCES 学生表(SNO),
FOREIGN KEY (CNO) REFERENCES 课程表(CNO)
)
GO

----alter table 表名 add check  增加约束 
ALTER TABLE 学生选课表
ADD CHECK (grade between 0 and 100);
go



--添加数据修改数据
--insert into …… values(……)
insert into 学生表 values( \'S1\',\'徐琳\', \'女\', 17,2);
insert into 学生表 values( \'S2\',\'李国华\',\'男\', 18,6);
insert into 学生表 values( \'S3\',\'徐萍\', \'女\', 20, 1);
insert into 学生表 values( \'S4\',\'林新明\', \'男\', 23, 6);
insert into 学生表 values( \'S5\',\'张家杰\', \'男\', 19, 6) ;
insert into 学生表 values( \'S6\',\'张婷\', \'女\', 21, 3);
insert into 学生表 values( \'S7\',\'赵大地\', \'男\', 18, 6) ;
insert into 学生表 values( \'S8\',\'赵树林\', \'男\', 19, 3);


insert into 课程表 values( \'C1\',\'数学\') ;
insert into 课程表 values( \'C2\',\'英语\');
insert into 课程表 values( \'C3\',\'C语言\')
insert into 课程表 values( \'C4\',\'数据库原理\');
insert into 课程表 values( \'C5\',\'政治\');
insert into 课程表 values( \'C6\',\'物理\');
insert into 课程表 values( \'C7\',\'心理学\');



insert into 学生选课表 values( \'S1\',\'C1\',80);
insert into 学生选课表 values( \'S1\',\'C2\',85);
insert into 学生选课表 values( \'S1\',\'C6\',75);
insert into 学生选课表 values( \'S1\',\'C4\',56);
insert into 学生选课表 values( \'S1\',\'C5\',90);
insert into 学生选课表 values( \'S2\',\'C1\',47);
insert into 学生选课表 values( \'S2\',\'C3\',80);
insert into 学生选课表 values( \'S2\',\'C4\',75);
insert into 学生选课表 values( \'S2\',\'C5\',70);
insert into 学生选课表 values( \'S6\',\'C1\',95);
insert into 学生选课表 values( \'S6\',\'C2\',80);
insert into 学生选课表 values( \'S6\',\'C3\',87);
insert into 学生选课表 values( \'S3\',\'C1\',75);
insert into 学生选课表 values( \'S3\',\'C2\',70);
insert into 学生选课表 values( \'S3\',\'C3\',85);
insert into 学生选课表 values( \'S3\',\'C4\',86);
insert into 学生选课表 values( \'S3\',\'C5\',90);
insert into 学生选课表 values( \'S3\',\'C6\',99);
insert into 学生选课表 values( \'S4\',\'C1\',83);
insert into 学生选课表 values( \'S4\',\'C2\',85);
insert into 学生选课表 values( \'S4\',\'C3\',83);
insert into 学生选课表 values( \'S5\',\'C2\',99);

-------------------------------------------------------------

--向表添加一行中的部分数据,向表添加一行的部分数据,只有当表中的列允许为空时才行
insert into 学生表(SNO,SN,SEX,DEPT) VALUES (\'S9\',\'王奇才\',\'男\',2);


--ALTER TABLE …… ADD ……语句向表增加一列数据
ALTER TABLE 学生表 ADD CLASSNUM INT
GO

SELECT * FROM 学生表;

ALTER TABLE 课程表 ADD TEACHERNAME CHAR(8);
select * from 课程表;

--增加约束
ALTER TABLE …… ADD CHECK …… 增加的约束,由系统给定约束名
ALTER TABLE …… ADD CONSTRAINT CHECK ……增加的约束,由用户给定约束名

ALTER TABLE 学生选课表
ADD CONSTRAINT 分数约束名  CHECK (GRADE BETWEEN 0 AND 100)
GO


--UPDATE ... SET ...WHERE ...修改某一行中的某一列数据
UPDATE 学生表 SET DEPT =6 WHERE SNO=\'S1\';


--给分数低于60分的学生加5分
UPDATE 学生选课表 SET GRADE =GRADE +5 WHERE GRADE <60;


ALTER TABLE 学生选课表 DROP FK__学生选课表__SNO__0CBAE877;
GO

ALTER TABLE 学生选课表  DROP FK__学生选课表__CNO__0DAF0CB0;
GO

-----先建立主键,然后外键,主键是各个表的,外键要从主表从子表
-----删除的时候要从主表的外键开始删除,即除去外键约束,然后删除子表的主键

ALTER TABLE 学生表
DROP CK__学生表__AGE__7D78A4E7;

GO

ALTER TABLE 学生表
drop CK__学生表__SEX__7E6CC920;
go

---ALTER TABLE ... DROP COLUMN ...语句删除表中的字段
ALTER TABLE 学生表 DROP COLUMN CLASSNUM;

--DELETE FROM ...WHERE ...语句从表中删除一行数据
delete from 学生表 WHERE SNO=\'S1\';
GO

SELECT * FROM 学生表;

--DELETE FROM ... WHERE ... IN 从表中删除多行数据
DELETE FROM 课程表 WHERE CNO IN(\'C1\',\'C3\',\'C6\');
GO

SELECT * FROM 课程表;

DELETE FROM 课程表 WHERE CNO IN(\'C1\',\'C3\',\'C6\');


--DELETE FROM ...语句删除表中第一行数据
DELETE FROM 学生表;


--DROP TABLE ...命令删除表
DROP TABLE 学生选课表;
DROP TABLE 学生表;
DROP TABLE 课程表;

  

分类:

技术点:

相关文章: