从零开始学SQL数据分析,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 ) );
创建一个教师表,教师号、教师名都设置为字符串类型。 # 教师表 Teacher CREATE TABLE Teacher ( TId VARCHAR ( 10 ), Tname VARCHAR ( 10 ) );
创建一个科目表,课程号、课程名、教师号都设置为字符串类型。 # 科目表 Course CREATETABLE Course ( CId VARCHAR ( 10 ), Cname VARCHAR ( 10 ), TId VARCHAR ( 10 ) );
创建一个成绩表,其中学号和课程号数据格式设置为字符串类型,成绩设置为浮点类型。 # 成绩表 Score CREATE TABLE Score ( SId VARCHAR ( 10 ), CId VARCHAR ( 10 ), score DECIMAL ( 18, 1 ) );
创建好的数据表如下所示,此时创建的表仅仅是一个空表,还需要向空表中插入数据。
插入表数据
依次插入学生表中的数据,数据插入后的结果如下所示: 插入数据 # 学生表Student INSERT INTO Student(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", "女" );
依次插入教师表中的数据,数据插入后的结果如下所示: # 教师表 Teacher insert into Teacher(TId,Tname) values ("01" , "张墨"), ("02" , "李想"), ("03" , "王凯");
依次插入科目表中的数据,数据插入后的结果如下所示: # 科目表 Course insert into Course(CId,Cname,TId) values ("01" , "语文" ,"02"), ("02" , "数学" ,"01"), ("03" , "英语" , "03");
依次插入成绩表中的数据,数据插入后的结果如下所示: # 成绩表 Score insert into Score(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="语文"
带条件的删除,表结构不变,可以插入数据。