[2] Web前後端基礎

                                                                                     《目錄》

前端

後端


前端

         html

            製作一個自己的網站,在 《Web通信原理》中,我們搭建了 Web環境。

            但使用的是 CMS(快速建站系統) 模板建成的,自己的網站最好是自己DIY的,因此,我們今天就手工打磨一個QQ空間的網站。

       首先,百度一下知道了:網站都是由 html 語言寫成的,html 語言類似於積木。

     鼠標右鍵點擊檢查就可以看到網頁的源代碼,開頭就是 html。

     實驗環境:任何系統自帶的文本編輯器,但自帶的文本編輯器並不支持 html 高亮。

     所以,在Mac環境下,我使用的是 Sublime Tex,Mac版下載參見《工具》;

                在Windows環境下,安利使用 notepad++

    這是一份自我介紹的網頁,源碼:

<!DOCTYPE HTML>
<HTML>

<HEAD>
<META CHARSET = "UTF-8">
<TITLE>Debroonee的首頁</TITLE>
</HEAD>

<BODY>
<H1>1.1、HTML-編寫簡單的自我介紹網站</H1>
<P>Please allow me to introduce myself.  I'm Debroonee.</P>
<p>Nice to meet you. @everyone</p>
</BODY>

</HTML>

   您可以把TA複製到文本編輯器裏,文件後綴改成 .html 或 .htm 放到桌面再用瀏覽器打開即可。

    以圖片對照源碼,再讀讀源碼的<英文>,就可以找到其中大致的聯繫了。

    html語言又叫超文本標記語言,您看一下源碼,每行html語句都有標籤: <xxx>,而且 html 語言不止於文本,像圖片、視頻音樂等等都可以處理,因此叫超文本標記語言。 

    

    所有標籤都是成對出現的, <xxx> 代表開始標籤,</xxx> 代表結束標籤。

<!DOCTYPE HTML>
表示這是一個 html 文檔

    html語言主要分爲倆部分,頭標籤<HEAD></HEAD> 和 身體標籤<BODY></BODY>

    頭標標籤:網頁的標題、網頁支持的字符集、網頁的簡介。

<META CHARSET = "UTF-8">
設置網頁的字符集是 utf-8,像爬蟲時是需要以utf-8爲標準,否則會亂碼

<TITLE>Debroonee的首頁</TITLE>
效果如下圖

 

 

    身體標籤:網頁的內容,如文章一般都是由標題 + 內容組成。

    比如,源碼的<H1></H1>標籤就如 CSDN 博客的 H1 圖標,是最大的標題,H2 次之,H3最小:

<H1>1.1、HTML-編寫簡單的自我介紹網站</H1>

 頭標籤的 <title></title>標籤裏面的內容就如這篇博客的名字,Web前後端基礎。

 <H2></H2>等也是如此,因此啊,html 語言用起來和寫博客是差不多的;不過 html 語言語法更多,功能也更強。   

<P>Please allow me to introduce myself.  I'm Debroonee.</P>
<p>Nice to meet you. @everyone</p>

   <p></p> 表示一個段落。

 

   如果需要實現一個html版的 QQ空間,需要掌握更多的 html 語言的標籤。

標籤 格式 舉例
標題標籤 <h1> - <h6> <h3>xxx</h3>
超級鏈接 <a> <a href = "www.baidu.com"></a>, href等寫在標籤裏的,都是此標籤的屬性。
圖片鏈接 <img>

<img src="圖片的鏈接" width="100px" height="50px">

width和height分別是圖片的寬度、高度,可省略。

換行標籤 <br/> 此標籤沒有屬性,也不是成對出現,只是用來換行,分別閱讀。
表格 <table> <table>xxx</table>
表頭 <th> <th>xxx</th>
<tr> <tr>xxx</tr>
單元格 <td> <td>xxx</td>
表單 <form>

主要有 3 種標籤

單行輸入標籤:<input>

選擇框標籤:<select>

文本域標籤:<textarea>

   實現 QQ空間,表單是重點。

 因爲表單可以向服務器提供內容,因此,表單的單行輸入標籤有許多屬性:

 左邊是 html標籤,右邊是 html標籤運行後的樣子。

 

最後是,列表 

 

 

有序列表 <ol>xxx</ol>,裏面一般是列表項
無序列表 <ul>xxx</ul>,裏面一般是列表項
列表項 <li>xxx</li>

