99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

mysql 入門基礎(chǔ)教程

發(fā)布時(shí)間:2016-07-16 21:05  回復(fù):0  查看:2611   最后回復(fù):2016-07-16 21:05  

mysql 是一門關(guān)系型數(shù)據(jù)庫, 不同于mongoDB 來說. mysql 需要給不同的表之間建立相互聯(lián)系,以便確定完整性約束. 這里我們看看Mysql基礎(chǔ)知識

 

mysql常用術(shù)語

冗余: 用來表示存儲兩倍的數(shù)據(jù), 但會使數(shù)據(jù)訪問更快. 相當(dāng)于redis

主鍵: 用來執(zhí)行每個(gè)表的關(guān)鍵性數(shù)據(jù), 并且,每個(gè)表中只有一個(gè)主鍵.

外鍵: 這應(yīng)該是mysql的關(guān)鍵, 使用外鍵來關(guān)聯(lián)不同表.

復(fù)合鍵: 將多個(gè)鍵組合一起來作為索引值. 一般用于復(fù)合索引

索引:借用一組值, 來對表進(jìn)行排序. 可以比作書的目錄.

參照完整性: 參照的完整性要求關(guān)系中不允許引用不存在的實(shí)體

mysql之初命令

MAC 上下載mysql 很簡單. 直接使用homebrew 即可. 他會幫你把mysql的所有其他東西都完全的安裝好. 然后, 就是簡單的開關(guān)操作.

開啟mysql: mysql.server start

關(guān)閉mysql: mysql.server stop

打開交互命令: mysql

OK, 這樣就已經(jīng)滿足前期你對mysql的基本要求
如果你想,將你的mysql上鎖, , 添加登錄密碼的話, 就可以使用:

mysql 入門基礎(chǔ)教程

1

mysqladmin -u root password "new_password";

 

如果你想設(shè)置為開啟自啟的話,可以使用:

mysql 入門基礎(chǔ)教程

1

2

// MAC

ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents

 

其他的自行google.

連接mysql

上述已經(jīng)提到了, 使用mysql即可連接到數(shù)據(jù)庫.
當(dāng)你使用mysql進(jìn)行連接的時(shí)候, 這并不是完整意義上的連接, 因?yàn)楫?dāng)多人協(xié)作的時(shí)候,往往一個(gè)數(shù)據(jù)庫, 會有很多users進(jìn)行連接, 而這mysql只是數(shù)據(jù)庫給的一個(gè)匿名用戶, 如果是單機(jī)版的Mysql這樣使用當(dāng)然是最方便的。
另外, 你還可以使用

mysql 入門基礎(chǔ)教程

1

2

mysql -h host -u user -p

// 接著輸入你的密碼

 

這里就是比較高級的。 在指定的hostname上使用指定的user進(jìn)行連接.
有童鞋可能會問了, hostuser到底是什么呢?
e… 你可以輸入echo $HOSTecho $USER來查看.
當(dāng)然, 這種方式是最高級的, 也最有可能會遇到這樣的problem

mysql 入門基礎(chǔ)教程

1

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

 

這句話的意思就是, , 你的mysql還沒運(yùn)行呢~

接著, 我們來看一下稍微簡單的調(diào)用.你的HOST實(shí)際是可以忽略的, 如果你不是遠(yuǎn)程登錄的話. 接著就可以使用一下的命令:

mysql 入門基礎(chǔ)教程

1

<span class="hljs-title">mysql</span> -u user -p

其實(shí)俺最常用的就是mysql 方便干脆, 不過有時(shí)候需要user的時(shí)候,還會使用一下mysql -u user -p這樣的參數(shù). 如果你想查看你Mysql,有多少USER的話, 就可以使用, SELECT USER();進(jìn)行查看.

如果你在電腦里面有其他的用戶需要添加時(shí), 這就需要你進(jìn)行手動添加用戶.

添加用戶

Mysql中添加用戶,其實(shí)也非常簡單, 只需要使用CREATE USER  GRANT就可以了。
我們這里創(chuàng)建一個(gè)普通用戶-jimmy. 然后賦予它一下簡單的權(quán)限

mysql&nbsp;入門基礎(chǔ)教程

1

2

3

4

5

6

7

<span class="hljs-constant">CREATE</span> <span class="hljs-constant">USER</span> <span class="hljs-string">'jimmy'</span>@<span class="hljs-string">'localhost'</span> <span class="hljs-constant">IDENTIFIED</span> <span class="hljs-constant">BY</span> <span class="hljs-string">'your_password'</span>;

<span class="hljs-regexp">//</span> 創(chuàng)建一個(gè)jimmy的用戶, 并且, 他的密碼為,your_password

> <span class="hljs-constant">GRANT</span> <span class="hljs-constant">SELECT</span>,<span class="hljs-constant">INSERT</span>,<span class="hljs-constant">UPDATE</span>,<span class="hljs-constant">DELETE</span>,<span class="hljs-constant">CREATE</span>,<span class="hljs-constant">DROP</span>

   -> <span class="hljs-constant">ON</span> *.*

   -> <span class="hljs-constant">TO</span> <span class="hljs-string">'jimmy'</span>@<span class="hljs-string">'localhost'</span>;

 

