1. 程式人生 > >【圖文解析 】MySQL 初始,初戀的感覺!

【圖文解析 】MySQL 初始,初戀的感覺!

  • 什麼是資料
    • 客觀事物的符號表示。
  • 資料的分類
    • 結構化資料: 可以按照一定結構來進行描述。
    • 非結構化資料: 不能按照一定結構描述。(文件,視訊,音訊…)
    • 半結構化資料: 介於兩者之間。  (xml/html/json)
  • 資料庫分類
    • 關係型資料庫: 結構化資料
    • 非關係型資料庫:
  • 資料庫管理系統的分類
    • 關係型的資料庫管理系統(RDBMS):
      • Oracle: oracle公司。大型的分散式關係型資料庫管理系統。
        • 產品免費,服務收費。
      • Mysql: oracle公司。開源免費。千萬級別。支援GPL。
      • Sql server: Microsoft公司。
      • DB2: IBM公司。
  • 什麼是Mysql
    • Mysql是一個開源免費的關係型資料庫管理系統
    • 二維表格的形式(關係模型)管理資料,稱之為表(資料庫表),一行表示一個實體,在資料庫表中稱為記錄。列稱為欄位。
    • Mysql中為了對不同業務進行區分處理,採用分庫分表形式管理。
    • Mysql資料庫管理系統是Mysql Ab公司開發。
    • 1996年釋出mysql 1.0
    • 2000年開源
    • 2008年被sun以10億美元收購
    • 2009年被sun被oracle以74億美元收購
  • Mysql的下載安裝
  • my.ini:mysql的配置檔案
    • mysql服務需要讀取該配置檔案實現軟體操作。
  • Data: 資料最終以檔案的形式儲存(目錄)
    • 每建立一個數據庫就會在該目錄下建立相同名稱的資料夾儲存該資料庫的資訊;
    • 在每個資料庫目錄下會儲存多個檔案用於儲存表的資訊。
      • Frm:儲存表的結構
      • Ibd:儲存表中存放的資料。 
  • 基本命令

3.Sql

    • 結構化查詢語言。
    • 應用於關係型資料庫之間進行操作標準語法(程式語言)。
    • 結束標誌是;
    • 大小寫不敏感。
  • Sql語言分類
    • DDL:資料定義語言(資料庫物件(資料庫,,索引,檢視)實現建立,修改,刪除)
      • Create    alter    drop
    • DML:資料操縱語言(對資料的操作 增刪改)
      • Insert   update   delete
    • DQL:資料查詢語言(查詢)
      • Select
    • TCL:事務控制語言
      • Commit   rollback
    • DCL:資料控制語言
      • Grant(授權)    revoke(取消授權)
  • DDL

# 新建資料庫  DDL

create database [ if not exists ] bd1805;

#銷燬資料庫

drop database [if exists] bd1805;
  • 表的操作
    • 表是以二維表格形式管理資料。
    • 行叫記錄;列叫欄位。
create table `student`(

   `name` varchar(20),

          `age` int,

          `sex` varchar(10)

);

# 資料型別

 # 數值

          # 整數

                     int:  4

          # 浮點數

                     float(m,n):m總長度,n小數點位數

                     double(m,n):m長度,n小數點位數

                     decimal(m,n): 精確資料(銀行)   #BigDecimal

 # 字串型別

                   char(n):  定長字串

                   varchar(n): 可變長字串(最長長度)

 # 日期型別

                   date: 日期

                   time: 時間

                   datetime:日期時間

                   timestamp:時間戳

                            #儲存機制:

                            #儲存範圍:

 # 其他型別

                   text: 文字

                   blob: 二進位制

                   enum:列舉

                   set:集合

                   json
  • 表的修改
# 新增欄位(追加) alter table ... add 欄位

         alter table student add tel char(11);

         # 新增欄位到首位

         alter table student add cid int first;

         # 新增欄位到指定位置

         alter table student add sid int after cid;



# 欄位刪除

         alter table student drop cid;

# 修改欄位(change / modify)

          #修改欄位型別或長度

                          # change 舊欄位  新欄位(名稱 型別)

         alter table student change tel tel varchar(11);

         alter table student modify tel char(11);

          # 修改欄位名稱

          alter table student change name sname varchar(20);

          # 修改欄位位置

          alter table student change sex sex varchar(10) after sname;

          # 表名修改

          rename table student to stu;



# 銷燬表

          drop table stu;