<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          MySQL環(huán)境配置和入門講解!

          共 3903字,需瀏覽 8分鐘

           ·

          2020-10-21 14:51

          ↑↑↑關注后"星標"Datawhale
          每日干貨?&?每月組隊學習,不錯過
          ?Datawhale干貨?
          作者:皮錢超,廈門大學,Datawhale原創(chuàng)作者
          本文約3000字,建議閱讀9分鐘
          審稿人:楊煜,Datawhale成員,就職于畢馬威,從事數(shù)據(jù)分析工作。
          本文中介紹的結構型數(shù)據(jù)庫MySQL的基礎知識,能夠讓你快速入門MySQL,具體內(nèi)容包含:
          • 相關術語
          • 數(shù)據(jù)類型
          • 安裝MySQL(以Ubuntu為例)
          • 4種語言
          • 學習資料
          • MySQL內(nèi)置函數(shù)

          一、相關術語

          • 數(shù)據(jù)庫database:以某種有組織的方式存儲的數(shù)據(jù)集合。通常是一個文件或者一組文件。

          • table:結構化的文件,用來存儲某種特定類型的數(shù)據(jù)。存儲在表中的數(shù)據(jù)是同一種類型的數(shù)據(jù)或者清單。表名具有唯一性,表的特性:

            • 數(shù)據(jù)在表中如何存儲
            • 存儲什么類型的數(shù)據(jù)
            • 數(shù)據(jù)如何分解
            • 各個部分的信息如何命名
          • column:表由列組成,列存儲表中的某部分的信息。列是表中的字段。表中每個列存儲特定的信息,比如商品的表中有:商品的名稱、生產(chǎn)日期、產(chǎn)地等。每個列都有相應的數(shù)據(jù)類型

          • row:表中的數(shù)據(jù)是按照行存儲的,所保存的記錄是存儲在自己的行內(nèi)。比如顧客表中,每行存儲一個顧客的相關信息。有時候行業(yè)稱之為記錄record

            垂直的列為表列,水平行為表行

          • 主鍵primary key:一列(或一組列),能夠唯一標識表中每一行,比如訂單表中的訂單ID。主鍵是用來表示一個特定的行。表中任何一列都是可以作為主鍵,滿足條件:

            • 任意兩行都不具有相同的主鍵值
            • 每一行必須有一個主鍵值(主鍵列不允許NULL值)
            • 主鍵的值不允許修改或者更新
            • 主鍵值不能重用

          二、數(shù)據(jù)類型

          MySQL數(shù)據(jù)庫中主要的數(shù)據(jù)類型有四種:

          • 整數(shù)類型
          • 小數(shù)類型
          • 字符串類型
          • 日期時間類型

          2.1 整數(shù)類型

          2.2 小數(shù)類型

          • float(m,d):單精度,8位精度;m表示總個數(shù),d表示小數(shù)位
          • double(m,d):雙精度,16位精度;m表示總個數(shù),d表示小數(shù)位
          • decimal(m,d):定點數(shù),m表示總長度,d表示小數(shù)位

          2.3 字符串類型

          用的最多的是charvarchar以及text,其中:

          • char:定長,不夠補空格,多了減掉;比如char(10):輸入12345678**,后面自動補兩個空格。特點:存取速度快,占空間
          • varchar:變長,根據(jù)實際自動改變長度。特點:存取速度慢,節(jié)省空間
          • text:主要是用于存儲文本信息

          2.4 日期類型

          類型大小格式用途
          DATE3YYYY-MM-DD日期值
          TIME3HH:MM:SS時間值或者持續(xù)時間
          YEAR1YYYY年份值
          DATETIME8YYYYMMDD混合日期和時間值
          TIMESTAMP8HHMMSS混合日期和時間值,時間戳

          2.5 字段名修飾

          常見的字段修飾語:

          修飾語作用
          unsigned無符號
          auto_increment自增
          default默認值
          comment字段解釋說明
          not null非空
          null
          unique唯一索引
          index普通索引
          primary key主鍵,必須指定為auto_increment

          2.6 常見運算符

          常用的運算符有:

          符號含義
          =賦值或者判斷
          !=或者<>不等于
          <小于
          >大于
          <=、>=小于等于或者大于等于
          OR
          AND
          BETWEEN…AND…在….和….之間
          IN、NOT IN在或者不在

          三、安裝MySQL

          下面是以Ubuntu18為例安裝MySQL數(shù)據(jù)庫。

          3.1 官網(wǎng)下載

          • 進入MySQL數(shù)據(jù)庫的官網(wǎng)。里面有各種版本,MySQL5.5,MySQL5.6,MySQL5.7,MySQL8.0。
          • 其中前三者是應用最廣泛的,8.0目前剛出來,屬于起步階段,問題還是很多;而且網(wǎng)上的資源比較少。

          MySQL5.7社區(qū)版本

          文件下載

          1. 這里是以安裝5.7版本為例
          1. 選擇對應的系統(tǒng)和版本
          1. 下載DEB文件
          1. 點擊開始安裝

          3.2 安裝客戶端和環(huán)境

          進入到安裝包所在的文件目錄下,筆者是Downloads下:

          sudo dpkg -i mysql-community-source_5.7.26-1ubuntu18.04_amd64.deb 
          # 更新軟件源
          sudo apt-get upgrade

          安裝客戶端和環(huán)境的具體步驟:

          # 安裝mysql服務
          sudo apt-get install mysql-server
          # 安裝客戶端
          sudo apt install mysql-client
          # 安裝依賴
          sudo apt install libmysqlclient-dev
          # 檢查狀態(tài)
          sudo netstat -tap | grep mysql

          3.3 配置root密碼

          mysql5.7安裝完成后普通用戶不能進mysql,原因:rootplugin被修改成了auth_socket,用密碼登陸的plugin應該是mysql_native_password,直接用root權限登錄就不用密碼,修改root密碼和登錄驗證方式:

          $sudo su  # 進入root賬戶
          # mysql # 輸入mysql,進入mysql服務 ;root賬戶下分隔符是#,普通用戶是$

          mysql> select user, plugin from mysql.user;
          +------------------+-----------------------+
          | user | plugin |
          +------------------+-----------------------+
          | root | auth_socket |
          | mysql.session | mysql_native_password |
          | mysql.sys | mysql_native_password |
          | debian-sys-maint | mysql_native_password |
          +------------------+-----------------------+
          4 rows in set (0.00 sec)
          mysql> update mysql.user set authentication_string=PASSWORD('renrenren'), plugin='mysql_native_password' where user='root'; # 修改root賬戶密碼
          mysql> flush privileges; # 刷新權限
          mysql> exit # 退出msyql服務
          Bye
          # exit # 退出root賬戶,進入普通賬戶(第一個星號不是注釋)
          $ sudo /etc/init.d/mysql restart # 重啟msyql服務
          $ mysql -uroot -p # 進入mysql服務中,接下來輸入上面步驟中設置的密碼
          Enter password: (上面的密碼)

          3.4 配置遠程登錄

          默認的MySQL服務是只允許本地服務的,但是大部分時候需要遠程服務,下面進行配置:

          $sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf  # 進入配置文件,注釋掉bind-address = 127.0.0.1

          保存退出,進入MySQL服務,執(zhí)行授權命令:

          $sudo -uroot -p
          Enter password: (上面的密碼)
          mysql> grant all on *.* to root@'%' identified by 'renrenren' with grant option;
          Query OK, 0 rows affected, 1 warning (0.00 sec)
          mysql>flush privileges;
          mysql> exit
          Bye

          $sudo /etc/init.d/mysql restart # 重啟mysql配置服務

          四、4種語句

          語句分類

          結構化查詢語言Structured Qurey Language,語句必須是以分號結束,且關鍵詞不區(qū)分大小寫,主要包含四種語句:

          • DDL,data defination language數(shù)據(jù)定義語言
          • DML,data manipulation language數(shù)據(jù)操作語言
          • DCL,data control language數(shù)據(jù)控制語言
          • DQL,data query language數(shù)據(jù)查詢語言

          DDL

          • data defination language,數(shù)據(jù)定義語言;作用主要是:創(chuàng)建、刪除、修改庫表結構。
          • 針對庫表結構

          DML

          • data manipulation language,數(shù)據(jù)操作語言;作用主要是:增、刪、改表的記錄
          • 針對的操作

          DCL

          • data control language,數(shù)據(jù)控制語言;用戶創(chuàng)建及授權操作
          • 針對數(shù)據(jù)庫的用戶

          DQL

          • data query language,數(shù)據(jù)查詢語言;查詢數(shù)據(jù)
          • 主要是查詢功能

          五、學習資料

          1. 首先推薦是一本書《SQL必知必會》,一本非常經(jīng)典的SQL入門書籍?
          2. 一個網(wǎng)站:sqlzoo,是一個非常適合新手和提升SQL的練習網(wǎng)站
          3. 一門課程:《網(wǎng)易課程-MySQL從入門到精通》
          4. 菜鳥課程:提供很多MySQL的學習資料

          六、MySQL內(nèi)置大全

          介紹MySQL中常見的內(nèi)置函數(shù):

          “原創(chuàng)不易,三連
          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  大香蕉三级在线视频 | 日韩一区二区三区免费视频 | 色欲综合一区二区三区 | 久久综合五月婷婷 | 午夜日B网|