MySQL入門:修訂版本之間的差異

出自六年制學程
跳轉到: 導覽搜尋
(新頁面: 分類:振鐸會務 ===工具=== *下載使用 EmEdit ,在 jendo.org/files/doc/et 中 *[http://jendo.org/files/doc/MySQL.html 完整講義] ===建資料表及欄位說明=== #id...)
 
工具
第 3 行: 第 3 行:
 
*下載使用 EmEdit ,在 jendo.org/files/doc/et 中
 
*下載使用 EmEdit ,在 jendo.org/files/doc/et 中
 
*[http://jendo.org/files/doc/MySQL.html 完整講義]
 
*[http://jendo.org/files/doc/MySQL.html 完整講義]
 +
*[http://jendo.org/adminer-4.1.0-mysql.php 資料庫管理介面在:http://jendo.org/adminer-4.1.0-mysql.php]
  
 
===建資料表及欄位說明===
 
===建資料表及欄位說明===

2014年7月24日 (四) 11:54的修訂版本

工具

建資料表及欄位說明

  1. id欄,類型是tinyint,指tiny(小小)的int(整數)。只使用1個byte,而1byte有256個可能,如果是非負整數,可代表0~255。屬性unsigned是非負的意思,不存負值。
  2. name欄,類型是var(可變長度)的char(字元),也有人稱為vchar。記錄形式會用第一個byte記多長,然後再放實際的資料。MySQL4.1以前是用1個byte記錄長度,所以資料最長可到255個長度;MySQL4.2以後用2個byte來記錄資料長度,可記錄到65535個長度。在utf8中,每個中文字用掉3個byte(這樣才能簡中繁中日韓文都放在同一頁),不同於big5每個中文字只用2個byte。<br/>另外有一種char的類型,每個欄位長度是定長。排序規則/校對方式使用 utf8_general_ci,的意思是utf8是編碼。general_ci是校對排序方式,不同國家希望有不同的排序方式,而華文最喜歡的排序方式是general_ci(大體上照utf8本身的大小排序),這裡不用非負屬性,因為文字不需要正負。
  3. gender欄,類型是tiny(小小)的int(整數)。gender欄有註釋,解釋0和1各代表什麼意思。
  4. birthday欄,類型是用date,因為不一定所有的日期是合理的,尤其是閏年,用這個類型會幫你檢查,所以要定義好相關的適合型態。

操作整張資料表

  • 轉移:「將資料表移動到(資料庫名.資料資料表名稱):」
  • 複製:「將資料表複製到(資料庫名.資料資料表名稱):」(練習這個)
  • 丟棄
  • 清空
  • 匯出sql
  • 匯入sql
  • 匯出csv
  • 匯入csv

使用資料表

  • select,delete,update是三個mySQL中最重要的指令
  • 詳見「完整講義」的「第二部分/零/七、基本SQL命令/10~14」
  • select 下條件及排序
  • 正規化與非正規化的資料表
  • select name,phone from name a,phone b where a.id=b.id order by name
  • select name,phone,email from name a,phone b,email c where a.id=b.id && b.id=c.id order by name
  • 一對多關係與多對多關係。