--建立学生数据库 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 课程表;