<span class="hljs-regexp">//</span> 賦予jimmy 一些基本的權(quán)限, 讓他去訪問某些執(zhí)行的數(shù)據(jù)庫, 上文中的<span class="hljs-string">`*.*`</span>(注意這不是顏文字, 這表示所有的數(shù)據(jù)庫) 就可以寫為你允許該用戶訪問的數(shù)據(jù)庫的name, 比如, 你可以改為<span class="hljs-string">`bank`</span>,<span class="hljs-string">`tencent`</span>... 等等

這樣, 你就可以使用mysql -u xxx -p 進(jìn)行指定用戶的登錄了.
如果,你想創(chuàng)建一個(gè)管理員賬戶的話, 代碼就更簡單了。

mysql&nbsp;入門基礎(chǔ)教程

1

2

3

4

5

<span class="hljs-operator"><span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">USER</span> <span class="hljs-string">'admin'</span>@<span class="hljs-string">'localhost'</span> <span class="hljs-keyword">IDENTIFIED</span> <span class="hljs-keyword">BY</span> <span class="hljs-string">'your_ps'</span>;</span>

// 創(chuàng)建一個(gè)管理員賬戶

 

<span class="hljs-operator"><span class="hljs-keyword">GRANT</span> <span class="hljs-keyword">ALL</span> <span class="hljs-keyword">PRIVILEGES</span> <span class="hljs-keyword">ON</span> *.* <span class="hljs-keyword">TO</span> <span class="hljs-string">'admin'</span>@<span class="hljs-string">'localhost'</span> <span class="hljs-keyword">WITH</span> <span class="hljs-keyword">GRANT</span> <span class="hljs-keyword">OPTION</span>;</span>

// ok

如果你想檢查, 你創(chuàng)建的用戶的權(quán)限對不對時(shí), 可以使用.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">SHOW</span> <span class="hljs-keyword">GRANTS</span> <span class="hljs-keyword">FOR</span> <span class="hljs-string">'admin'</span>@<span class="hljs-string">'localhost'</span>;</span>

進(jìn)行查看.
接下來, 假設(shè)出現(xiàn)很多bugs. md… 密碼寫錯(cuò)了,怎么辦? 用戶創(chuàng)建錯(cuò)了,怎么辦?
這些,mysql 都已經(jīng)提供了一些相關(guān)的辦法.

修改密碼

這里有很多種方法, 簡單介紹兩種. 一種是使用SET,一種是使用ALERT(v5.7.6).

SET 修改密碼應(yīng)該算是比較常用的. 使用SET直接修改密碼即可.
格式為:

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">SET</span> <span class="hljs-keyword">PASSWORD</span> <span class="hljs-keyword">FOR</span> <span class="hljs-string">'jimmy'</span>@<span class="hljs-string">'localhost'</span> = <span class="hljs-keyword">PASSWORD</span>(<span class="hljs-string">'your_ps'</span>);</span>

上面那種方法,適用于root的用戶進(jìn)行修改, 如果你想修改自己的密碼的話,就更簡單了. 直接使用.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">SET</span> <span class="hljs-keyword">PASSWORD</span> = <span class="hljs-keyword">PASSWORD</span>(<span class="hljs-string">'your_ps'</span>);</span>

來看一下ALERT的相關(guān)語法吧.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-title">ALERT</span> USER <span class="hljs-string">'jimmy'</span>@<span class="hljs-string">'localhost'</span> IDENTIFIED BY <span class="hljs-string">'your_ps'</span>;

如果你不想輸,'jimmy'@'localhost 這一串的話, 可以直接使用USER()進(jìn)行代替.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-title">ALERT</span> USER USER() IDENTIFIED BY <span class="hljs-string">'your_ps'</span>;

另外, 如果你只想在shell 中直接修改的話,可以直接使用

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-title">mysqladmin</span> -u user_name -h host_name password <span class="hljs-string">"new_password"</span>

直接修改即可.

如果你連用戶都創(chuàng)建錯(cuò)了。 那該怎么辦呢?
刪唄.

刪除用戶

在刪之前,你可以看看,mysql,有多少其他的用戶. 一般,mysql創(chuàng)建新用戶后, 都會把用戶信息放到mysql.user中去.我們來檢查一下吧.

mysql&nbsp;入門基礎(chǔ)教程

1

