熱線電話:13121318867

登錄
首頁精彩閱讀mysql面試經典50題:帶你從建表開始!
mysql面試經典50題:帶你從建表開始!
2020-06-09
收藏

大家好,相信很多學習數據分析的小伙伴在面試前都經歷過刷題,本系列小編將帶大家一起來刷一刷mysql面試必會的經典50題。

當然本系列文章不單單是刷題,小編會帶著大家梳理一下解題時用到的知識點,所以基礎比較差的小伙伴也完全不必擔心,小編會帶著大家由淺入深,一步一步實現解題過程。你準備好了嗎?相信讀完本系列文章之后,你會覺得:哇!SQL原來如此簡單和有意思。

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

一.表的創建和數據插入

學習要點

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

下面我們來開始創建表吧~

當然我們在創建表之前需要,一定要先創建用來存儲表的數據庫。

語法1. 創建數據庫

create datebase <數據庫名稱>;

這里我們創建一個名字為school的數據庫,并使用它。

create datebase school; -- 創建數據庫
use school;  -- 使用數據庫

創建好數據庫之后,接下來我們使用create table語句在其中創建表。

語法2. 創建表

create table <表名>
(<列名1> <數據類型> <該列所需約束>,
 <列名2> <數據類型> <該列所需約束>,
 <列名3> <數據類型> <該列所需約束>,
 <列名4> <數據類型> <該列所需約束>,          
            .
            .
            .
<該表的約束1>,<該表的約束2>,...);

每一列的數據類型是必須要指定的,還要為需要的列設置約束,約束可以在定義列的時候設置,也可以在語句的末尾進行設置(但是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不僅僅支持手動創建和插入數據(也就是手動敲啦),也支持從外部直接導入數據,那我們來一起看一下:

首先我們也是要去創建一個數據庫,并且使用它,然后在左側的菜單欄進行刷新,就可以看到這個新建的數據庫了,然后就可以在這個庫里導入外部數據啦!具體操作步驟如圖:

導入即可

好了,今天就先到這里啦~ 下期見!

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