日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

经典sql语句50题_SQL面试经典50题:带你从建表开始

發(fā)布時(shí)間:2025/3/12 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 经典sql语句50题_SQL面试经典50题:带你从建表开始 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

大家好,相信很多學(xué)習(xí)數(shù)據(jù)分析的小伙伴在面試前都經(jīng)歷過(guò)刷題,本系列小編將帶大家一起來(lái)刷一刷SQL面試必會(huì)的經(jīng)典50題。

當(dāng)然本系列文章不單單是刷題,小編會(huì)帶著大家梳理一下解題時(shí)用到的知識(shí)點(diǎn),所以基礎(chǔ)比較差的小伙伴也完全不必?fù)?dān)心,小編會(huì)帶著大家由淺入深,一步一步實(shí)現(xiàn)解題過(guò)程。你準(zhǔn)備好了嗎?相信讀完本系列文章之后,你會(huì)覺(jué)得:哇!SQL原來(lái)如此簡(jiǎn)單和有意思。

(注:小編用的是MySQL8.0)

一.表的創(chuàng)建和數(shù)據(jù)插入

學(xué)習(xí)要點(diǎn)

  • 表通過(guò)create table語(yǔ)句完成創(chuàng)建而成。
  • 表和列的命名要使用有意義的文字。
  • 指定列的數(shù)據(jù)類(lèi)型(整數(shù)型、字符型和日期型等)。
  • 可以在表中設(shè)置約束(主鍵約束和NOT NULL約束等)。

下面我們來(lái)開(kāi)始創(chuàng)建表吧~

當(dāng)然我們?cè)趧?chuàng)建表之前需要,一定要先創(chuàng)建用來(lái)存儲(chǔ)表的數(shù)據(jù)庫(kù)。

語(yǔ)法1. 創(chuàng)建數(shù)據(jù)庫(kù)

create datebase ;

這里我們創(chuàng)建一個(gè)名字為school的數(shù)據(jù)庫(kù),并使用它。

create datebase school; -- 創(chuàng)建數(shù)據(jù)庫(kù)use school; -- 使用數(shù)據(jù)庫(kù)

創(chuàng)建好數(shù)據(jù)庫(kù)之后,接下來(lái)我們使用create table語(yǔ)句在其中創(chuàng)建表。

語(yǔ)法2. 創(chuàng)建表

create table ( , , , , . . .,,...);

每一列的數(shù)據(jù)類(lèi)型是必須要指定的,還要為需要的列設(shè)置約束,約束可以在定義列的時(shí)候設(shè)置,也可以在語(yǔ)句的末尾進(jìn)行設(shè)置(但是NOT NULL約束只能以列為單位進(jìn)行設(shè)置)

通過(guò)create table語(yǔ)句創(chuàng)建出來(lái)的表,可以被認(rèn)為是一個(gè)空空如野的箱子,表里并沒(méi)有數(shù)據(jù),這時(shí)我們需要通過(guò)insert語(yǔ)句在表中插入數(shù)據(jù)。

語(yǔ)法3. INSSERT語(yǔ)句

insert into (列1,列2,列3,...)values (值1,值2,值3,...), -- 第一行數(shù)據(jù) (值1,值2,值3,...), -- 第二行數(shù)據(jù) (值1,值2,值3,...), -- 第二行數(shù)據(jù) ( . ), ( . ), ( . );

下面我們來(lái)創(chuàng)建學(xué)生表,課程表,老師表,分?jǐn)?shù)表這四個(gè)表,并插入相應(yīng)的數(shù)據(jù)。

新建、插入學(xué)生表

create table student(s_id varchar(10),s_name varchar(10),s_age date,s_sex varchar(10)) engine=InnoDB default charset utf8; insert into student(s_id,s_name,s_age,s_sex) 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' , '王菊' , '1990-01-20' , '女');

新建、插入課程表

create table course(c_id varchar(10),c_name varchar(10),t_id varchar(10)) engine=InnoDB default charset utf8mb4;insert into course values('01' , '語(yǔ)文' , '02'), ('02' , '數(shù)學(xué)' , '01'), ('03' , '英語(yǔ)' , '03');

新建、插入老師表

create table teacher(t_id varchar(10),t_name varchar(10)) engine=InnoDB default charset utf8mb4;insert into teacher values('01' , '張三'),('02' , '李四'),('03' , '王五');

新建、插入分?jǐn)?shù)表

create table stu_sco(s_id varchar(10),c_id varchar(10),score decimal(18,1)) engine=InnoDB default charset utf8mb4; insert into stu_sco values ('01' , '01' , 80),('01' , '02' , 90),('01' , '03' , 99),('02' , '01' , 70),('02' , '02' , 60),('02' , '03' , 80),('03' , '01' , 80),('03' , '02' , 80),('03' , '03' , 80),('04' , '01' , 50),('04' , '02' , 30),('04' , '03' , 20),('05' , '01' , 76),('05' , '02' , 87),('06' , '01' , 31),('06' , '03' , 34),('07' , '02' , 89),('07' , '03' , 98);

至此,我們就完成了面試題中所需要的表的的創(chuàng)建和數(shù)據(jù)插入。

二.外部導(dǎo)入數(shù)據(jù)

當(dāng)然,mysql8.0不僅僅支持手動(dòng)創(chuàng)建和插入數(shù)據(jù)(也就是手動(dòng)敲啦),也支持從外部直接導(dǎo)入數(shù)據(jù),那我們來(lái)一起看一下:

首先我們也是要去創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),并且使用它,然后在左側(cè)的菜單欄進(jìn)行刷新,就可以看到這個(gè)新建的數(shù)據(jù)庫(kù)了,然后就可以在這個(gè)庫(kù)里導(dǎo)入外部數(shù)據(jù)啦!具體操作步驟如圖:

導(dǎo)入即可

好了,今天就先到這里啦~ 下期見(jiàn)!

總結(jié)

以上是生活随笔為你收集整理的经典sql语句50题_SQL面试经典50题:带你从建表开始的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。