SQL练习代码(第一篇)
📚 SQL练习代码(第一篇)
- 🔁 文章原始同步:微信搜索公众号:sky wide 技术
- 📖 QQ技术群:308191819
- 欢迎各位加入
该篇文章主要是将博主在学习sql时候的代码进行讲解,提供给小白入门使用。
-- 创建 workcollages 数据库
CREATE DATABASE IF NOT EXISTS workcollages;
-- 使用该数据库
USE workcollages;-- --------------- 表区域 ---------------
-- 创建 student 表
CREATE TABLE student (sno INT(5) NOT NULL PRIMARY KEY, -- 学生编号,主键name VARCHAR(8) NOT NULL, -- 姓名sex CHAR(2) NOT NULL, -- 性别age INT DEFAULT '20' NOT NULL, -- 年龄,默认值 20dept VARCHAR(20) NOT NULL, -- 系别UNIQUE (name) -- 姓名唯一约束
) DEFAULT CHARSET=gbk;-- 创建 course 表
CREATE TABLE course (cno INT AUTO_INCREMENT NOT NULL, -- 课程编号,自增cname VARCHAR(30) NOT NULL, -- 课程名称ccredit INT NOT NULL, -- 学分PRIMARY KEY(cno) -- 主键
) DEFAULT CHARSET=gbk;-- 创建 sc 表
CREATE TABLE sc (sno INT NOT NULL, -- 学生编号cno INT NOT NULL, -- 课程编号grade DECIMAL(4,1) NOT NULL, -- 成绩PRIMARY KEY(sno, cno), -- 主键(学生编号,课程编号)CONSTRAINT fk_sno FOREIGN KEY(sno) REFERENCES student(sno)-- CONSTRAINT fk_cno FOREIGN KEY(cno) REFERENCES course(cno) -- 外键约束(未启用)
) DEFAULT CHARSET=gbk;-- --------------- 修改表区域 ---------------
-- 给 student 表的 sno 字段添加主键
ALTER TABLE student
ADD PRIMARY KEY (sno);-- 给 student 表的 name 字段添加唯一约束
ALTER TABLE student
ADD UNIQUE (name);-- 修改 student 表的 age 默认值为 20
ALTER TABLE student
ALTER age SET DEFAULT '20';-- 修改 student 表的 sex 字段为非空
ALTER TABLE student MODIFY sex CHAR(2) NOT NULL;-- 查看 student 表结构
DESC student;-- 从 student 表中删除主键
ALTER TABLE student
DROP PRIMARY KEY;-- 从 student 表中删除唯一索引 name
ALTER TABLE student
DROP INDEX name;-- 删除 student 表的年龄默认值
ALTER TABLE student
ALTER age DROP DEFAULT;-- 将 student 表的 sex 字段修改为可空
ALTER TABLE student MODIFY sex CHAR(2) NULL;-- 如果需要删除 student 表,可取消注释
-- DROP TABLE student;-- 再次查看 student 表结构
DESC student;-- 修改 course 表的 ccredit 列
ALTER TABLE course
CHANGE COLUMN ccredit ccredit INT NOT NULL;-- 查看 course 表结构
DESC course;-- 向 sc 表添加外键约束
ALTER TABLE sc
ADD FOREIGN KEY (sno)
REFERENCES student(sno);-- 查看 sc 表结构
DESC sc;-- 修改 sc 表的 grade 列
ALTER TABLE sc
CHANGE COLUMN grade grade DECIMAL(4,1) NOT NULL;-- 删除 sc 表的 fk_sno 外键约束
ALTER TABLE sc
DROP FOREIGN KEY fk_sno;-- 查看 sc 表结构
DESC sc;-- 创建课程和成绩表的代码(未启用)
-- CREATE TABLE course;
-- CREATE TABLE sc;