本資料為產(chǎn)品崗位作為日常工作參考衩匣,語(yǔ)言口語(yǔ)化
At 2019/4/15 By David.Yang
數(shù)據(jù)庫(kù)怎么登錄/管理?
登錄數(shù)據(jù)庫(kù)的方式有多種戴尸,
比如
本地Client登錄粟焊、
通過(guò)數(shù)據(jù)庫(kù)管理工具登錄、
通過(guò)瀏覽器訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)端WEB軟件登錄孙蒙。
通過(guò)各種方式登錄后项棠,即可通過(guò)當(dāng)前登錄的方式進(jìn)行數(shù)據(jù)庫(kù)的操作。
通過(guò)本地Client登錄
Client即一種客戶(hù)端挎峦,
比如MAC本地的iterm或iterm2客戶(hù)端香追,
還有 SCRT、Putty等豐富的工具可以使用坦胶。
這種方式是作為開(kāi)發(fā)做常用的登錄方式透典,需要一點(diǎn)指令要求 。
場(chǎng)景:
本地Client它需要首先登錄到數(shù)據(jù)庫(kù)目標(biāo)服務(wù)器顿苇,
再在服務(wù)器上登陸到數(shù)據(jù)庫(kù)峭咒。
Client之登錄到服務(wù)器
這里的服務(wù)器是數(shù)據(jù)庫(kù)所在的服務(wù)器,登錄服務(wù)器你需要一些登錄的賬號(hào)信息纪岁。
登錄信息:
數(shù)據(jù)庫(kù)所在服務(wù)器地址:1**.**.**.**
訪(fǎng)問(wèn)ssh端口:****
訪(fǎng)問(wèn)用戶(hù)(服務(wù)器):q****n
訪(fǎng)問(wèn)密碼(服務(wù)器):Hs****dM
注:
數(shù)據(jù)庫(kù)服務(wù)器相關(guān)登錄信息可從開(kāi)發(fā)人員處獲得權(quán)限凑队,或自搭測(cè)試數(shù)據(jù)庫(kù)。
以下通過(guò)截圖操作示例:
使用SecureCRT演示
登錄成功后可見(jiàn)
看到這個(gè)界面幔翰,恭喜你已經(jīng)踏入了服務(wù)器的大門(mén)漩氨,
這臺(tái)服務(wù)器上會(huì)有你要用到的數(shù)據(jù)庫(kù)。
如果理解不了导匣,你可以換個(gè)思路才菠,
你們家附近那家宜家在意義工業(yè)園區(qū)內(nèi),
你現(xiàn)在已經(jīng)成功進(jìn)入了一家所在的園區(qū)贡定,
下一步你就可以直接去“宜家”了。
Client之登錄到數(shù)據(jù)庫(kù)
這里的“宜家”有點(diǎn)不一樣可都,進(jìn)去需要一個(gè)門(mén)禁缓待,他是一個(gè)賬號(hào)口令的組合,刷卡逛宜家唄渠牲。
登錄信息:
訪(fǎng)問(wèn)用戶(hù)(數(shù)據(jù)庫(kù)):p****v
訪(fǎng)問(wèn)密碼(數(shù)據(jù)庫(kù)):yk****************My
訪(fǎng)問(wèn)端口(數(shù)據(jù)庫(kù)):****
以下通過(guò)截圖操作示例:
在Client干凈的一行輸入以下命令
命令
/usr/local/mysql/bin/mysql–ua****t –p
Enter password:2***********m
到此你已經(jīng)成功登陸到了數(shù)據(jù)庫(kù)
這一步你已經(jīng)打開(kāi)了宜家的大門(mén)旋炒,可以開(kāi)始逛啦~
基本指令講解:
/usr/local/mysql/bin/mysql
表示mysql數(shù)據(jù)庫(kù)所在的服務(wù)命令在哪里(數(shù)據(jù)庫(kù)服務(wù)所在目錄路徑,日常服務(wù)在什么目錄咨詢(xún)你的開(kāi)發(fā)同學(xué)給你)
-u用戶(hù)名
登錄數(shù)據(jù)庫(kù)的用戶(hù)(具體咨詢(xún)你的開(kāi)發(fā)同學(xué))
-p
登錄數(shù)據(jù)的密碼(具體咨詢(xún)你的開(kāi)發(fā)同學(xué))
/usr/local/mysql/bin/mysql –u**** –p
一段命令寫(xiě)完后签杈,敲擊回車(chē)鍵瘫镇,會(huì)提示需要你輸入密碼
Enter password:
看見(jiàn)以上密碼提示鼎兽,粘貼密碼,然后回車(chē)即可
注:
- 以上高亮部分是你在Client窗口輸入的可執(zhí)行命令按行計(jì)算為一條命令
- 命令的執(zhí)行是通過(guò)回車(chē)來(lái)觸發(fā)的
-?不要直接復(fù)制铣除,word可能會(huì)有隱藏字符造成命令失敗
-?密碼可以進(jìn)行復(fù)制
服務(wù)端web軟件來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)登錄
不推薦
類(lèi)似phpmyadmin等安裝在服務(wù)端的web軟件進(jìn)行登錄管理
開(kāi)發(fā)進(jìn)行安裝后給你賬號(hào)密碼即可谚咬,基于瀏覽器
數(shù)據(jù)庫(kù)管理工具來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)登錄
命令行進(jìn)行數(shù)據(jù)庫(kù)操作對(duì)于沒(méi)有指令基礎(chǔ)的用戶(hù)可能接受程度較低,
這里介紹尚粘,
可以通過(guò)數(shù)據(jù)庫(kù)管理工具來(lái)完成同樣的操作戏阅,
界面化的操作更容易理解捐名,同時(shí)工具兼顧SQL的運(yùn)行。
本文使用Navcat示例
登錄信息:
訪(fǎng)問(wèn)用戶(hù)(數(shù)據(jù)庫(kù)):p****v
訪(fǎng)問(wèn)密碼(數(shù)據(jù)庫(kù)):yk****************My
訪(fǎng)問(wèn)端口(數(shù)據(jù)庫(kù)):****
以下通過(guò)截圖操作示例:
這里使用Navicat舉例
打開(kāi)軟件
打開(kāi)?運(yùn)行軟件旬盯?window雙擊?
點(diǎn)擊Connection按鈕缘挽,進(jìn)行一個(gè)新的數(shù)據(jù)庫(kù)連接創(chuàng)建
文本使用mysql講解北发,所以選擇連接mysql數(shù)據(jù)庫(kù)
簡(jiǎn)單填寫(xiě)所需要的登陸信息
登陸成功后可以看到你權(quán)限之內(nèi)的可管理的數(shù)據(jù)庫(kù)
到此軟件登陸完成,比Client命令行管理簡(jiǎn)單很多
創(chuàng)建你的第一個(gè)數(shù)據(jù)庫(kù)
創(chuàng)建數(shù)據(jù)庫(kù)之前盔腔,我們先了解一個(gè)叫SQL的東西腌巾,
他是一門(mén)數(shù)據(jù)庫(kù)的語(yǔ)言,用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作铲觉,
他有自己固定的語(yǔ)法澈蝙,
根據(jù)語(yǔ)法格式就可以進(jìn)行數(shù)據(jù)庫(kù)操作了。
在登錄數(shù)據(jù)庫(kù)之后撵幽,習(xí)慣先將字符集設(shè)置好(登錄后設(shè)置一次即可)
SQL
mysql>set names utf8;
Query OK, 0 rows affected (0.00 sec)
此時(shí)灯荧,你可能有此疑問(wèn),我能看到或操作那些數(shù)據(jù)庫(kù)呢盐杂?
這時(shí)候你可以通過(guò)以下命令逗载,看到允許你操作的數(shù)據(jù)“庫(kù)”有哪些。
SQL
mysql>show databases;
+--------------------+
| Database?????????? ??|
+--------------------+
|information_schema???|
+--------------------+
1 row in set (0.02 sec)
mysql>
為了不影響其他業(yè)務(wù)數(shù)據(jù)庫(kù)链烈,我們新建一個(gè)測(cè)試數(shù)據(jù)庫(kù)厉斟,你可以隨便玩兒
SQL
mysql>createdatabase analyst;
Query OK, 1 row affected (0.00 sec)
如果已存在當(dāng)前庫(kù)則跳過(guò)以上步驟。
上面Query OK是告訴你强衡,剛才那條命令執(zhí)行ok了擦秽,現(xiàn)在我們?cè)賮?lái)看看新建的數(shù)據(jù)庫(kù)是不是真的存在了。
SQL
mysql>show databases;
+--------------------+
| Database?????????? ??|
+--------------------+
| information_schema???|
|analyst??????????? ???|
+--------------------+
2 rows in set (0.00 sec)
analyst就是方才創(chuàng)建的那個(gè)用來(lái)測(cè)試的數(shù)據(jù)庫(kù)
到此為止漩勤,我們就已經(jīng)創(chuàng)建好了自己的數(shù)據(jù)庫(kù)感挥,
也就是你的“宜家家居”已經(jīng)準(zhǔn)備好了,
只不過(guò)它是一個(gè)空的倉(cāng)庫(kù)而已越败,
你到了這一步就可以往里面塞東西了触幼。
不過(guò)在塞東西之前,我們需要想了解下這個(gè)倉(cāng)庫(kù)里面是長(zhǎng)什么樣子的究飞,
這個(gè)就像宜家的倉(cāng)庫(kù)管理員往倉(cāng)庫(kù)當(dāng)中補(bǔ)貨置谦,
最起碼要知道倉(cāng)庫(kù)中需要有貨架一樣堂鲤,
一個(gè)道理,了解它媒峡,再操作它瘟栖。
危險(xiǎn)操作
數(shù)據(jù)庫(kù)當(dāng)中進(jìn)行刪除操作是一個(gè)危險(xiǎn)的行為,在刪除之前需要謹(jǐn)慎丝蹭。
刪除一個(gè)數(shù)據(jù)庫(kù)
先看看慢宗,我們現(xiàn)在是有analyst這個(gè)庫(kù)的
SQL
mysql>show databases;
+--------------------+
| Database?????????? |
+--------------------+
| information_schema |
|analyst??????????? |
| mysql????????????? |
| performance_schema |
| sys???????????????|
+--------------------+
5 rows in set (0.00 sec)
然后我們執(zhí)行刪除操作
SQL
mysql>drop database analyst;
Query OK, 0 rows affected (0.01 sec)
mysql>show databases;
+--------------------+
| Database?????????? ??|
+--------------------+
| information_schema??|
| mysql????????????? ?|
| performance_schema?|
| sys??????????????? ??|
+--------------------+
4 rows in set (0.00 sec)
再看時(shí),analyst這個(gè)數(shù)據(jù)庫(kù)已經(jīng)不存在了
命令千萬(wàn)條奔穿,安全第一條镜沽,刪庫(kù)不謹(jǐn)慎,全家兩行淚
SQL語(yǔ)法解釋
set names [character];
解釋
set 表示操作是設(shè)置
names 表示設(shè)置的對(duì)象是字符集
character 設(shè)置成xx字符集贱田,utf8是字符集一種
; sql中表示一段命令語(yǔ)句的結(jié)尾
show databases;
解釋
show 表示操作是顯示
databases 顯示的對(duì)象是數(shù)據(jù)庫(kù)(復(fù)數(shù)缅茉,所有權(quán)限內(nèi)數(shù)據(jù)庫(kù))
create database [databasename];
解釋
create 表示操作是創(chuàng)建
databases 創(chuàng)建的對(duì)象是數(shù)據(jù)庫(kù)(單數(shù))
databasename 創(chuàng)建的數(shù)據(jù)庫(kù)的名稱(chēng)
drop database [databasename];
解釋
drop 刪除
databases 刪除的對(duì)象是數(shù)據(jù)庫(kù)(單數(shù))
databasename 刪除的數(shù)據(jù)庫(kù)的名稱(chēng)
創(chuàng)建數(shù)據(jù)庫(kù)的懶人方法– 三方工具操作
本內(nèi)容是在創(chuàng)建數(shù)據(jù)庫(kù)不使用命令行的懶人工具方法
show databases;
還記得查看所有數(shù)據(jù)庫(kù)SQL么?
不記得就往前搗鼓搗鼓男摧,復(fù)習(xí)以下蔬墩。
你發(fā)現(xiàn)登陸Navicat后就直接看到所有數(shù)據(jù)庫(kù),不再需要執(zhí)行命令耗拓,因?yàn)檐浖婺愀闪诉@件事了
選中數(shù)據(jù)庫(kù)拇颅,右擊就可以直接管理了,
比如編輯乔询、創(chuàng)建數(shù)據(jù)庫(kù)樟插,
甚至刪除數(shù)據(jù)庫(kù)都可以跟使用軟件一樣直接操作。
創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)示例
以下通過(guò)截圖操作示例:
按照路徑竿刁,選擇創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)
填寫(xiě)庫(kù)信息
database name:數(shù)據(jù)庫(kù)名稱(chēng)
character set:設(shè)置數(shù)據(jù)庫(kù)的字符集
我們統(tǒng)一使用utf8字符集
創(chuàng)建完成查看信件的數(shù)據(jù)庫(kù)
通過(guò)截圖可以發(fā)現(xiàn)黄锤,
以上操作其實(shí)是軟件將你的操作有圖形化轉(zhuǎn)化為命令,
再通過(guò)命令行執(zhí)行食拜,讓你覺(jué)得更輕松鸵熟。
創(chuàng)建數(shù)據(jù)庫(kù)– 三方工具操作SQL
三方工具不僅可以通過(guò)UI進(jìn)行數(shù)據(jù)庫(kù)基礎(chǔ)的操作,
也可以支持SQL的語(yǔ)句模式负甸,
你也可以將命令行模式下的SQL語(yǔ)句放到SQL編輯器下執(zhí)行流强。
以下通過(guò)截圖操作示例:
選中對(duì)象數(shù)據(jù)庫(kù)連接句柄,點(diǎn)擊Query惑惶,進(jìn)入SQL語(yǔ)句模式
點(diǎn)擊新建小按鈕
操作步驟
1:你當(dāng)前連接的數(shù)據(jù)庫(kù)句柄
2:你寫(xiě)的SQL語(yǔ)句煮盼,比如上文命令行模式下的哪些SQL語(yǔ)句寫(xiě)到這里
3:運(yùn)行
點(diǎn)擊運(yùn)行前保證你要運(yùn)行的【2】那段SQL語(yǔ)句是選中狀態(tài),因?yàn)榇颂幨强梢詫?xiě)很多SQL的带污,選中狀態(tài)表示你要運(yùn)行那一段SQL
刷新一下,看到新數(shù)據(jù)庫(kù)
使用建議
一般情況下香到,開(kāi)發(fā)人員或SQL較熟練的人員鱼冀,較多使用命令行模式進(jìn)行操作报破;
更多情況下會(huì)使用類(lèi)似Navicat的工具來(lái)進(jìn)行基本的數(shù)據(jù)庫(kù)管理,
類(lèi)似數(shù)據(jù)庫(kù)創(chuàng)建千绪,數(shù)據(jù)表創(chuàng)建/編輯等充易;
復(fù)雜的SQL語(yǔ)句會(huì)通過(guò)Navicat的SQL編輯器來(lái)操作,
所以怎么選擇看你自己荸型。
到此盹靴,怎么通過(guò)各種工具連接數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù)已經(jīng)完成瑞妇,
下面講數(shù)據(jù)庫(kù)的內(nèi)部結(jié)構(gòu)是什么樣的稿静,里數(shù)據(jù)庫(kù)更近一點(diǎn)。