數(shù)據(jù)庫筆記

數(shù)據(jù)定義語言:

drop   #刪除數(shù)據(jù)庫谊惭、表等對(duì)象
create #創(chuàng)建數(shù)據(jù)庫缩歪、表等對(duì)象
alter  #修改數(shù)據(jù)庫刻蚯、表

數(shù)據(jù)操作語言:

select  #查詢表中數(shù)據(jù)
insert  #向表中插入數(shù)據(jù)
update  #更新表中數(shù)據(jù)
delete  #刪除表中數(shù)據(jù)

數(shù)據(jù)查詢語言:

#用來查詢表中記錄
select
from    #子句
where   #子句等等

數(shù)據(jù)控制語言:

grant       #賦予用戶操作權(quán)限
revoke      #取消用戶操作權(quán)限
commit      #確認(rèn)對(duì)數(shù)據(jù)中數(shù)據(jù)進(jìn)行的變更
rollback    #取消對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行變更

MySQL默認(rèn)自帶數(shù)據(jù)庫:

數(shù)據(jù)庫 描述
information_schema 該數(shù)據(jù)庫保存了mysql服務(wù)器所有數(shù)據(jù)庫的信息殿怜;比如數(shù)據(jù)庫的名隶症、數(shù)據(jù)庫的表逐样、訪問權(quán)限仗哨、數(shù)據(jù)庫表的數(shù)據(jù)類型晚吞,數(shù)據(jù)庫索引的信息等等
performance_schema 主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù)桥言,可用于監(jiān)控服務(wù)器在一個(gè)較低級(jí)別的運(yùn)行過程中的資源消耗萌踱、資源等待等情況
sys 庫中所有的數(shù)據(jù)源來自:performance_schema。目標(biāo)是把performance_schema的把復(fù)雜度降低号阿,讓DBA能更好的閱讀這個(gè)庫里的內(nèi)容并鸵。讓DBA更快的了解DB的運(yùn)行情況
mysql mysql的核心數(shù)據(jù)庫,類似于sql server中的master表扔涧,主要負(fù)責(zé)存儲(chǔ)數(shù)據(jù)庫的用戶园担、權(quán)限設(shè)置、關(guān)鍵字等mysql自己需要使用的控制和管理信息

MySQL數(shù)據(jù)庫常用命令

命令 簡寫 具體含義
? (?) 顯示幫助信息
clear (\c) 明確當(dāng)前輸入語句
connect (\r) 連接到服務(wù)器枯夜,可選參數(shù)數(shù)據(jù)庫和主機(jī)弯汰。
delimiter (\d) 設(shè)置語句分隔符。
ego (\G) 發(fā)送命令到mysql服務(wù)器湖雹,并顯示結(jié)果咏闪。
exit (\q) 退出MySQL
go (\g) 發(fā)送命令到mysql服務(wù)器。
help (\h) 顯示幫助信息
notee (\t) 不寫輸出文件摔吏。
print (\p) 打印當(dāng)前命令
prompt (\R) 改變mysql提示信息汤踏。
quit (\q) 退出MySQL
rehash (#) 重建完成散列。
source (.) 執(zhí)行一個(gè)SQL腳本文件舔腾,以一個(gè)文件名作為參數(shù)溪胶。
status (\s) 從服務(wù)器獲取MySQL的狀態(tài)信息。
tee (\T) 設(shè)置輸出文件(輸出文件)稳诚,并將信息添加所有給定的輸出文件哗脖。
use (\u) 用另一個(gè)數(shù)據(jù)庫,數(shù)據(jù)庫名稱作為參數(shù)。
charset (\C) 切換到另一個(gè)字符集
warnings (\W) 每一個(gè)語句之后顯示警告才避。
nowarning (\w) 每一個(gè)語句之后不顯示警告橱夭。

一、MySQL數(shù)據(jù)庫的使用

登錄數(shù)據(jù)庫

[sudo] mysql -u[用戶名] -p[密碼]
mysql > exit; #退出數(shù)據(jù)庫

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

#語法
create database [if not exists] 數(shù)據(jù)庫名 [[default] character set 字符集名] [[default] collate 校對(duì)規(guī)則名];
_______
通常規(guī)則: create database 數(shù)據(jù)庫名 [設(shè)置字符集名] [校對(duì)規(guī)則]
數(shù)據(jù)庫名:創(chuàng)建的數(shù)據(jù)庫名稱
if not exists:在創(chuàng)建數(shù)據(jù)庫之前進(jìn)行判斷桑逝,只有該數(shù)據(jù)庫目前尚不存在時(shí)才能執(zhí)行操作棘劣。此選項(xiàng)可以用來避免數(shù)據(jù)庫已經(jīng)存在而重復(fù)創(chuàng)建的錯(cuò)誤
[default] character set:指定字符集名
常用字符集: utf8
[default] collate:指定字符集的默認(rèn)校對(duì)規(guī)則
_______
mysql > create database mysql_01;
Query OK   #表示創(chuàng)建成功
_______
#查詢所有數(shù)據(jù)庫
mysql > show databases;
#查詢建立的數(shù)據(jù)庫
mysql > show create database 數(shù)據(jù)庫名;
#查看當(dāng)前使用的數(shù)據(jù)庫
mysql > show database();
#使用數(shù)據(jù)庫
mysql > use 數(shù)據(jù)庫名;
_______
#創(chuàng)建數(shù)據(jù)庫時(shí)指定字符集
mysql > create database if not exists mysql_02_utf8 default character set utf8;
#查詢創(chuàng)建的指定字符集的數(shù)據(jù)庫
mysql > show create detabase mtsql_02_utf8;

查看字符集

mysql > show variables like "%character%";

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |#客戶來源端使用的字符集
| character_set_connection | utf8mb4                    |#連接層字符集
| character_set_database   | utf8mb3                    |#當(dāng)前選中數(shù)據(jù)庫的默認(rèn)字符集
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |#查詢結(jié)果字符集
| character_set_server     | utf8mb4                    |#默認(rèn)的內(nèi)部操作字符集
| character_set_system     | utf8mb3                    |#系統(tǒng)元數(shù)據(jù)(字段名等)字符集
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
_______
variables:變量
%:模糊匹配
character:字符集

修改數(shù)據(jù)庫

#語法
mysql > alter database 數(shù)據(jù)庫名 [[default] character set 字符集名] [default] collate 校對(duì)規(guī)則名];
########
mysql > alter database 數(shù)據(jù)庫名 character set 字符集名;
########
alter database:更改數(shù)據(jù)庫的全局特性,使用 alter database 需獲取數(shù)據(jù)庫的 alter 權(quán)限
character set:用于更改數(shù)據(jù)庫默認(rèn)字符集

