当前位置:Gxlcms > 数据库问题 > MSQL基本增删改语句汇总练习

MSQL基本增删改语句汇总练习

时间:2021-07-01 10:21:17 帮助过:4人阅读

USE work; 2 3 /*创建选修数据表*/ 4 DROP TABLE IF EXISTS sc; 5 CREATE TABLE sc( 6 sno CHAR(8) COMMENT 学号, 7 cno CHAR(3) COMMENT 课程号, 8 grade     SMALLINT COMMENT 成绩 9 ); 10 11 12 /*创建学生数据表*/ 13 DROP TABLE IF EXISTS student; 14 CREATE TABLE student( 15 sno CHAR(8) COMMENT学号, 16 sname VARCHAR(20) COMMENT 姓名, 17 sgender CHAR(2) COMMENT 性别, 18 sage INT COMMENT 年龄, 19 sdept VARCHAR(30)    COMMENT 所系, 20 sedat VARCHAR(30) COMMENT 入学日期 21 ); 22 23 /*创建课程数据表*/ 24 DROP TABLE IF EXISTS course; 25 CREATE TABLE course( 26 cno CHAR(3) COMMENT 课程号, 27 cname VARCHAR(30) COMMENT 课程名, 28 ccredit SMALLINT COMMENT 学分 29 ); 30 31 32 /*插入数据*/ 33 INSERT INTO student(sno,sname,sgender,sage,sdept,sedat) 34 VALUES 35 (20131001,王力,,19,计算机,2013/9/11), 36 (20131002,张红,,20,计算机,2013/9/11), 37 (20132001,孙国庆,,18,信息,2013/9/11); 38 INSERT INTO course(cno,cname,ccredit) 39 VALUES 40 (101,数据结构,4), 41 (102,数据库,3), 42 (103,C语言程序设计,6); 43 INSERT INTO sc(sno,cno,grade) 44 VALUES 45 (20131001,101,90), 46 (20131001,102,76), 47 (20131001,103,88), 48 (20131002,101,56); 49 50 /*修改表结构*/ 51 ALTER TABLE student ADD sphone char(11); 52 ALTER TABLE student MODIFY COLUMN sphone char(20); 53 ALTER TABLE student DROP COLUMN sphone; 54 70 71 /*对数据表添加修改约束*/ 72 -- 添加主键约束 73 ALTER TABLE student ADD CONSTRAINT pk_student PRIMARY KEY(sno); 74 ALTER TABLE course ADD CONSTRAINT pk_course PRIMARY KEY(cno); 75 ALTER TABLE sc ADD CONSTRAINT pk_sc PRIMARY KEY(sno,cno); 76 77 -- 当主表中的数据删除,从表的对应行也删除 78 -- 添加外键约束 79 ALTER TABLE sc ADD CONSTRAINT fk_student_sc FOREIGN KEY(sno) REFERENCES student(sno) ON DELETE CASCADE; 80 ALTER TABLE sc ADD CONSTRAINT fk_course_sc FOREIGN KEY(cno) REFERENCES course(cno) ON DELETE CASCADE; 81 82 -- 添加非空约束 83 ALTER TABLE student MODIFY COLUMN sname VARCHAR(20) NOT NULL; 84 ALTER TABLE course MODIFY COLUMN cname VARCHAR(30) NOT NULL; 85 86 -- 添加唯一约束 87 -- ALTER TABLE course ADD UNIQUE(cname); 88 ALTER TABLE course ADD CONSTRAINT u_cname UNIQUE(cname); 89 90 -- 添加CHECK约束 91 ALTER TABLE student ADD CONSTRAINT ck_sgender CHECK(sgender in(,)); 92 ALTER TABLE student ADD CONSTRAINT ck_sage CHECK(sage BETWEEN 15 AND 35); 93 94 /*删除刚刚添加的约束*/ 95 96 -- 先删除外键约束才能删除主表的主键约束 97 ALTER TABLE sc DROP FOREIGN KEY fk_student_sc; 98 ALTER TABLE sc DROP FOREIGN KEY fk_course_sc; 99 100 ALTER TABLE student DROP PRIMARY KEY; 101 ALTER TABLE course DROP PRIMARY KEY; 102 ALTER TABLE sc DROP PRIMARY KEY; 103 104 ALTER TABLE student MODIFY COLUMN sname VARCHAR(20) NULL; 105 ALTER TABLE course MODIFY COLUMN cname VARCHAR(30) NULL; 106 107 ALTER TABLE course DROP INDEX u_cname; 108 -- 不能删除,报错ALTER TABLE course DROP INDEX(cname); 109 110 -- mysql数据库不支持check约束,添加也无效,删除更不支持 111 /*ALTER TABLE student DROP CHECK ck_sgender; 112 ALTER TABLE student DROP CHECK ck_sage;*/ 113 114 115 116 SELECT * FROM student; 117 SELECT * FROM course; 118 SELECT * FROM sc;

 

MSQL基本增删改语句汇总练习

标签:div   har   报错   删除   asc   表结构   日期   class   c语言程序   

人气教程排行