永洪社区

标题: 从零开始学SQL数据分析(5)-SQL数据库、数据表的创建 [打印本页]

作者: 喝酸奶不舔盖    时间: 2024-6-14 18:24
标题: 从零开始学SQL数据分析(5)-SQL数据库、数据表的创建
在日常数据分析中,大多数情况都是需要数据查询,有时候也需要数据表的创建,对于数据表内容增、删、改,学习数据表的创建也是学习SQL的第一步,本文分别创建了学生表、教师表、科目表、成绩表,下面一起来学习。
本文使用工具:MySQL8.0、Navicat Premium 12
本文讲解内容:数据库和数据表的创建、插入表数据、删除表
适用范围:对于数据表的创建并新增数据、删改数据等。

创建库
首先介绍几个常用的建立数据库的命令。
#显示数据库SHOW DATABASES;
可以显示当前库中共有几个数据库。
#新建库CREATE DATABASE data CHARSET= utf8;
创建一个名为data的数据库,编码方式为utf8格式。
#选定数据库USE data;
选定使用的是哪个数据库。
#显示数据表SHOW TABLES FROM data;
显示选定的数据库中都有哪些表。

创建表
创建一个学生表,其中,学号、学生姓名、学生性别设置为字符串类型,学生出生日期设置为日期时间类型。
# 学生表 Student:CREATE TABLE Student (                      SId VARCHAR ( 10 ),                      Sname VARCHAR ( 10 ),                      Sage datetime,                      Ssex VARCHAR ( 10 )                       );
创建一个教师表,教师号、教师名都设置为字符串类型。
# 教师表 TeacherCREATE TABLE Teacher (                      TId VARCHAR ( 10 ),                      Tname VARCHAR ( 10 )                       );
创建一个科目表,课程号、课程名、教师号都设置为字符串类型。
# 科目表 Course CREATETABLE Course (                     CId VARCHAR ( 10 ),                     Cname VARCHAR ( 10 ),                     TId VARCHAR ( 10 )                     );
创建一个成绩表,其中学号和课程号数据格式设置为字符串类型,成绩设置为浮点类型。
# 成绩表 ScoreCREATE TABLE Score (                    SId VARCHAR ( 10 ),                    CId VARCHAR ( 10 ),                    score DECIMAL ( 18, 1 )                     );
创建好的数据表如下所示,此时创建的表仅仅是一个空表,还需要向空表中插入数据。



插入表数据
依次插入学生表中的数据,数据插入后的结果如下所示:
插入数据# 学生表Student INSERT INTOStudent(SId,Sname,Sage,Ssex)VALUES( '01', '赵雷','1990-01-01', '男' ),( '02', '钱电','1990-12-21', '男' ),( '03', '孙风','1990-05-20', '男' ),( '04', '李云','1990-08-06', '男' ),( '05', '周梅','1991-12-01', '女' ),( '06', '吴兰','1992-03-01', '女' ),( '07', '郑竹','1989-07-01', '女' ),( '08', '张诚','1990-10-11', '男' ),( '09', '张三','2017-12-20', '女' ),( '10', '李四','2017-12-25', '女' ),( '11', '李墨','2017-12-30', '女' ),( '12', '赵六','2017-01-01', '女' ),( '13', '孙策','2018-01-01', '女' );


依次插入教师表中的数据,数据插入后的结果如下所示:
# 教师表 Teacherinsert intoTeacher(TId,Tname)values('01' , '张墨'),('02' , '李想'),('03' , '王凯');


依次插入科目表中的数据,数据插入后的结果如下所示:
# 科目表 Courseinsert intoCourse(CId,Cname,TId)values('01' , '语文' ,'02'),('02' , '数学' ,'01'),('03' , '英语' , '03');


依次插入成绩表中的数据,数据插入后的结果如下所示:
# 成绩表 Scoreinsert intoScore(SId,CId,score)values('01' , '01' , 80),('01' , '02' , 90),('01' , '03' , 99),('02' , '01' , null),('02' , '02' , 60),('02' , '03' , 80),('03' , '01' , 80),('03' , '02' , null),('03' , '03' , 80),('04' , '01' , 50),('04' , '02' , 30),('04' , '03' , null),('05' , '01' , 76),('05' , '02' , 87),('06' , '01' , 31),('06' , '03' , null),('07' , '02' , 89),('07' , '03' , 98);


删除表
#删除表drop table course
删除表全部数据和表结构,以后必须新建才能插入数据。
#只删除数据,表结构不变delete from course
删除表全部数据,但是表的结构不变,可以插入数据。
delete from course where cname="语文"
带条件的删除,表结构不变,可以插入数据。

文章源自:大话数据分析







欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4