MySQL教程數(shù)據(jù)定義語(yǔ)言DDL示例詳解
如果你是剛剛學(xué)習(xí)MySQL的小白,在你看這篇文章之前,請(qǐng)先看看下面這些文章。有些知識(shí)你可能掌握起來(lái)有點(diǎn)困難,但請(qǐng)相信我,按照我提供的這個(gè)學(xué)習(xí)流程,反復(fù)去看,肯定可以看明白的,這樣就不至于到了最后某些知識(shí)不懂卻不知道從哪里下手去查。
《MySQL詳細(xì)安裝教程》
《MySQL完整卸載教程》
《這點(diǎn)基礎(chǔ)都不懂,怎么入門MySQL?》
《charset=utf8的原理,你真的弄明白了嗎?》
《MySQL數(shù)據(jù)類型詳解》
1.SQL語(yǔ)言的基本功能介紹
SQL是一種結(jié)構(gòu)化查詢語(yǔ)言,主要有如下幾個(gè)功能:
數(shù)據(jù)定義語(yǔ)言:全稱是Data Definition Language,簡(jiǎn)稱是DDL;數(shù)據(jù)操縱語(yǔ)言:全稱是Data Manipulation Language,建成時(shí)DML;數(shù)據(jù)控制語(yǔ)言:全稱是Data Control Language,建成時(shí)DCL
;
其中最重要的是數(shù)據(jù)操縱語(yǔ)言(DML)
,里面包含了我們常用的功能(增、刪、改、查)。對(duì)于數(shù)據(jù)定義語(yǔ)言(DDL)
和數(shù)據(jù)控制語(yǔ)言(DCL)
,作為一名數(shù)據(jù)分析師,我們只需要了解,知道怎么用就行了。今天就從DDL語(yǔ)言開(kāi)始,帶著大家學(xué)習(xí)。
2.數(shù)據(jù)定義語(yǔ)言的用途
主要是對(duì)數(shù)據(jù)庫(kù)對(duì)象(數(shù)據(jù)庫(kù)、表、視圖、索引)的操作。
DDL
常用命名如下:
創(chuàng)建 | 修改 | 銷毀 |
---|---|---|
create | alter | drop |
3.數(shù)據(jù)庫(kù)的創(chuàng)建和銷毀
-- 創(chuàng)建數(shù)據(jù)庫(kù):創(chuàng)建student數(shù)據(jù)庫(kù) create database if not exists student; -- 銷毀數(shù)據(jù)庫(kù)(少用) drop database if exists student; -- 創(chuàng)建數(shù)據(jù)庫(kù)后,當(dāng)進(jìn)行對(duì)表的操作之前,必須要先使用數(shù)據(jù)庫(kù)。 use student;
4.數(shù)據(jù)庫(kù)表的操作(所有演示都以student表為例)
1)創(chuàng)建表
1)創(chuàng)建表:創(chuàng)建student表 -- 創(chuàng)建表結(jié)構(gòu)時(shí)需要描述的字段信息 create table student( sid int, sname varchar(20), age int )charset=utf8; 2)"完整的建表語(yǔ)句"應(yīng)該這樣寫(xiě) create table student( sid int, sname varchar(20), age int )engine=InnoDB default charset=utf8; 注:由于默認(rèn)使用的engine就是InnoDB,這個(gè)見(jiàn)表時(shí)候可以不寫(xiě)。因?yàn)閷?duì)于學(xué)習(xí)的你,使用這個(gè) 默認(rèn)引擎就夠了。但是charset=utf8這個(gè)最好是加上,尤其是在CMD黑窗口中輸入中文的時(shí)候, 不寫(xiě)這一句,會(huì)出現(xiàn)類似如下錯(cuò)誤: ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5' for column 'sname' at row 1
查看完整建表的SQL語(yǔ)句如下:
2)修改表
① 修改表名
-- 將表名student改為stu。 rename table student to stu; -- 修改數(shù)據(jù)庫(kù)名。 rename database 舊名 to 新名;
② 修改表結(jié)構(gòu) 修改表結(jié)構(gòu)中包含給表添加某個(gè)新字段,修改表中某個(gè)字段,刪除表中某個(gè)字段;
Ⅰ 給表添加某個(gè)新字段
"添加字段:給student表,添加一個(gè)新的字段。" 1)默認(rèn)是追加,即在最后一列添加新的字段。 alter table student add sex varchar(20); 2)在首位添加新的字段,使用first關(guān)鍵字。 alter table student add classid int first; 3)在指定位置添加新的字段,使用after關(guān)鍵字(在指定字段后面添加新字段)。 alter table student add birthday date after age; "查看表結(jié)構(gòu):可以幫助我們了解表的結(jié)構(gòu)信息" desc student;
Ⅱ 修改表中某個(gè)字段
1)"修改字段名稱":change -- 修改字段age的名稱,為sage。 -- modify不能直接修改字段名稱,其余能用change的地方,就可以用modify。 alter table student change age sage int; 2)"修改字段類型":既可以使用change,還可以使用modify。 "還可以修改varchar(m)中這個(gè)m的長(zhǎng)度"。 -- 修改sname字段的數(shù)據(jù)類型由varchar(20)為varchar(50)。 -- 可以使用如下兩種方式: alter table student change sname sname varchar(50); alter table student modify sname varchar(50); 3)"修改字段位置":可以配合使用first、after關(guān)鍵字。 -- 將sname字段,放置到age后面??梢允褂萌缦聝煞N方式: alter table student change sname sname varchar(50) after age; alter table student modify sname varchar(50) after age;
Ⅲ 刪除表中某個(gè)字段
-- 刪除classid這個(gè)字段 alter table student drop classid;
③ 清空表:清空表中所有數(shù)據(jù)。
truncate只刪除數(shù)據(jù)但是不刪除表結(jié)構(gòu);
注意truncate與delete的區(qū)別,都用于刪除表中數(shù)據(jù),區(qū)別在哪里呢?可以自行查看。
truncate table stu;
3)銷毀表
drop table stu;
以上就是MySQL教程數(shù)據(jù)定義語(yǔ)言DDL示例詳解的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)據(jù)定義語(yǔ)言DDL的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL8.0 DDL原子性特性及實(shí)現(xiàn)原理
這篇文章主要介紹了MySQL8.0 DDL原子性特性及實(shí)現(xiàn)原理,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07MySQL實(shí)現(xiàn)數(shù)據(jù)插入操作的示例詳解
使用MySQL插入數(shù)據(jù)時(shí),可以根據(jù)需求場(chǎng)景選擇合適的插入語(yǔ)句。本文通過(guò)給出每個(gè)使用場(chǎng)景下的實(shí)例來(lái)說(shuō)明數(shù)據(jù)插入的實(shí)現(xiàn)過(guò)程和方法,希望對(duì)大家有所幫助2023-02-02MySQL模糊查詢用法大全(正則、通配符、內(nèi)置函數(shù))
這篇文章主要介紹了MySQL模糊查詢用法大全(正則、通配符、內(nèi)置函數(shù)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12mysql序號(hào)rownum行號(hào)實(shí)現(xiàn)方式
這篇文章主要介紹了mysql序號(hào)rownum行號(hào)實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12MySQL 權(quán)限表db、tables_priv、columns_priv和procs_priv的具體使用
MySQL中有多個(gè)權(quán)限相關(guān)的表,本文主要介紹了MySQL 權(quán)限表db、tables_priv、columns_priv和procs_priv的具體使用,感興趣的可以了解一下2023-11-11windows server 2008 64位MySQL5.6免安裝版本配置方法圖解
這篇文章主要介紹了windows server 2008 64位MySQL5.6免安裝版本配置方法圖解,需要的朋友可以參考下2017-08-08