《Mysql 公司職員學習篇》 第三章 小A的疑問

来源:http://www.cnblogs.com/yujianchun/archive/2016/03/21/5302650.html
-Advertisement-
Play Games

第三章 小A的疑問 數據類型和自增列 小A拿著雞腿,回到了房間裡面,咬了一嘴油,說:"我有2個疑問,在Excell裡面,像列PetAge(寵物年齡)這樣的數字,我一般會設置成數值格式,而像PetName,則會預設文本格式,還有,Mysql多出來的那列ID列,好像和Excell的不一樣啊,你看,Mys


第三章 小A的疑問  ---- 數據類型和自增列

     小A拿著雞腿,回到了房間裡面,咬了一嘴油,說:"我有2個疑問,在Excell裡面,像列PetAge(寵物年齡)這樣的數字,我一般會設置成數值格式,而像PetName,則會預設文本格式,還有,Mysql多出來的那列ID列,好像和Excell的不一樣啊,你看,Mysql的數據表,是你自己寫的一列,而Excell是自己自帶的。"。

          小Y:"這2個問題問的好,我先回答你第一個問題吧,在Mysql數據表裡面,同樣有數據格式的,像PetAge這樣,我們稱為浮點型,也就是帶小數點的,我們一般用Double或者Float來設置這一列的數據類型,而像PetName這樣的,我們稱為字元型,我們通常用VarcharChar來設置數據類型,當然還有你說的ID列,它是整數,我們稱之為整形,一般使用用Int來設置數據類型,而經常用到的,還有時間格式,我們用DateTimeDate來設置。當然不僅僅是這些類型,Mysql中還有更多的類型,但是對於你這樣的初學者,可以暫時不去理會。"。

     小A:"我有點迷糊了,我大概知道了,數字類型要是整數的話,就使用Int類型,要是字元,比如中文和英文,就用Varchar和Char類型,要是時間,用DateTime和Date類型,可是這個VarcharChar,還有這個時間。怎麼這麼多個啊,我到底該用哪個?"。

     小Y:"其實很簡單,Double和Float都是用來表示小數的,但是Double支持的位數比較多,在Mysql中,可以支持17位,而Float則是6位。如果你嫌麻煩,可以直接使用最大值Double統一設置,但你要是一個專業的資料庫人員,就要根據這一列的存放數據的情況而定Float還是Double。就算存放貨物,你給這個貨物開闢了3平米的空間,結果發現這個貨物只是一臺手機,這樣豈不是很浪費空間?而你開闢了1平米的空間,卻發現是一臺42寸的電視機,那就更不得了了,按照曹操的說法,寧錯殺不放過。"

     小A:"小Y啊,平時不多看點書,寧錯殺不放過,那是汪精衛說的!"。

     小Y:"......不要在意細節!再說Varchar和Char吧,實際上他們都可以存儲字元,但是Varchar是可以自由縮小長度的,也就是說,我開了一個5平米的空間用來放手機,但是我發現這個手機只占20平方釐米,那我就要把這個位置留給其他物品了,反過來說,Char開闢了5平米的,放的是手機,那也不會去更改存放空間的。2種各有優點,Varchar從空間上節省,而Char從效率上占優,道理很簡單,雖然是5平米的,但是我放一個手機上去,而不用再去理會要縮小位置,從生活方面講,這肯定會節省倉庫管理員的時間。"

     小A:"好像很有道理,那我直接給Varchar好了,畢竟數據多了,可以節省一大筆存儲空間呢,而效率上,也不差那一點。"。

     小Y:"對於大型數據而言,該用哪個,還是要仔細一點的,至於DateTime,就更好理解了,Datetime是代表年月日時分秒的,Date只能寫入年月日。我們再說一說ID列吧,如你所看見的,這一列就只是一個告訴你行數的列而已,但是Excel裡面自帶了,而Mysql是沒有的,需要自己添加,對於這一個自增列,還是很有用的,比如我知道某一列的序號,想要找這一列的信息,就變得簡單多了,因此我們往往要保證這一列的唯一性,而我們通常,會把這一列設置為主鍵,以保證該列的唯一,哦,對了,主鍵的意思,實際上是英文(primarykey)翻譯得來,Key是鑰匙的意思,只有這把鑰匙,才能打開這行數據的門,讓我們查看裡面的數據,換一句話說,主鍵可以保證數據的完整性。"。

     小A:"嗯...好像有點難以理解啊。"。

     小Y:"不用著急,接下來,我們將所學的理論知識,用於實際操作上,這樣你就能很快理解我所說的話了。"。

     小A:"那我們趕緊開始吧!"。

     小Y:"這麼晚了,趕緊回家睡覺去,明天還要早起上班呢!"。

     小A:"沒註意已經這麼晚了。那我明天再來想你討教。"。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 載入使用AnimationUtils.load方法載入 一般都用代碼控制 如果需要 用XML控制可以在res\下建立 animator,即可, 在這個目錄建立XML文件如果 下方法導入
  • 先說一下為什麼要講框架的設計。 第一、IM應用一般是基於長連接的,也就是後臺一直在收發數據,那這裡就有一個後臺的概念; 第二、如果用戶是一個人群裡面的中心人物的話,那麼他的的數據量就會很大。頁面的顯示及資料庫的處理就需要關註了; 第三、分解app有利於我們降低耦合,在後期維護和升級時,稍微容易一點。
  • iOS證書突然失效 今早上班打包直接報錯,錯誤如圖 根據錯誤信息到“鑰匙串”裡面看了一下證書,證書都莫名其妙的失效了,昨天還是好好的。 重新去鑰匙串從證頒發中心獲取證書,然後登陸開發者賬號重新申請證書,然後添加到鑰匙串中,再次打包發現剛申請成功的證書還是無效的。折騰了半天才找到解決方案。 解決方法:
  • UICollectionView是一種新的數據展示方式,簡單來說可以把他理解成多列的UITableView(請一定註意這是UICollectionView的最最簡單的形式)。如果你用過iBooks的話,可能你還對書架佈局有一定印象:一個虛擬書架上放著你下載和購買的各類圖書,整齊排列。其實這就是一個U
  • 屏幕左邊緣右滑返回,TabBar 滑動切換,你是否喜歡並十分依賴這兩個操作,甚至覺得 App 不支持這類操作的話簡直反人類?這兩個操作在大屏時代極大提升了操作效率,其背後的技術便是今天的主題:視圖控制器轉換(View Controller Transition)。 視圖控制器中的視圖顯示在屏幕上有兩
  • 很多開發者一聽說Android終端的屏幕尺寸五花八門,屏幕解析度千奇百怪,就覺得Android開發在屏幕適配方面是必定是一件頭疼的事情。因為在Android問世之前,廣大開發者知道的UI解決方案大致分為兩類: 在Web開發中的CSS,一層一層的去層疊樣式。 在iOS開發中去計算每一個UIView的尺...
  • ArrayBind和OracleBulkCopy兩種方式批量導入大數據
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...