国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MySQL必知必會(1):了解Mysql

陳偉 / 1101人閱讀

摘要:比如用戶表,第一行表示張三第二行表示李四,每一行都包含所有的列也就是字段。也是一種數(shù)據(jù)庫管理系統(tǒng)。但是,活躍的社區(qū)都給出了解決辦法,也在逐步成長。

本文主要介紹Mysql最基礎(chǔ)知識:Mysql基本概念。

1.1 數(shù)據(jù)庫基礎(chǔ) 1.1.1 簡介

數(shù)據(jù)庫,從字面意思來理解就是一個用來裝數(shù)據(jù)的容器。每天我們都在和數(shù)據(jù)庫打交道,比如你每天打開APP瀏覽新聞,瀏覽微博,這些都是間接的使用數(shù)據(jù)庫。

用專業(yè)術(shù)語來描述一下數(shù)據(jù)庫概念:一個以某種有組織的方式存儲的數(shù)據(jù)集合。你可以把他理解為一個電腦上的文件夾,里面有序的存著你的東西。

再說一個容易混淆的概念。Mysqloracle這些并不叫數(shù)據(jù)庫,他們應(yīng)該叫數(shù)據(jù)庫管理系統(tǒng)DBMS(你大學(xué)課堂上經(jīng)常要背的概念)。他們是幫助你去管理數(shù)據(jù)庫,這點不能混淆了。

現(xiàn)在企業(yè)中常用的數(shù)據(jù)庫有下面這些

關(guān)系型數(shù)據(jù)庫:MysqlOracle

非關(guān)系型數(shù)據(jù)庫NoSqlMongodb

內(nèi)存型數(shù)據(jù)庫,鍵值對數(shù)據(jù)庫:Redis

其他還有一些,開發(fā)常用數(shù)據(jù)庫集合

1.1.2 表

數(shù)據(jù)庫相當(dāng)于一個文件夾,表就是文件夾內(nèi)的一個文件,這個文件有點兒像excel表格文件。當(dāng)你需要管理一些數(shù)據(jù)的時候,你要先創(chuàng)建一個excel文件,然后在里面錄入一些數(shù)據(jù)。數(shù)據(jù)庫的表也是這個意思。

一般來說,在數(shù)據(jù)庫中,一個表內(nèi)存儲的內(nèi)容大體相似。比如,所有的用戶信息存儲在一張表。當(dāng)你再需要存儲用戶的購買商品信息時候,就需要重新創(chuàng)建一張表,而不是將他們?nèi)慷言谝粋€表中。

每個表都會有自己的名字,和電腦上的文件一樣。同一個文件夾內(nèi)不能有相同的兩個文件,同一個數(shù)據(jù)庫內(nèi)也不能有兩個同名的數(shù)據(jù)表。

在實際開發(fā)中你可能會看到如下的表名。

他們具有相同的前綴wp_,這是為了同一個庫中存放不同用途的表而設(shè)定的。比如我做個博客,表明都用wp_開頭;我在做個商城,我用shop_開頭,這樣互不沖突。

1.1.3 列

先看一個數(shù)據(jù)表內(nèi)的結(jié)構(gòu)

表是一個一個的表格組成的,豎直方向一列就是被稱為列,也叫字段。一個列存儲的內(nèi)容大體相同,比如你做excel表格時候,第一列都是姓名,第二列都是年齡一樣。

為了便于管理分析數(shù)據(jù),在創(chuàng)建字段的時候盡量的需要細(xì)化。比如用戶有個地址叫:XX省XX市XX區(qū),這個時候不能只創(chuàng)建一個地址字段,而是應(yīng)該把省市區(qū)拆分開創(chuàng)建3個字段。之后數(shù)據(jù)分析,來自XX省的用戶就方便多了。

1.1.4 行

列表示豎著的,行就表示為橫著的。比如用戶表,第一行表示張三、第二行表示李四,每一行都包含所有的列(也就是字段)。

通常我們把第一行的張三和第二行的李四成為記錄。每次多一個用戶信息,就會說增加了一條記錄。所以,行也被成為記錄。

1.1.5 數(shù)據(jù)類型

數(shù)據(jù)庫為了加快檢索速度增加了很多規(guī)則,其中給數(shù)據(jù)定義類型就是其中一條。數(shù)據(jù)表中的每個字段在創(chuàng)建的時候都需要給定一個類型,比如用來存儲數(shù)字的就定義為數(shù)字類型。儲存昵稱的就可以使用字符串類型。

這樣做既可以優(yōu)化性能,也可以限定一些輸入。比如在用戶年齡里面你就不能輸入漢字,這樣后期處理也特別方便。

