首頁技術(shù)文章正文

JAVA培訓(xùn)之DDL之操作數(shù)據(jù)庫(kù)

更新時(shí)間:2017-04-13 來源:傳智播客Java培訓(xùn)學(xué)院 瀏覽量:

我們知道DDL是數(shù)據(jù)庫(kù)定義語言,用來定義數(shù)據(jù)庫(kù)對(duì)象:數(shù)據(jù)庫(kù)、表、列等。今天我們要學(xué)習(xí)的就是使用DDL操作數(shù)據(jù)庫(kù)。

1.查看所有數(shù)據(jù)庫(kù)

查看所有數(shù)據(jù)庫(kù)的命令是:show databases;我們?cè)诎惭bmysql數(shù)據(jù)庫(kù)服務(wù)器的時(shí)候已經(jīng)設(shè)置其為自動(dòng)啟動(dòng),現(xiàn)在我們?cè)赿os命令窗口下訪問數(shù)據(jù)庫(kù),并使用如上所示命令查看所有數(shù)據(jù)庫(kù),如圖1-1所示:

圖1-1 查看所有數(shù)據(jù)庫(kù)

圖1-1中,除了user數(shù)據(jù)庫(kù),其他數(shù)據(jù)庫(kù)都是mysql數(shù)據(jù)庫(kù)服務(wù)器自帶的數(shù)據(jù)庫(kù),都不能輕易刪除否則就要重新安裝。
需要注意的是查看所有數(shù)據(jù)庫(kù)的命令是:show databases而不是show database,如果命令寫錯(cuò)了,會(huì)出現(xiàn)圖1-2所示結(jié)果:

圖1-2 錯(cuò)誤命令

圖1-2中,出現(xiàn)了錯(cuò)誤,“ERROR 1064”,以后大家看到這個(gè)錯(cuò)誤代碼就應(yīng)該知道這是語法錯(cuò)誤,需要檢查寫的SQL語句語法是否有問題。

2.切換數(shù)據(jù)庫(kù)

所謂的切換數(shù)據(jù)庫(kù)是指選擇要操作的數(shù)據(jù)庫(kù),在以后的練習(xí)中我們可能會(huì)創(chuàng)建很多數(shù)據(jù)庫(kù),然后來回操作各個(gè)數(shù)據(jù)庫(kù),這時(shí)就需要使用切換數(shù)據(jù)庫(kù)的命令:use 數(shù)據(jù)庫(kù)名。如圖1-3所示:

圖1-3 切換數(shù)據(jù)庫(kù)
如圖1-3所示,這時(shí)就可以對(duì)user數(shù)據(jù)庫(kù)中的表進(jìn)行操作了,而不能對(duì)其他數(shù)據(jù)庫(kù)的表進(jìn)行操作,如果想操作其他數(shù)據(jù)庫(kù),需要使用命令“use 其他數(shù)據(jù)庫(kù)名”。

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

創(chuàng)建數(shù)據(jù)庫(kù)的語句:create database [if not exists] 數(shù)據(jù)庫(kù)名 [charset=utf8]。其中[]表示里面的代碼可有可無,例如:create database if not exists mydb1?,F(xiàn)在我們來創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),名為mydb1,如圖1-4所示:

圖1-4 創(chuàng)建數(shù)據(jù)庫(kù)

創(chuàng)建數(shù)據(jù)庫(kù)后再查看所有數(shù)據(jù)庫(kù),檢驗(yàn)數(shù)據(jù)庫(kù)是否創(chuàng)建成功,如圖1-5所示:

圖1-5 查看所有數(shù)據(jù)庫(kù)

如果再次創(chuàng)建一個(gè)mydb1的數(shù)據(jù)庫(kù),會(huì)有什么效果,如圖1-6所示:

圖1-6 再次創(chuàng)建數(shù)據(jù)庫(kù)

圖1-6中出現(xiàn)錯(cuò)誤,錯(cuò)誤信息為“database exists“表示數(shù)據(jù)已經(jīng)存在,使用:create database if not exists mydb1語句創(chuàng)建數(shù)據(jù)庫(kù),如圖1-7所示:

圖1-7 創(chuàng)建數(shù)據(jù)庫(kù)

圖1-7中,操作成功,但是并沒有創(chuàng)建新的mydb1數(shù)據(jù)庫(kù),以上語句的作用就是如果不存在就創(chuàng)建,如果存在就不創(chuàng)建。而“charset=utf8”我們一般不會(huì)使用,因?yàn)樵诎惭bmysql數(shù)據(jù)庫(kù)服務(wù)器時(shí)我們已經(jīng)指定了編碼為utf8,那么所有數(shù)據(jù)庫(kù)的默認(rèn)編碼就是utf8,因此不用再進(jìn)行設(shè)置。

4.刪除數(shù)據(jù)庫(kù)

刪除數(shù)據(jù)庫(kù)的語句是:drop database [if exists] 數(shù)據(jù)庫(kù)名,如圖1-8所示:

圖1-8 刪除數(shù)據(jù)庫(kù)

圖1-8中,刪除數(shù)據(jù)庫(kù)成功,如果再次刪除mydb1數(shù)據(jù)庫(kù)會(huì)有什么效果,如圖1-9所示:

圖1-9 再次刪除數(shù)據(jù)庫(kù)

因?yàn)閙ydb1已經(jīng)被刪除了,再次刪除就會(huì)出現(xiàn)問題,因此我們刪除一個(gè)數(shù)據(jù)庫(kù)的時(shí)候,首先要判斷這個(gè)表是否存在,如果不存在就不刪除,存在了就刪除:drop database if exists 數(shù)據(jù)庫(kù)名。

5.修改數(shù)據(jù)庫(kù)編碼

我們很少去修改數(shù)據(jù)庫(kù)編碼,這里大家了解一下即可,其語句是:ALTER DATABASE mydb1 CHARACTER SET 編碼,如:utf8。

使用左外連接查詢,左表是e1,因此e1表中的所有員工姓名都被查詢出來,e2表中不滿足條件的位置用null代替。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://www.itcast.cn/javaee

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!