SQL數(shù)據(jù)分析—?jiǎng)?chuàng)建數(shù)據(jù)表
在日常數(shù)據(jù)分析中,大多數(shù)情況都是需要數(shù)據(jù)查詢,有時(shí)候也需要數(shù)據(jù)表的創(chuàng)建,對(duì)于數(shù)據(jù)表內(nèi)容增、刪、改,學(xué)習(xí)數(shù)據(jù)表的創(chuàng)建也是學(xué)習(xí)SQL的第一步,本文分別創(chuàng)建了學(xué)生表、教師表、科目表、成績(jī)表,下面一起來(lái)學(xué)習(xí)。
本文使用工具:MySQL8.0、Navicat Premium 12
本文講解內(nèi)容:數(shù)據(jù)庫(kù)和數(shù)據(jù)表的創(chuàng)建、插入表數(shù)據(jù)、刪除表
適用范圍:對(duì)于數(shù)據(jù)表的創(chuàng)建并新增數(shù)據(jù)、刪改數(shù)據(jù)等。
創(chuàng)建庫(kù)
#顯示數(shù)據(jù)庫(kù)SHOW DATABASES;
可以顯示當(dāng)前庫(kù)中共有幾個(gè)數(shù)據(jù)庫(kù)。
#新建庫(kù)CREATE DATABASE data CHARSET= utf8;
創(chuàng)建一個(gè)名為data的數(shù)據(jù)庫(kù),編碼方式為utf8格式。
#選定數(shù)據(jù)庫(kù)USE data;
選定使用的是哪個(gè)數(shù)據(jù)庫(kù)。
#顯示數(shù)據(jù)表SHOW TABLES FROM data;
顯示選定的數(shù)據(jù)庫(kù)中都有哪些表。
創(chuàng)建表
# 學(xué)生表 Student:CREATE TABLE Student (SId VARCHAR ( 10 ),Sname VARCHAR ( 10 ),Sage datetime,Ssex VARCHAR ( 10 ));
創(chuàng)建一個(gè)教師表,教師號(hào)、教師名都設(shè)置為字符串類型。
# 教師表 TeacherCREATE TABLE Teacher (TId VARCHAR ( 10 ),Tname VARCHAR ( 10 ));
創(chuàng)建一個(gè)科目表,課程號(hào)、課程名、教師號(hào)都設(shè)置為字符串類型。
# 科目表 CourseCREATETABLE Course (CId VARCHAR ( 10 ),Cname VARCHAR ( 10 ),TId VARCHAR ( 10 ));
創(chuàng)建一個(gè)成績(jī)表,其中學(xué)號(hào)和課程號(hào)數(shù)據(jù)格式設(shè)置為字符串類型,成績(jī)?cè)O(shè)置為浮點(diǎn)類型。
# 成績(jī)表 ScoreCREATE TABLE Score (SId VARCHAR ( 10 ),CId VARCHAR ( 10 ),score DECIMAL ( 18, 1 ));
創(chuàng)建好的數(shù)據(jù)表如下所示,此時(shí)創(chuàng)建的表僅僅是一個(gè)空表,還需要向空表中插入數(shù)據(jù)。

插入表數(shù)據(jù)
插入數(shù)據(jù)# 學(xué)生表StudentINSERT INTOStudent(SId,Sname,Sage,Ssex)VALUES( '01', '趙雷','1990-01-01', '男' ),( '02', '錢(qián)電','1990-12-21', '男' ),( '03', '孫風(fēng)','1990-05-20', '男' ),( '04', '李云','1990-08-06', '男' ),( '05', '周梅','1991-12-01', '女' ),( '06', '吳蘭','1992-03-01', '女' ),( '07', '鄭竹','1989-07-01', '女' ),( '08', '張誠(chéng)','1990-10-11', '男' ),( '09', '張三','2017-12-20', '女' ),( '10', '李四','2017-12-25', '女' ),( '11', '李墨','2017-12-30', '女' ),( '12', '趙六','2017-01-01', '女' ),( '13', '孫策','2018-01-01', '女' );

依次插入教師表中的數(shù)據(jù),數(shù)據(jù)插入后的結(jié)果如下所示:
# 教師表 Teacherinsert intoTeacher(TId,Tname)values('01' , '張墨'),('02' , '李想'),('03' , '王凱');

依次插入科目表中的數(shù)據(jù),數(shù)據(jù)插入后的結(jié)果如下所示:
# 科目表 Courseinsert intoCourse(CId,Cname,TId)values('01' , '語(yǔ)文' ,'02'),('02' , '數(shù)學(xué)' ,'01'),('03' , '英語(yǔ)' , '03');

依次插入成績(jī)表中的數(shù)據(jù),數(shù)據(jù)插入后的結(jié)果如下所示:
# 成績(jī)表 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
刪除表全部數(shù)據(jù)和表結(jié)構(gòu),以后必須新建才能插入數(shù)據(jù)。
#只刪除數(shù)據(jù),表結(jié)構(gòu)不變delete from course
刪除表全部數(shù)據(jù),但是表的結(jié)構(gòu)不變,可以插入數(shù)據(jù)。
delete from coursewhere cname="語(yǔ)文"
帶條件的刪除,表結(jié)構(gòu)不變,可以插入數(shù)據(jù)。