1.1.6 主鍵

數(shù)據(jù)表中可以存儲幾條數(shù)據(jù),也可以存儲幾千萬條數(shù)據(jù)。如果我們需要尋找一條數(shù)據(jù),少量數(shù)據(jù)還有辦法。但是數(shù)據(jù)量特別大的時候,我們想要找到一條數(shù)據(jù)可不是一件容易的事情。所以,在創(chuàng)建字段時候,我們還需要給每一行加一個可以唯一標(biāo)識該行數(shù)據(jù)的標(biāo)識符,也叫主鍵。比如第一行數(shù)據(jù)叫1,第二行數(shù)據(jù)叫2,以此類推。如果我需要找到第123456行記錄,只需要找主鍵為123456就可以了,極大地提高了搜索效率。

關(guān)于主鍵有幾個好的建議:

每個行都必須有一個主鍵,哪怕不需要。方便以后業(yè)務(wù)拓展管理。

任意兩行不能有重復(fù)的主鍵

不能更新主鍵的值

一條記錄被刪除之后,不能重復(fù)使用它的主鍵。

1.2 什么是SQL 簡介

下面來簡介一下操作數(shù)據(jù)庫的語言SQLSQL被稱為結(jié)構(gòu)化查詢語言,是一種專門為和數(shù)據(jù)庫通信的語言。

和其他語言,比如PHPJava一樣,都是程序語言。

SELECT user_name FROM br_user;

我們寫了一條很簡單的SQL語句。即使你沒有學(xué)過也可以大體上理解他的意思,因為他的語句非常的直白。

除了這些,他還有下面的這些優(yōu)點:

SQL不是特別為哪一個數(shù)據(jù)庫開發(fā)的語言,是一種通用語言,幾乎所有的數(shù)據(jù)庫都支持。

SQL特別簡單,他的語句基本上和英語結(jié)構(gòu)一致。所以,懂點兒英語就可以直接看懂。故也被成為最應(yīng)該是高級語言的語言。

SQL雖然語法很簡單,但是功能卻非常強大。可以檢索出非常復(fù)雜的數(shù)據(jù)。

1.3 了解Mysql 1.3.1 簡介

數(shù)據(jù)庫在使用中的查詢、查找和刪除等等操作都是由數(shù)據(jù)庫管理軟件來執(zhí)行。也俗稱DBMS(數(shù)據(jù)庫管理系統(tǒng))。Mysql也是一種數(shù)據(jù)庫管理系統(tǒng)。

Mysql優(yōu)點:

免費開源,節(jié)約成本

性能優(yōu)異,Mysql執(zhí)行速度十分快

操作簡單,學(xué)習(xí)成本十分低。網(wǎng)絡(luò)上面有大量的社區(qū)和文檔。

應(yīng)用廣泛,有很多大公司都在使用Mysql數(shù)據(jù)庫,比如facebook、百度、淘寶等等。

當(dāng)然,Mysql也有一些缺點,他沒有完全支持其他DBMS提供的功能。但是,活躍的社區(qū)都給出了解決辦法,Mysql也在逐步成長。

1.3.2 安裝 windows安裝

Mysql官網(wǎng)下載Mysql安裝包,下一步下一步安裝即可

Linux下安裝

我們只舉一個例子,ubuntu。直接使用自帶包管理工具。

sudo apt-get install mysql-server

在安裝過程中,mysql 等均會提示設(shè)置root密碼。(別隨便添,要記住喲!)

1.3.3 常用管理工具簡介

phpmyadmin:著名的web版本Mysql管理工具,最適合本地管理Mysql

navicat:商業(yè)版本的Mysql管理工具,功能十分簡單,使用十分方便

workbenchMysql官方提供的管理工具,功能強大,但是相比于navicatphpmyadmin有點兒復(fù)雜。有免費版本。

上面3個是常用的,查看更多

1.4 Mysql使用 1.4.1 連接數(shù)據(jù)庫

Mysql與其他數(shù)據(jù)庫一樣,在使用之前都需要登錄DBMS。所以之前你需要提供一些信息來確保登錄:

主機名。遠(yuǎn)程主機可以是IP或者域名;如果Mysql安裝在本地,可以使用localhost

端口號。一般默認(rèn)使用3306

用戶名。

密碼。這里的密碼就是之前安裝時候需要你填寫的,可能為空

有了這些信息就可以實施登陸操作。如果你使用上面提到的客戶端軟件登錄就十分簡單,直接輸入即可登錄。

如果你使用Mysql自帶的命令行工具登錄,則使用如下命令

mysql -u root -p 

