经典sql语句50题_SQL面试经典50题:带你从建表开始
大家好,相信很多學習數據分析的小伙伴在面試前都經歷過刷題,本系列小編將帶大家一起來刷一刷SQL面試必會的經典50題。
當然本系列文章不單單是刷題,小編會帶著大家梳理一下解題時用到的知識點,所以基礎比較差的小伙伴也完全不必擔心,小編會帶著大家由淺入深,一步一步實現解題過程。你準備好了嗎?相信讀完本系列文章之后,你會覺得:哇!SQL原來如此簡單和有意思。
(注:小編用的是MySQL8.0)
一.表的創建和數據插入
學習要點
- 表通過create table語句完成創建而成。
- 表和列的命名要使用有意義的文字。
- 指定列的數據類型(整數型、字符型和日期型等)。
- 可以在表中設置約束(主鍵約束和NOT NULL約束等)。
下面我們來開始創建表吧~
當然我們在創建表之前需要,一定要先創建用來存儲表的數據庫。
語法1. 創建數據庫
create datebase ;這里我們創建一個名字為school的數據庫,并使用它。
create datebase school; -- 創建數據庫use school; -- 使用數據庫創建好數據庫之后,接下來我們使用create table語句在其中創建表。
語法2. 創建表
create table ( , , , , . . .,,...);每一列的數據類型是必須要指定的,還要為需要的列設置約束,約束可以在定義列的時候設置,也可以在語句的末尾進行設置(但是NOT NULL約束只能以列為單位進行設置)
通過create table語句創建出來的表,可以被認為是一個空空如野的箱子,表里并沒有數據,這時我們需要通過insert語句在表中插入數據。
語法3. INSSERT語句
insert into (列1,列2,列3,...)values (值1,值2,值3,...), -- 第一行數據 (值1,值2,值3,...), -- 第二行數據 (值1,值2,值3,...), -- 第二行數據 ( . ), ( . ), ( . );下面我們來創建學生表,課程表,老師表,分數表這四個表,并插入相應的數據。
新建、插入學生表
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' , '錢電' , '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-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' , '語文' , '02'), ('02' , '數學' , '01'), ('03' , '英語' , '03');新建、插入老師表
create table teacher(t_id varchar(10),t_name varchar(10)) engine=InnoDB default charset utf8mb4;insert into teacher values('01' , '張三'),('02' , '李四'),('03' , '王五');新建、插入分數表
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);至此,我們就完成了面試題中所需要的表的的創建和數據插入。
二.外部導入數據
當然,mysql8.0不僅僅支持手動創建和插入數據(也就是手動敲啦),也支持從外部直接導入數據,那我們來一起看一下:
首先我們也是要去創建一個數據庫,并且使用它,然后在左側的菜單欄進行刷新,就可以看到這個新建的數據庫了,然后就可以在這個庫里導入外部數據啦!具體操作步驟如圖:
導入即可
好了,今天就先到這里啦~ 下期見!
總結
以上是生活随笔為你收集整理的经典sql语句50题_SQL面试经典50题:带你从建表开始的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 高度百分比,如何在And
- 下一篇: I/0口输入输出实验 流水灯程序 P0、