有/無序列表如,CSND博客的:

效果如下:

 

  以上面的知識,實現 QQ空間:

<!DOTYPE HTML>

<HTML>
       <HEAD>
          <META CHARSET ="UTF-8">
          <TITLE> QQ空間登陸... </TITLE>
            <a href = "www.baidu.com">快速登陸通道,點“我”</a>
       </HEAD>
<br/>
       <BODY>
          <img src="https://qzonestyle.gtimg.cn/qzone/qzactStatics/imgs/20171122191630_ff8fef.jpg" style="width: 1062.4444444444443px; height: 707px; left: -223.22222222222217px;/>
          <!-- 註釋:不會顯示在網頁, 有一個圖片覆蓋問題 -->
<br/>
            賬號
          <input type = "text">
<br/>       密碼
          <input type = "password">
<br/>
          <input type = "checkbox">
         紅色
         <input type = "checkbox">
         綠色
         <input type = "checkbox">
         黃色
<br/>
          <input type = "radio">男
          <input type = "radio">女
<br/>
          <input type = "submit">
          <input type = "reset">
<br/>
          <input type = "hidden">
<br/>    
            <H2>
         驗證碼
         <textarea></textarea>
         </H2>
         機器類型
          <select>
                        <option>iOS</option>
                        <option>android</option>
                        <option>Macintosh</option>
                        <option>Linux</option>
                        <option>Windons</option>
                        <option>iPad</option>
<br/>
       </BODY>
</HTML>

 效果如下:

 

html 語言只要是指定的關鍵字大小寫都可以,如 <HEAD> 等價於 <head> 。

其餘的便是美化界面的知識:CSS + div。

安利網址:http://www.w3school.com.cn/h.asp


後端

     概念

     經李克強總理籤批,國務院日前印發《促進大數據發展行動綱要》

       反正,我看的行業都是什麼什麼人才缺口大,什麼什麼市場,什麼什麼預計未來.....

       別聽他們吹牛皮,我懷疑(沒有證據)他們都是抄的,用的都是一個模板。

      看新聞的,這纔是真的 !!!

 

        mysql,我也就學皮毛。

        呵呵呵,也許以後會重寫 SQL ,反正 SQL 就是非常重要啦。

        寫 SQL 提取數據的工作,佔數據分析師至少 40% 的時間。

        SQL 與 Excel 的區別:

  • SQL 一種查詢語言,用來處理海量數據
  • Excel 一種電子表格,用來分析少量數據,並展示結果

       準備好了,開始翻車。

  某位數據分析溼說:我希望我的人生別人能用這 3 句話來羞辱我,

  1. 你怎麼瘦成這樣 ?
  2. 有個好老公了不起 ?
  3. 你不就是有幾個臭錢嗎 ?

迴歸SQL專題,SQL的實踐性很強,一定要會寫代碼:

  1. 會利用SQL關係對關係數據庫 mysql 進行查詢
  2. 對數據庫進行分組、聚合、排序、存儲
  3. 對於增刪改、約束、索引、數據庫範式均大致瞭解即可

 

數據庫,顧名思義即存放數據的倉庫,數據是各種各樣的:

 

數據庫的作用:

  • 存儲數據,數據庫其實是一個文件系統
  • 檢索數據,支持增刪改查
  • 生成新數據,通過組合分析產生複合性信息

 

我們常用的二維表叫數據表,如:

數據表是關係數據庫中最基本的數據類型,類似數據表的標準使用方法就不說了因爲我們只是補習一下 SQL 語法而已,後面還有更加精彩的內容。

數據庫便是由各種各樣的數據表組成,而一個數據表是由行和列組成。

數據表中的內容都是以行(又叫記錄)存儲的,但不能只存儲一部分信息,

列呢,也叫字段。

數據庫中的數據表往往是相互包含的,如:

這樣做可以避免信息冗餘:

信息冗餘會造成:

  1. 佔額外的空間
  2. 更新數據麻煩,因爲生產廠家、廠家地址、廠家電話都需要重錄。
  3. 維護數據更麻煩,要是一個廠家搬遷了,那麼表中的廠家地址都需要更新。

因此,我們會將所有廠家信息單獨放入一個表中:

