99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

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

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

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

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

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

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

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

下面我們來開始創(chuàng)建表吧~

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

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

create datebase <數(shù)據(jù)庫名稱>;

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

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

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

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

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

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

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

語法3. INSSERT語句

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

下面我們來創(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' , '錢電' , '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' , '語文' , '02'),
						 ('02' , '數(shù)學(xué)' , '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' , '王五');

新建、插入分?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ù),那我們來一起看一下:

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

導(dǎo)入即可

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

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }