1.表的增删改
创建和引用数据库
-- 学生信息数据库
create database stuinfo;
use stuinfo
创建表和查询整张表
-- 专业表
-- major
-- mno mname
-- 创建专业表
CREATE TABLE major(mno INT,mname VARCHAR(20),PRIMARY KEY(mno));
-- 查询专业表
SELECT * FROM major;
-- 学生表
-- stu
-- sno sname age sex mno
-- 创建学生表
CREATE TABLE stu(sno INT,sname VARCHAR(30),age SMALLINT,sex bit,mno INT,PRIMARY KEY(sno),FOREIGN KEY(mno) REFERENCES major(mno));
-- 查询学生表
SELECT * FROM stu;
-- 课程表
-- cou
-- cno cname ctime:学时 ccredit:学分
-- 创建课程表
CREATE TABLE cou(cno INT,cname VARCHAR(30),ctime SMALLINT,ccredit DECIMAL(4,2),PRIMARY KEY(cno));
-- 查询课程表
SELECT * FROM cou;
-- 分数表
-- sc
-- sno cno grade
-- 创建分数sc表
CREATE TABLE sc(sno INT,cno INT,grade DECIMAL(5,2),PRIMARY KEY(sno,cno),FOREIGN KEY(sno) REFERENCES stu(sno));
-- 给分数表添加一个外键
ALTER TABLE sc ADD CONSTRAINT fk_sc FOREIGN KEY(cno) REFERENCES cou(cno);
-- 查看分数表
SELECT * FROM sc;
在表中添加或删除字段
-- 在学生表中添加qq字段
ALTER TABLE stu ADD qq VARCHAR(20);
-- 在学生表中删除qq字段
ALTER TABLE stu DROP COLUMN qq;
删除整张表
-- 添加测试表t
CREATE TABLE t(tt INT);
-- 查询测试表t
SELECT * FROM t;
-- 删除测试表t
DROP TABLE t;
2.表数据的增删改
添加数据
-- 专业表中添加数据
-- 1.计算机科学与技术
-- 2.软件工程
INSERT INTO major(mno,mname) VALUES(1,'计算机科学与技术');
INSERT INTO major(mno,mname) VALUES(2,'软件工程');
-- 创建两条学生数据
-- 0:女 1:男
INSERT INTO stu VALUES(1,"kk",20,0,NULL);
INSERT INTO stu VALUES(2,"dd",20,1,1);
删除数据
如果此条数据是其他表的外键数据,则不可直接删除,需要将其他表的外键字段数据设置为null再删除。
-- 删除学生表的一条数据
DELETE FROM stu WHERE sno=1;
修改数据
-- 将学生表的mno=1时设置为null
UPDATE stu SET mno=NULL WHERE mno=1;
UPDATE stu SET sname='康康' WHERE sno=2;