<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)境配置和10分鐘快速入門

          共 3954字,需瀏覽 8分鐘

           ·

          2020-10-22 02:22

          MySQL

          From:Datawhale
          作者:皮錢超,廈門大學(xué),Datawhale原創(chuàng)作者
          本文約3000字,建議閱讀9分鐘
          審稿人:楊煜,Datawhale成員,就職于畢馬威,從事數(shù)據(jù)分析工作。
          本文中介紹的結(jié)構(gòu)型數(shù)據(jù)庫(kù)MySQL的基礎(chǔ)知識(shí),能夠讓你快速入門MySQL,具體內(nèi)容包含:
          • 相關(guān)術(shù)語
          • 數(shù)據(jù)類型
          • 安裝MySQL(以Ubuntu為例)
          • 4種語言
          • 學(xué)習(xí)資料
          • MySQL內(nèi)置函數(shù)

          一、相關(guān)術(shù)語

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

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

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

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

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

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

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

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

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

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

          2.1 整數(shù)類型

          2.2 小數(shù)類型

          • float(m,d):?jiǎn)尉龋?位精度;m表示總個(gè)數(shù),d表示小數(shù)位
          • double(m,d):雙精度,16位精度;m表示總個(gè)數(shù),d表示小數(shù)位
          • decimal(m,d):定點(diǎn)數(shù),m表示總長(zhǎng)度,d表示小數(shù)位

          2.3 字符串類型

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

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

          2.4 日期類型

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

          2.5 字段名修飾

          常見的字段修飾語:

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

          2.6 常見運(yùn)算符

          常用的運(yùn)算符有:

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

          三、安裝MySQL

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

          3.1 官網(wǎng)下載

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

          MySQL5.7社區(qū)版本

          文件下載

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

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

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

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

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

          # 安裝mysql服務(wù)
          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安裝完成后普通用戶不能進(jìn)mysql,原因:rootplugin被修改成了auth_socket,用密碼登陸的plugin應(yīng)該是mysql_native_password,直接用root權(quán)限登錄就不用密碼,修改root密碼和登錄驗(yàn)證方式:

          $sudo su  # 進(jìn)入root賬戶
          # mysql # 輸入mysql,進(jìn)入mysql服務(wù) ;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; # 刷新權(quán)限
          mysql> exit # 退出msyql服務(wù)
          Bye
          # exit # 退出root賬戶,進(jìn)入普通賬戶(第一個(gè)星號(hào)不是注釋)
          $ sudo /etc/init.d/mysql restart # 重啟msyql服務(wù)
          $ mysql -uroot -p # 進(jìn)入mysql服務(wù)中,接下來輸入上面步驟中設(shè)置的密碼
          Enter password: (上面的密碼)

          3.4 配置遠(yuǎn)程登錄

          默認(rèn)的MySQL服務(wù)是只允許本地服務(wù)的,但是大部分時(shí)候需要遠(yuǎn)程服務(wù),下面進(jìn)行配置:

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

          保存退出,進(jìn)入MySQL服務(wù),執(zhí)行授權(quán)命令:

          $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配置服務(wù)

          四、4種語句

          語句分類

          結(jié)構(gòu)化查詢語言Structured Qurey Language語句必須是以分號(hào)結(jié)束,且關(guān)鍵詞不區(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)建、刪除、修改庫(kù)表結(jié)構(gòu)
          • 針對(duì)庫(kù)表結(jié)構(gòu)

          DML

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

          DCL

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

          DQL

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

          五、學(xué)習(xí)資料

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

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

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

          往期精彩:

          【原創(chuàng)首發(fā)】機(jī)器學(xué)習(xí)公式推導(dǎo)與代碼實(shí)現(xiàn)30講.pdf

          【原創(chuàng)首發(fā)】深度學(xué)習(xí)語義分割理論與實(shí)戰(zhàn)指南.pdf

          ?2020,從TF Boy 變成 Torch User

          喜歡您就點(diǎn)個(gè)在看!

          瀏覽 48
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  日本久久大香蕉 | 欧美性受XXXX黑人XYX性爽ni | 女人18片毛片60分钟黃菲菲 | 久久久久国产视频 | 在线播放成人A片 麻豆网站 |