50个SQL语句(MySQL版) 建表 插入数据

Posted love-ziji

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了50个SQL语句(MySQL版) 建表 插入数据相关的知识,希望对你有一定的参考价值。

本学期正在学习数据库,前段时间老师让我们做一下50个经典SQL语句,当时做的比较快,有一些也是百度的,自我感觉理解的不是很透彻。

所以从本篇随笔开始,我将进行50个经典SQL语句的复盘,加深理解。

答案仅供参考,不一定完全正确,若发现错误或有更好的,欢迎评论,互相交流,一起成长!!!

--------------------------表结构--------------------------

student(StuId,StuName,StuAge,StuSex) 学生表

teacher(TId,Tname) 教师表

course(CId,Cname,C_TId) 课程表

sc(SId,S_CId,Score) 成绩表

----------------------------------------------------------

建表:

create database MySchool character set "utf8mb4";
use MySchool;
create table student
(
    StuId varchar(5) primary key,
    StuName varchar(10) not null,
    StuAge int,
    StuSex char(2) not null
);
create table teacher
(
    TId varchar(3) primary key,
    Tname varchar(10) not null
);
create table course
(
    CId varchar(3) primary key,
    Cname varchar(20) not null,
    C_TId varchar(3) not null,
    FOREIGN KEY (C_TId) REFERENCES teacher(TId)
);
create table sc
(
    SId varchar(5) not null,
    FOREIGN KEY (SId) REFERENCES student(StuId),
    S_CId varchar(3) not null,
    FOREIGN KEY (S_CId) REFERENCES course(CId),
    Score float
);

插入数据:

insert into student value(1000,张无忌,18,),
(1001,周芷若,19,),
(1002,杨过,19,),
(1003,赵敏,18,),
(1004,小龙女,17,),
(1005,张三丰,18,),
(1006,令狐冲,19,),
(1007,任盈盈,20,),
(1008,岳灵珊,19,),
(1009,韦小宝,18,),
(1010,康敏,17,),
(1011,萧峰,19,),
(1012,黄蓉,18,),
(1013,郭靖,19,),
(1014,周伯通,19,),
(1015,瑛姑,20,),
(1016,李秋水,21,),
(1017,黄药师,18,),
(1018,李莫愁,18,),
(1019,冯默风,17,),
(1020,王重阳,17,),
(1021,郭襄,18,);

insert into teacher value(001,姚明),
(002,叶平),
(003,叶开),
(004,孟星魂),
(005,独孤求败),
(006,裘千仞),
(007,裘千尺),
(008,赵志敬),
(009,阿紫),
(010,郭芙蓉),
(011,佟湘玉),
(012,白展堂),
(013,吕轻侯),
(014,李大嘴),
(015,花无缺),
(016,金不换),
(017,乔丹);

insert into course value(001,企业管理,002),
(002,马克思,008),
(003,UML,006),
(004,数据库,007),
(005,逻辑电路,006),
(006,英语,003),
(007,电子电路,005),
(008,思想概论,004),
(009,西方哲学史,012),
(010,线性代数,017),
(011,计算机基础,013),
(012,AUTO CAD制图,015),
(013,平面设计,011),
(014,Flash动漫,001),
(015,Java开发,009),
(016,C#基础,002),
(017,Oracl数据库原理,010);

insert into sc value(1001,003,90),
(1001,002,87),
(1001,001,96),
(1001,010,85),
(1002,003,70),
(1002,002,87),
(1002,001,42),
(1002,010,65),
(1003,006,78),
(1003,003,70),
(1003,005,70),
(1003,001,32),
(1003,010,85),
(1003,011,21),
(1004,007,90),
(1004,002,87),
(1005,001,23),
(1006,015,85),
(1006,006,46),
(1006,003,59),
(1006,004,70),
(1006,001,99),
(1007,011,85),
(1007,006,84),
(1007,003,72),
(1007,002,87),
(1008,001,94),
(1008,012,85),
(1008,006,32),
(1009,003,90),
(1009,002,82),
(1009,001,96),
(1009,010,82),
(1009,008,92),
(1010,003,90),
(1010,002,87),
(1010,001,96),
(1011,009,24),
(1011,009,25),
(1012,003,30),
(1013,002,37),
(1013,001,16),
(1013,007,55),
(1013,006,42),
(1013,012,34),
(1000,004,16),
(1002,004,55),
(1004,004,42),
(1008,004,34),
(1013,016,86),
(1013,016,44),
(1000,014,75),
(1002,016,100),
(1004,001,83),
(1008,013,97);

以上是关于50个SQL语句(MySQL版) 建表 插入数据的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个mysql.sql文件存放建表语句和插入测试数据语句

SQL利用循环语句插入数据

sql面试题50题(mysql版)

50个SQL语句(MySQL版) 问题一

50个SQL语句(MySQL版) 问题十二

50个SQL语句(MySQL版) 问题十四