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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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