前文索引:CentOS7 下安裝 Mysql8
說明:在軟件開發(fā)領(lǐng)域,對(duì)數(shù)據(jù)的操作是必不可少的一個(gè)環(huán)節(jié)棕洋,而對(duì)數(shù)據(jù)的存儲(chǔ)就少不了數(shù)據(jù)庫(kù)的使用彰阴,現(xiàn)階段數(shù)據(jù)庫(kù)可以分為兩大類關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)和非關(guān)系型數(shù)據(jù)庫(kù)(NoSql),接下來(lái)的系列將依Mysql為例,講解關(guān)系型數(shù)據(jù)庫(kù)的基本操作拍冠。
Mysql提供了幾條數(shù)據(jù)庫(kù)級(jí)別的語(yǔ)句:
? ? 1尿这、USE : 用于選定一個(gè)默認(rèn)數(shù)據(jù)庫(kù)
? ? 2、CREATE DATABSE : 用于創(chuàng)建數(shù)據(jù)庫(kù)
? ? 3庆杜、ALTER DATABSE : 用于更改數(shù)據(jù)庫(kù)的全局信息
? ? 4射众、DROP DATABSE : 用于刪除數(shù)據(jù)庫(kù)
一、USE選擇數(shù)據(jù)庫(kù):
? ? 使用USE語(yǔ)句可以選擇數(shù)據(jù)庫(kù)晃财,并把它指定為Mysql服務(wù)器連接的默認(rèn)(當(dāng)前)數(shù)據(jù)庫(kù)叨橱;
? ? ????語(yǔ)法:USE db_name;
? ? 注意:
? ? ? ? 1、要選擇數(shù)據(jù)庫(kù)的前提條件是断盛,你必須具備相應(yīng)的訪問權(quán)限罗洗,否則,會(huì)出現(xiàn)錯(cuò)誤提示钢猛。
? ? ? ? 2伙菜、選擇數(shù)據(jù)庫(kù)的操作并不一定是必須的,在沒有選擇數(shù)據(jù)庫(kù)的情況下命迈,只要用數(shù)據(jù)庫(kù)名來(lái)限定表名贩绕,就可以應(yīng)用數(shù)據(jù)庫(kù)中的表,如:
? ? ? ? ? ? SELECT * FROM sampdb.user;
? ? ? ? 3壶愤、選擇一個(gè)數(shù)據(jù)庫(kù)并不意味著它就是此次會(huì)話期間的默認(rèn)數(shù)據(jù)庫(kù)淑倾,我們可以隨時(shí)調(diào)用USE語(yǔ)句切換數(shù)據(jù)庫(kù)。
二征椒、CREATE DATABSE創(chuàng)建數(shù)據(jù)庫(kù):
? ? 使用CREATE DATABSE可以新建我們的數(shù)據(jù)庫(kù)娇哆;
? ? ????語(yǔ)法:CREATE DATABSE db_name;
? ? ? ? 完整語(yǔ)法:CREATE DATABSE [IF NOT EXISTS] db_name [CHARACTER SET charset] [COLLATE collation];
? ? 注意:
? ? ? ? 1、創(chuàng)建數(shù)據(jù)庫(kù)的先決條件是勃救,必須擁有CHARTE權(quán)限碍讨,這個(gè)數(shù)據(jù)庫(kù)是不存在的
? ? ? ? 2、在默認(rèn)條件下剪芥,我們創(chuàng)建一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)垄开,系統(tǒng)會(huì)報(bào)錯(cuò),但我們可以通過擴(kuò)充子句來(lái)規(guī)避這種錯(cuò)誤税肪,如:
? ??????????CREATE DATABSE?IF NOT EXISTS db_name;
? ? ? ? 3溉躲、默認(rèn)情況下,服務(wù)器的字符集和排序規(guī)則將成為新建數(shù)據(jù)庫(kù)的默認(rèn)字符集和排序規(guī)則益兄,但我們可以通過擴(kuò)充子句?CHARACTER SET 和?COLLATE 來(lái)自定義锻梳,如:
? ???????????CREATE DATABSE??db_name?CHARACTER SET utf8?COLLATE??utf8_lcelandic_ci;
? ? ? ? 4、如果只設(shè)定CHARACTER SET 净捅,而沒有設(shè)定COLLATE疑枯,則意味使用這個(gè)給定字符集的默認(rèn)排序規(guī)則。如果只設(shè)定COLLATE蛔六,而沒有設(shè)定CHARACTER SET荆永,則意味著使用排序規(guī)則名字開頭部分來(lái)確定字符集
? ? ? ? 5废亭、所有前面提到的字符集必須是當(dāng)前服務(wù)器所支持的
三、ALTER DATABSE修改數(shù)據(jù)庫(kù)
? ? 當(dāng)我們需要修改數(shù)據(jù)庫(kù)全局屬性時(shí)具钥,可以通過ALTER DATABSE語(yǔ)句改變
? ? ????語(yǔ)法:ALTER DATABSE [db_name] [CHARACTER SET charset] [COLLATE collation];
? ? 注意:
? ? ? ? 1豆村、當(dāng)前登陸用戶必須擁有ALTER權(quán)限
? ? ? ? 2、如果省略db_name名字骂删,那么ALTER DATABSE 會(huì)使用默認(rèn)數(shù)據(jù)庫(kù)(即:USE 選擇數(shù)據(jù)庫(kù))
四掌动、DROP?DATABSE刪除數(shù)據(jù)庫(kù):
? ? 當(dāng)我們想要?jiǎng)h除掉數(shù)據(jù)庫(kù)時(shí),可以通過DROP?DATABSE語(yǔ)句操作
? ? ? ? 語(yǔ)法:DROP?DATABSE db_name;
? ? 注意:
? ? ? ? 1宁玫、當(dāng)前登陸用戶必須擁有DROP權(quán)限
? ? ? ? 2粗恢、千萬(wàn)不要隨便執(zhí)行DROP?DATABSE語(yǔ)句,它會(huì)刪除掉數(shù)據(jù)庫(kù)和啟動(dòng)所有內(nèi)容(表欧瘪、存儲(chǔ)過程等)
? ? ? ? 3眷射、一個(gè)數(shù)據(jù)庫(kù)就是Mysql數(shù)據(jù)目錄里的一個(gè)目錄,這個(gè)目錄主要用于存儲(chǔ)對(duì)象恋追、如表凭迹、視圖、觸發(fā)器等苦囱。如果執(zhí)行DROP?DATABSE失敗嗅绸,通常是因?yàn)槟莻€(gè)數(shù)據(jù)庫(kù)目錄中包含了一些與數(shù)據(jù)庫(kù)對(duì)象無(wú)關(guān)的文件,而DROP?DATABSE不會(huì)刪除這類文件撕彤,因而也就不會(huì)刪除這個(gè)目錄鱼鸠,想要真正刪除這個(gè)數(shù)據(jù)庫(kù),此時(shí)羹铅,需要我們手動(dòng)刪除這類文件蚀狰,然后執(zhí)行DROP?DATABSE語(yǔ)句