MySQL基礎知識

MySQL數(shù)據(jù)庫基礎知識

MySQL自帶4個數(shù)據(jù)庫

information_schema:存儲表信息,列信息等等,用戶信息芽偏,簡單理解為數(shù)據(jù)目錄信息, 元數(shù)據(jù)

mysql:mysql數(shù)據(jù)庫的核心數(shù)據(jù)庫

performance_schema:數(shù)據(jù)庫性能相關的信息

sys:數(shù)據(jù)都來自performance_schema,給DBA人員看更加方便


基礎操作語句

查看所有的數(shù)據(jù)庫????show databases;

創(chuàng)建數(shù)據(jù)庫????create database 數(shù)據(jù)庫名;

刪除數(shù)據(jù)庫????drop database 數(shù)據(jù)庫名;

使用數(shù)據(jù)庫????use 數(shù)據(jù)庫名;

查看當前使用的數(shù)據(jù)庫:????select database();????????·默認沒有使用數(shù)據(jù)庫,顯示null

退出mysql:????exit 或者 quit

開發(fā)時,選擇utf8編碼,mysql配置就是utf8

查看編碼相關信息:????show variables like '%character%';


創(chuàng)建表基本語法:

create table 表名(

????列1 類型 [約束],

????列2 類型 [約束],

????...

????列n 類型 [約束]

);

表的命名:

組成:

mysql:字母,_,數(shù)字? ? ? ? ? oracle:字母,_,$,#,數(shù)字

長度不能超過32個字母

一般都是小寫,多個單詞之間用_分隔

建議:系統(tǒng)關系字大寫, 大小寫都不會報錯

不能使用系統(tǒng)關鍵字


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

數(shù)值型

整型:

tinyint(1字節(jié)),smallint(2字節(jié)),mediumint(3字節(jié)),int(4字節(jié)),bigint(8字節(jié))

主要使用int

小數(shù):

浮點型:存儲的是近似值

float(4字節(jié)):

double(8字節(jié)):

eg: float(10,2):根據(jù)需要制定有效位數(shù)是10,小數(shù)位2位

定點型:

decimal:精確存儲,內部用字符串來存儲的

eg:decimal(10,3): 有效位10位,小數(shù)位3位,實際占用空間有效位+2

文本型

char:定長的文本型

eg: name char(20):開辟20個字節(jié),如果沒有存儲滿,用空格填滿

varchar:變成的文本型

eg: name varchar(20):最多可以存儲20個字節(jié),實際開辟空間由內容大小決定

char效率更高,如果值的長度是固定的,可以選擇char

varchar:節(jié)約空間,如果值的長度不一致,可以選擇varchar,使用的比較多

日期型

date:存儲年月日? 2019-01-21

time:存儲時分秒? 22:48:30

year:存儲年 ? 2019

datetime:存儲年月日時分秒 2019-01-21 22:48:30 1000~9999范圍 重點

timestamp:存儲年月日時分秒? 1970~2038范圍, 如果不指定值,值會取當前時間

大數(shù)據(jù)量類型:

blob:可以存儲大數(shù)據(jù)量的字節(jié)數(shù)據(jù)

text:可以存儲大數(shù)據(jù)量的文本數(shù)據(jù)

比如存儲圖形信息:可以選擇blob,但是也可以把圖片存儲到本地,把圖片路徑存到數(shù)據(jù)庫


查看當前數(shù)據(jù)庫下有哪些表:????show tables;

查看某個表的結構:????desc 表名;

查看表的創(chuàng)建語句:????show create table 表名;????show create table 表名 \G?

刪除表:????drop table 表名;

約束:

非空約束: not null????????????空:沒有給值,任意的,未知的

唯一約束: unique ? ? ? ? ? ? 如果有值,不能重復????????學號可以使用唯一約束

默認約束:default,? default 值????????添加時,如果沒有賦值,則取默認值

主鍵約束:primary key ?? 保證行的唯一性

自動增長:auto_increment

適合主鍵,數(shù)值型憾赁,默認從1開始,每增加一行,值增加1

如果希望從n開始 create table 表名 (...) auto_increment=n;


導入腳本

source sql文件路徑