`<span class="hljs-operator"><span class="hljs-keyword">SELECT</span> <span class="hljs-keyword">User</span> <span class="hljs-keyword">FROM</span> mysql.<span class="hljs-keyword">user</span></span>

選擇你想要刪除的用戶名.直接drop就行了.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">DROP</span> <span class="hljs-keyword">USER</span> <span class="hljs-string">'jimmy'</span>@<span class="hljs-string">'localhost'</span>;</span>

語句格式

sql, 每條語句都是以;(semicolon)結(jié)尾。這里簡單演示一下, 如果你想查看mysql的版本號, 或者日期時(shí)間的話,可以使用.

mysql&nbsp;入門基礎(chǔ)教程

1

2

3

4

5

6

7

8

<span class="hljs-operator"><span class="hljs-keyword">SELECT</span> <span class="hljs-keyword">VERSION</span>(),<span class="hljs-keyword">CURRENT_DATE</span>;</span>

// 返回?cái)?shù)據(jù)

+<span class="hljs-comment">-----------+--------------+</span>

| version() | current_date |

+<span class="hljs-comment">-----------+--------------+</span>

| 5.7.11    | 2016-07-02   |

+<span class="hljs-comment">-----------+--------------+</span>

1 row in <span class="hljs-operator"><span class="hljs-keyword">set</span> (<span class="hljs-number">0.00</span> sec)</span>

另外, mysql, 大小寫是不區(qū)分的. 如果你更熟悉小寫的話,就可以使用。

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">select</span> <span class="hljs-keyword">version</span>(),<span class="hljs-keyword">current_date</span>;</span>

這完全沒有太大的影響。
另外,sql語句可以在一行中書寫, 例如:

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">select</span> <span class="hljs-keyword">version</span>();</span> <span class="hljs-operator"><span class="hljs-keyword">select</span> <span class="hljs-keyword">now</span>();</span> <span class="hljs-operator"><span class="hljs-keyword">select</span> <span class="hljs-keyword">current_date</span>;</span>

3條語句都會執(zhí)行一次。
由于,mysql是根據(jù)semicolon來決定語句的結(jié)束, 所以, 你書寫語句的方式, 可以這樣寫.

mysql&nbsp;入門基礎(chǔ)教程

1

2

3

> select

    -> ,

    <span class="hljs-function">-></span> current_date;

如果你換行之后發(fā)現(xiàn)自己打錯(cuò)了, 那該怎么辦呢?
簡單,輸入/c即可.

數(shù)據(jù)庫之初操作

進(jìn)入數(shù)據(jù)庫后, 第一件事, 應(yīng)該看看, 這里面有哪些已經(jīng)創(chuàng)建好的用戶.

mysql&nbsp;入門基礎(chǔ)教程

1

2

3

4

5

6

7

8

9

<span class="hljs-operator"><span class="hljs-keyword">show</span> <span class="hljs-keyword">databases</span>;</span>

// 你有可能會發(fā)現(xiàn)有如下的信息;

+<span class="hljs-comment">----------+</span>

| Database |

+<span class="hljs-comment">----------+</span>

| mysql    |

| test     |

| tmp      |

+<span class="hljs-comment">----------+</span>

然后, 你可以選擇其一并進(jìn)行相關(guān)操作.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">USE</span> test</span>

當(dāng)你已經(jīng)進(jìn)入數(shù)據(jù)庫, 但突然忘記了,自己是哪個(gè)用戶,哪個(gè)數(shù)據(jù)庫. so how to do?
上面已經(jīng)介紹了,查找用戶, 可以直接使用SELECT USER();
那查找數(shù)據(jù)庫同理就應(yīng)該為.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">SELECT</span> <span class="hljs-keyword">DATABASE</span>();</span>

如果, 你沒有相關(guān)的db的話, 那就需要你手動進(jìn)行創(chuàng)建了.

創(chuàng)建數(shù)據(jù)庫

使用方法很簡單:

mysql&nbsp;入門基礎(chǔ)教程

1

2

<span class="hljs-operator"><span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">DATABASE</span> db_name;</span>

// 這里的db_name 是大小寫敏感的,需要注意一下.

之后, 你就需要手動進(jìn)行選擇你需要的數(shù)據(jù)庫.
還是上面那個(gè)命令. USE db_name;
當(dāng)然, 如果你嫌登錄之后再USE 有點(diǎn)麻煩, 你可以直接使用.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-title">mysql</span> -u user -p db_name

進(jìn)行相關(guān)登錄.
ok, 之后,就是數(shù)據(jù)表里的事了.

數(shù)據(jù)表相關(guān)

TableDatabase的初階段準(zhǔn)備其實(shí)沒太大的差別。 同樣就是, 創(chuàng)建,進(jìn)入,over.
你可以先檢查一下,你的數(shù)據(jù)庫中有沒有已經(jīng)建好的表.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">SHOW</span> <span class="hljs-keyword">TABLES</span>;</span>

如果沒有的話, 你可以隨便建一個(gè)表. 比如, 你現(xiàn)在創(chuàng)建一個(gè)person的表, 里面的字段有name,birth.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TABLE</span> person(name <span class="hljs-built_in">VARCHAR</span>(<span class="hljs-number">20</span>),birth <span class="hljs-built_in">DATE</span>);</span>

這樣你就成功的創(chuàng)建了一個(gè)表,接著, 你可以看看關(guān)于你的表的相關(guān)描述.

mysql&nbsp;入門基礎(chǔ)教程

1

<span class="hljs-operator"><span class="hljs-keyword">DESCRIBE</span> person;</span>

ok, 入門mysql的相關(guān)配置就到這吧.

 

 

 

原文來自:數(shù)盟

您還未登錄,請先登錄

熱門帖子

最新帖子

?