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