source命令執(zhí)行腳本,會按照從上到下的順序依次執(zhí)行


數(shù)據(jù)庫設計三大范式:

設計關系數(shù)據(jù)庫時呜袁,遵從不同的規(guī)范要求,設計出合理的關系型數(shù)據(jù)庫,這些不同的規(guī)范要求被稱為不同的范式躏筏,后面的范式基于前面范式,越高的范式數(shù)據(jù)庫冗余越小专肪。

目前關系數(shù)據(jù)庫有六種范式:第一范式(1NF)刹勃、第二范式(2NF)、第三范式(3NF)嚎尤、巴斯-科德范式(BCNF)荔仁、第四范式(4NF)和第五范式(5NF,又稱完美范式)芽死。

第一范式(1NF):

字段不可再分乏梁,比如:收貨人地址拆分成????省,市,區(qū)....

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 電話聯(lián)系人????姓,? 名

第二范式(2NF):

表中的字段不能部分依賴主鍵,只要不用聯(lián)合主鍵, 只用一個列作為主鍵即可

通常,添加一個非業(yè)務字段作為主鍵

基于第一范式

第三范式(3NF):

表中的字段不能傳遞依賴

b字段依賴主鍵,? c字段依賴b ,這就是一種傳遞依賴

單獨設計一張和b有關的表,c放到b對應的表中

減少字段的冗余.

基于第二范式


外鍵約束:foreign key

mysql中InnoDB引擎支持外鍵約束

當兩個表有關系的時候,一個表的列a引用另外一個表(也可能當前表)的列b(主鍵列,唯一列)

可以給列a添加外鍵約束


被引用的表:父表,

引用的表:子表

被引用的列只能是主鍵列或唯一列

引用的列值只能取被引用列存在的值或空

on update 選擇,on delete 選擇:父表發(fā)生更新操作或者刪除操作時,子表如何做

選擇:

restrict:父表刪除修改被引用列值時,如果子表有關聯(lián)的數(shù)據(jù),不能完成操作,報錯,默認參數(shù)

cascade:級聯(lián)刪除或級聯(lián)修改

set null:當父表數(shù)據(jù)刪除或者修改時,對應子表數(shù)據(jù)置空

no action:在innoDB引擎下,和restrict效果一樣

父表數(shù)據(jù)刪除時,對應的外鍵值置null????修改時,級聯(lián)修改

單獨添加外鍵:表修改語句 ? ?

alter table 表名 add constraint foreign key(列名) references 被關聯(lián)的表(被關聯(lián)的列);

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末关贵,一起剝皮案震驚了整個濱河市遇骑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌揖曾,老刑警劉巖落萎,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異炭剪,居然都是意外死亡模暗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門念祭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兑宇,“玉大人,你說我怎么就攤上這事粱坤×ジ猓” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵站玄,是天一觀的道長枚驻。 經(jīng)常有香客問我,道長株旷,這世上最難降的妖魔是什么再登? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮晾剖,結果婚禮上锉矢,老公的妹妹穿的比我還像新娘。我一直安慰自己齿尽,他們只是感情好沽损,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著循头,像睡著了一般绵估。 火紅的嫁衣襯著肌膚如雪炎疆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天国裳,我揣著相機與錄音形入,去河邊找鬼。 笑死缝左,一個胖子當著我的面吹牛唯笙,可吹牛的內容都是我干的。 我是一名探鬼主播盒使,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼崩掘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了少办?” 一聲冷哼從身側響起苞慢,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎英妓,沒想到半個月后挽放,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蔓纠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年辑畦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腿倚。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡纯出,死狀恐怖,靈堂內的尸體忽然破棺而出敷燎,到底是詐尸還是另有隱情暂筝,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布硬贯,位于F島的核電站焕襟,受9級特大地震影響,放射性物質發(fā)生泄漏饭豹。R本人自食惡果不足惜鸵赖,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拄衰。 院中可真熱鬧它褪,春花似錦、人聲如沸肾砂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镐确。三九已至包吝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間源葫,已是汗流浹背诗越。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留息堂,地道東北人嚷狞。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像荣堰,于是被迫代替她去往敵國和親床未。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內容