mysql之DDL操作--数据库
SQL是操作關(guān)系數(shù)據(jù)庫(kù)非常重要的一門編程語(yǔ)言
structure query language既然是語(yǔ)言自然可以編程,SQL的分類可依據(jù)操作對(duì)象的不同分為DDL,DML,DCL。
我們操作數(shù)據(jù)庫(kù)如創(chuàng)建,添加,更新,刪除操作,如操作表等都是屬于定義范圍。
所以DDL則是SQL定義語(yǔ)言。
我們要用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù),自然是先有庫(kù),再有表,然后再數(shù)據(jù),所以我們要先定義庫(kù),定義表。
1、創(chuàng)建數(shù)據(jù)庫(kù)
create database db_name [數(shù)據(jù)庫(kù)選項(xiàng)] 一般情況下選項(xiàng)可以不填寫
如我們創(chuàng)建一個(gè)學(xué)生庫(kù):
create database student;
PS:創(chuàng)建數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)名的命令規(guī)則要遵循如下規(guī)則:
A、命令應(yīng)該遵循標(biāo)識(shí)符的規(guī)則 即字母,數(shù)字,下劃線組成
B、數(shù)據(jù)庫(kù)名不得使用系統(tǒng)內(nèi)置的關(guān)鍵字或是特殊符號(hào)
C、如果使用特殊符號(hào)或是中文符號(hào)時(shí)要加上反引號(hào)‘`’。
如創(chuàng)建一個(gè)中文的數(shù)據(jù)庫(kù):
create database `學(xué)生庫(kù)`;
那么我們創(chuàng)建數(shù)據(jù)庫(kù)時(shí),會(huì)自動(dòng)在data目錄下生成一個(gè)目錄且以數(shù)據(jù)庫(kù)名命名的目錄同時(shí)還有一個(gè).opt的文件,該文件是數(shù)據(jù)庫(kù)的選項(xiàng)文件,存儲(chǔ)的是數(shù)據(jù)庫(kù)的選項(xiàng)信息。如果我們?cè)趧?chuàng)建數(shù)據(jù)庫(kù)時(shí)沒(méi)有寫上庫(kù)的選項(xiàng)就是默認(rèn)的選項(xiàng)。
我們注意到,如果說(shuō)我們創(chuàng)建數(shù)據(jù)庫(kù)時(shí)使用的是特殊符號(hào),那么在創(chuàng)建目錄時(shí)則是使用其它編碼的字符并非亂碼,我們查看數(shù)據(jù)庫(kù)結(jié)果如下:
所以請(qǐng)大家不要誤認(rèn)為這是亂碼,這是一種錯(cuò)誤的認(rèn)識(shí)哦。當(dāng)然們建議創(chuàng)建數(shù)據(jù)庫(kù)盡量遵循標(biāo)識(shí)符的規(guī)則來(lái)命名比較好。
我們?cè)诙x數(shù)據(jù)庫(kù)時(shí)沒(méi)有指定相應(yīng)的庫(kù)選項(xiàng),其實(shí)是庫(kù)的字符編碼以及字符的校對(duì)規(guī)則,接下來(lái)我們使用一下怎么定義他:
create database `teacher` character set utf8;
我們打開數(shù)據(jù)庫(kù)的選項(xiàng)文件顯示如下:
接下來(lái)我們查看數(shù)據(jù)庫(kù)服務(wù)器里有哪些數(shù)據(jù)庫(kù)
查詢指令:show databases;
查看數(shù)據(jù)庫(kù)的創(chuàng)建信息:show create database db_name;
這兩個(gè)查詢指令非常簡(jiǎn)單,show databases是查詢有哪些數(shù)據(jù)庫(kù),而show create database db_name則是查看數(shù)據(jù)庫(kù)的創(chuàng)建信息。
數(shù)據(jù)庫(kù)創(chuàng)建好了,我們有時(shí)候不想要了那么就會(huì)刪除數(shù)據(jù)庫(kù)
刪除指令:drop database db_name
或是:drop database if exists db_name
第二條指令則是刪除時(shí)檢測(cè)庫(kù)是否存在,如存在則刪除,不存在刪除時(shí)也不會(huì)報(bào)錯(cuò)。
修改數(shù)據(jù)庫(kù):
可以修改庫(kù)的庫(kù)選項(xiàng)如字符編碼
alter database db_name character set gbk;
那么數(shù)據(jù)庫(kù)名怎么修改呢?在早期的數(shù)據(jù)庫(kù)版本是支持rename重命令這個(gè)指令的,但現(xiàn)在的版本沒(méi)有支持了,如果說(shuō)我們要更新數(shù)據(jù)庫(kù)名的話有以下兩個(gè)方案解決:
1、一是直接更新data目錄下的數(shù)據(jù)庫(kù)目錄名稱
2、創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),然后將當(dāng)前庫(kù)的表復(fù)制到新庫(kù)里,再將其刪除。就完成了數(shù)據(jù)名的更新操作了。
以上是數(shù)據(jù)庫(kù)的創(chuàng)建,刪除,查看,更新的操作。
補(bǔ)充一點(diǎn)我們的數(shù)據(jù)庫(kù)服務(wù)器里如果有許多數(shù)據(jù)庫(kù)時(shí),再檢索時(shí)也可以這樣做:
show databases like '%xx' 其中%相當(dāng)于任意字符,以XX結(jié)尾的字符串名
關(guān)于數(shù)據(jù)表的操作及后面的知識(shí)點(diǎn)會(huì)依據(jù)時(shí)間情況來(lái)寫。歡迎各路朋友指教。
轉(zhuǎn)載于:https://blog.51cto.com/lestudy/1837446
總結(jié)
以上是生活随笔為你收集整理的mysql之DDL操作--数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SSH框架中 Spring设置定时器 Q
- 下一篇: Mysql导入zabbix的sql语句时