-u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之后回車,會提示輸入密碼,此時輸入密碼就可以登錄到mysql

注意linux下面的大部分輸入密碼操作界面沒有任何提示信息,也不會出現(xiàn)***。所以不要認(rèn)為鍵盤壞了啥也輸入不了。

1.4.2 選擇數(shù)據(jù)庫

當(dāng)你連接到Mysql之后,第一步就需要選擇數(shù)據(jù)庫,之后才可以進(jìn)行相應(yīng)操作。比如建表。

use bidianer;

使用上面的語句選擇bidianer數(shù)據(jù)庫

如果在命令行中,你會看到database changed提示。

提示:其實mysql在執(zhí)行use my_database;時候并不會返回任何結(jié)果。此處的database changed提示是Mysql命令行工具操作成功之后給出的提示,而不是數(shù)據(jù)庫給出的提示。

在客戶端工具中選擇數(shù)據(jù)庫就簡單多了,直接雙擊。

1.4.3 Mysql數(shù)據(jù)庫和表

剛剛安裝完,會發(fā)現(xiàn)數(shù)據(jù)庫中已經(jīng)存在了幾張表。這些表是Mysql內(nèi)部表,用來存儲自身的數(shù)據(jù)庫、表、用戶還有權(quán)限等等信息。

這些表一般不能直接訪問,但是可以使用Mysql提供的一些命令來獲取信息。

比如我們要獲取所有數(shù)據(jù)庫信息:

SHOW DATABASES;

我們得到如下結(jié)果(我自己的數(shù)據(jù)庫,你們可能不一樣)

可以看到我上面命令用大寫,但是圖中我用小寫。所以Mysql對大小寫不敏感。

看最后一行,有具體的行數(shù)量和執(zhí)行的時間。

如果你選擇了一個數(shù)據(jù)庫,可以使用下面的命令查看數(shù)據(jù)庫所包含的所有表

USE bidianer;
SHOW TABLES;

Mysql命令行輸入命令需要在結(jié)尾處打上分號。否則Mysql會跳轉(zhuǎn)到下一行等待繼續(xù)輸入。

SHOW命令還可以顯示一個表的字段信息

show columns from br_attachment;

上圖中我們看到第一行att_id最后有個auto_increment。這個叫自增長ID

上面我們提到主鍵不能重復(fù)。所以最好的辦法就是用數(shù)字往上面累加,第一行為id為1,第二行為2,依次類推。

auto_increment就是Mysql提供的一個功能,他會自動為每條記錄分配一個ID,并且依次累加。

上面是個插曲,現(xiàn)在我們再說下SHOW命令還能干啥

SHOW STATUS,用于顯示Mysql服務(wù)器運行狀態(tài)信息

SHOW CREATE DATABASE用來顯示創(chuàng)建特定數(shù)據(jù)庫

SHOW CREATE TABLE用來顯示創(chuàng)建特定表

SHOW GRANTS顯示用戶的權(quán)限信息

SHOW ERRORSSHOW WARNINGS顯示服務(wù)器錯誤或者警告消息

星空幻穎,嚴(yán)穎

個人主頁:segmentfault

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/22243.html

相關(guān)文章

  • MySQL必知必會:組合查詢(Union)

    摘要:本文參考必知必會工作實踐融合組合查詢定義在大多數(shù)開發(fā)中,使用一條查詢就會返回一個結(jié)果集。在查詢結(jié)果集中幫我們自動去除了重復(fù)的行重復(fù)的行是李四,把兩條李四合并了。注意由于在多表組合查詢時候,可能表字段并不相同。 本篇文章主要介紹使用Union操作符將多個SELECT查詢組合成一個結(jié)果集。本文參考《Mysql必知必會》+工作實踐融合 組合查詢 定義 在大多數(shù)開發(fā)中,使用一條SELECT查詢...

    用戶83 評論0 收藏0
  • MySQL必知必會(6):常用文本字符串處理函數(shù)

    摘要:編程語言中經(jīng)常使用函數(shù)來處理一些字符串,數(shù)字或者其他內(nèi)容。所以如果需要移植要慎重使用函數(shù)。該函數(shù)有兩個參數(shù),第一個參數(shù)為字符串,第二個參數(shù)為字符串長度。還有另外兩個相似函數(shù)去除字符串左側(cè)空格去除字符串右側(cè)空格字符串截取函數(shù)。 編程語言中經(jīng)常使用函數(shù)來處理一些字符串,數(shù)字或者其他內(nèi)容。MySQL也是一樣,可以使用函數(shù)來快速達(dá)到一系列的目的。 在上一篇文章《計算字段的使用》中,我們提前使用...

    xuxueli 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<