刪除數(shù)據(jù)庫

#語法
mysql > drop database [if exists] 數(shù)據(jù)庫名;
_______
if exists:防止當(dāng)前數(shù)據(jù)庫不存在時(shí)發(fā)生的錯(cuò)誤

二楞遏、MySQL數(shù)據(jù)庫數(shù)據(jù)類型

整數(shù)類型

類型名稱 說明 存儲(chǔ)需求
TINYINT 很小的整數(shù) 1字節(jié)
SMALLINT 小的整數(shù) 2字節(jié)
MEDIUMINT 中等大小的整數(shù) 3字節(jié)
INT(INTEGER) 整數(shù) 4字節(jié)
BIGINT 大整數(shù) 8字節(jié)

小數(shù)類型

類型名稱 說明 存儲(chǔ)需要
FLOAT 單精度浮點(diǎn)數(shù) 4字節(jié)
DOUBLE 雙精度浮點(diǎn)數(shù) 8字節(jié)

日期和時(shí)間類型

類型名稱 說明 存儲(chǔ)需要
YEAR YYYY 1字節(jié)
TIME HH:MM:SS 3字節(jié)
DATE YYYY-MM-DD 3字節(jié)
DATETIME YYYY-MM-DD HH:MM:SS 8字節(jié)

字符串類型

類型名稱 說明 存儲(chǔ)需要
CHAR(M) 固定長度非二進(jìn)制字符串 M字節(jié)茬暇,1<=M<=255
VARCHAR(M) 變長非二進(jìn)制字符串 L+1字節(jié),L<=M && 1<=M<=255
TEXT 小的非二進(jìn)制字符串 L+2字節(jié)寡喝,L<2^16

CHAR與VARCHAR的區(qū)別

  • CHAR是一種固定長度的類型糙俗,VARCHAR則是一種可變長度的類型;
  • CHAR(M)類型的數(shù)據(jù)列里,每個(gè)值都占用M個(gè)字節(jié)预鬓,如果某個(gè)長度小于M巧骚,MySQL就會(huì)在它的右邊用空格字符補(bǔ)足;
  • VARCHAR(M)類型的數(shù)據(jù)列里,每個(gè)值只占用剛好夠用的字節(jié)再加上一個(gè)用來記錄其長度的字節(jié)(即總長度為L+1字節(jié))

二進(jìn)制類型

類型名稱 說明 存儲(chǔ)需要
BIT(M) 位字段類型 大約(M+7)/8字節(jié)
BINARY(M) 固定長度二進(jìn)制數(shù)據(jù) M字節(jié)
VARBINARY(M) 可變長度二進(jìn)制字符串 L+1字節(jié)
BLOB(M) L+2字節(jié)格二,L<2^16
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末劈彪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子顶猜,更是在濱河造成了極大的恐慌沧奴,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驶兜,死亡現(xiàn)場離奇詭異扼仲,居然都是意外死亡远寸,警方通過查閱死者的電腦和手機(jī)抄淑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驰后,“玉大人肆资,你說我怎么就攤上這事≡钪ィ” “怎么了郑原?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長夜涕。 經(jīng)常有香客問我犯犁,道長,這世上最難降的妖魔是什么女器? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任酸役,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘涣澡。我一直安慰自己贱呐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布入桂。 她就那樣靜靜地躺著奄薇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抗愁。 梳的紋絲不亂的頭發(fā)上馁蒂,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音驹愚,去河邊找鬼远搪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逢捺,可吹牛的內(nèi)容都是我干的谁鳍。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼劫瞳,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼倘潜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起志于,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤涮因,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后伺绽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體养泡,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年奈应,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了澜掩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡杖挣,死狀恐怖肩榕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惩妇,我是刑警寧澤株汉,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站歌殃,受9級(jí)特大地震影響乔妈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜氓皱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一路召、第九天 我趴在偏房一處隱蔽的房頂上張望贮懈。 院中可真熱鬧,春花似錦优训、人聲如沸朵你。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抡医。三九已至,卻和暖如春早敬,著一層夾襖步出監(jiān)牢的瞬間忌傻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國打工搞监, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留水孩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓琐驴,卻偏偏與公主長得像俘种,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绝淡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容