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