整個數據庫,都是爲人服務。

    上圖的數據庫管理員就是 SQL 最熱門的職業: DBA。

    我們要學的是 mysql,是數學上的關係模型。

  在關係模型中,我們稱表格爲 關係,即一個表是一個關係。

  關係模型中的關係(表格)的行叫 元組,元組中的一格叫 分量,列叫 屬性。

  術語對照表:

     我們不是數據分析溼就不學 E-R圖和關係模型的互轉了,後面還有更貼切的內容。

 

關係運算

      常用的數據關係:

  • 數據更新方面,插入、刪除、修改
  • 查詢方面,選擇、投影、連接、除、並、交、差,查詢是滲透裏要搞得,拿個小本本記下來

 

關係模型數據庫採用的表格,可讀性很好。

還有、還有關係數據模型可以進行數學運算。

例如,投影。

投影就是抽取表格某一列的運算,其餘還有 7 種:笛卡爾積、選擇、連接、除、並、交、差。

笛卡爾積、並、交、差都是集合的運算,選擇、連接、投影、除是特別設置的關係運算。

並、交、差 是高中數學的內容,想大家應該不陌生,就是笛卡爾積可能不太瞭解。

笛卡爾積:一種可以將倆個表格中所有行,排列組合的方法。

R 中的每行(元組)和 S 中的每行(元組)連接,舉個例子。

商品編碼,是一個標識符用來區分重名的數據,專業術語叫 主鍵。

看看圖片,懂了吧 ,馬上就要到 SQL 了,加油!

其餘的關係運算就不看了,我們不是搞數據分析的,我們是滲透的。

因此,關係運算結束。

 

SQL語句

      DBA數據庫管理員維護、訪問數據庫不是直接操作,而是通過 SQL 語言來操控。

SQL語言的特點:

  1.  SQL 幾乎能操控所有數據庫,如 mysql、sql server ......
  2.  功能很強,學過的人我不用說也知道,沒學過的人我說了也沒用;
  3.  簡潔、易學,完成核心功能只用了 39 個動詞,如下圖:

      我們需要掌握下面這些動作的代碼實現,

  • 創建、選擇、刪除數據庫
  • 創建、刪除表
  • 插入、修改、查詢、刪除數據

      p.s.  sql 語句是以 ; 結尾的,指定的關鍵字大小寫都可以。

      p.s.  字符串、日期:用單引號( ' )括起來,如 'hello'、'2019-6-26'。

 

SQL 圖解:

 

 


高級查詢:

  • 基本、字段、條件查詢
  • 結果排序、結果分頁
  • 多種、聯合查詢
  • 內、外連接

 

SQL 圖解:

         e.g.

  • 查詢所有及格(60或以上)的人的信息 :select * from demo where 評分 > 60
  • 找出姓氏是歐陽的人的信息:select 姓名, 性別, 班級 from demo where left(姓名 , 1) = '歐陽'
  • 找出 2000 年後出生的人的信息:select 姓名, 性別, 班級 from demo where year(出生日期) > 2000
  • 找出計算機系20歲以下的學生:select Sname from demo where Sdet != 'CS' AND Sage < 20

 

    e.g. 

  • 查詢信息,根據學號進行序排序:select * from demo order by 學號         , 默認爲 升序,不需要加關鍵字 asc
  • 查詢信息,根據學號進行序排序:select * from demo order by 學號 desc

 

      等值連接:在連接條件中使用 " = " 運算符 比較 被連接列的列值,其查詢結果中列出 被連接表中的所有列,包含重複列。

 

 

 

   不等值連接和等值連接差不多,只不過等值連接只能用 " = ", 而不等值連接有 " > 、>= 、<=、<、!>、!<、<> " 可以使用。

 

 

 

 

 


子查詢:

  • 標量、列子、行子、表子子查詢

 

SQL 圖解:

 


基礎函數:

  • GROUP_CONCAT(col):返回由屬於一組的列值連接組合而成的結果。
  • ASCII(char):返回字符的 ASCII 碼。
  • DATABASE( ):返回當前數據庫名。
  • USER( ) 和 SYSTEM_USER( ):返回當前登陸用戶名。
  • VERSION( ):訪問 MySQL 服務器的版本。
  • SLEEP( n ):休眠 n 秒。

 

SQL 圖解:

  • left(字符串,長度n) :返回最左邊給定長度的字符串

 

 


SQL 語句:

      安利鏈接:https://www.cnblogs.com/bchjazh/p/5997728.html

      安利鏈接:http://www.w3school.com.cn/sql/index.asp

 

上一節:《Web通信原理

下一節:《信息收集

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章