日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql ddl dcl_MySQL常用DDL、DML、DCL语言整理(附样例)

發布時間:2025/3/20 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql ddl dcl_MySQL常用DDL、DML、DCL语言整理(附样例) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在介紹這些SQL語言之前,先羅列一下mysql的常用數據類型和數據類型修飾,供查詢參考

后面的帶數字表示此類型的字段長度

數值型:

TINYINT 1 ,SMALLINT 2,MEDIUMINT 3 ,INT 4,BIGINT 8,DECIMAL,FLOAT 4,DOUBLE 8,BIT

字符串型

CHAR,VARCHAR,BINARY,VBINARY,TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOG,TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT,EMUM,SET

日期時間型

date,time,datetime,timestamp

數據限定修飾:

NOT NULL,NULL,DEFAULT,AUTO_INCREMENT,UNSIGNED,PRIMARY KEY,UNIQUE KEY,FOREIGN KEY

CHARACTER SET?#ps:SHOW CHARACTER SET 顯示當前數據庫所支持的所有字符集

COLLATION?#ps:SHOW COLLATION 顯示所支持的所有排序規則

以下是SQL的每種DDL,DCL,DML語言

DDL

----Data Definition Language 數據庫定義語言

如 create procedure之類

創建數據庫

CREATE DATABASE [IF NOT EXISTS] DBNAME [CHARACTER SET 'CHAR_NAME'] [COLLATE 'COLL_NAME']

修改:ALTER 刪除:DROP

創建一張新表

CRTATE TABLE [IF NOT EXISTS] TBNAME(col_name col_definition,...)

EXAMPLE:

也可以這樣寫(區別在于單獨定義主鍵,唯一鍵和索引):

查詢出一張表的數據后創建新表(字段定義會丟失,數據會保留)

CREATE TABLE TBNAME SELECT...

EXAMPLE:

以一張表的格式定義,創建一張新的空表

CREATE TABLE TBNAME1 LIKE TBNAME2

修改表:

ALTER TABLE tb_name

MODIFY #修改字段定義

CHANGE #可以修改字段名和字段定義

ADD

DROP

EXAMPLE:

給表添加字段

添加惟一鍵

修改字段:

修改course字段為Course字段,并放在Name字段之后(修改字段需要帶上新的字段的定義)ps:MODIFY只能修改字段定義

重命名表名

添加一個外鍵約束

創建索引

CREATE INDEX index_name ON TABLE (col_name[(length)] [ASC|DESC]) [USING {BTREE|HASH}];

刪除索引

DROP INDEX index_name ON TBNAME;

查看表狀態:SHOW STATUS LIKE 'TBNAME';

查看表的索引:SHOW INDEXES FROM TBNAME;

DML

----Data Manipulation Language 數據操縱語言

如insert,delete,update,select(插入、刪除、修改、檢索)

插入修改數據

#如果每個字段都有值,不需要寫字段名稱,每組值用,隔開

mysql>INSERT INTO tb_name (col1,col2) VALUES ('STRING',NUM),('STRING',NUM);

mysql>INSERT INTO tb_name SET ?col1='string',col2='string';

mysql>INSERT INTO tb_name (col1,col2,col3) SELECT...;

EXAMPLE:

更新數據

替換數據:

和UPDATE使用方式一樣,只要將UPDATE換成REPLACE即可

刪除數據

mysql>DELETE FROM tb_name WHERE conditions;

清空表:將會重置計數器

mysql>TRUNCATE tb_name

查詢數據

單表查詢:

mysql>SELECT [DISTINCT] column FROM tb_name WHERE CONDITION;

EXAMPLE:

#基本投影查詢

#重復的結果只顯示一次

#組合條件,可以使用AND,OR,NOT,XOR組合多個條件

#使用BETWEEN...AND...篩選出年齡介于20-25之間的數據

#查詢Name以Y開頭的的數據,%表示任意長度的任意字符,_表示任意單個字符

#使用正則表達式匹配查詢,關鍵詞為RLINK或者REGEXP

#使用IN關鍵詞,將條件限定在一個列表中。用IS關鍵詞,表示條件是否為空(IS NULL 或者 IS NOT NULL)

#將查詢的結果進行排序

#查詢結果別名顯示

#LIMIT限定查詢結果的條數,LIMIT 2,3表示偏移2條數據后,取3條數據

#求平均數:AVG(),最大值:MAX() 最小值MIN() 數量:COUNT() 求和:SUM()

#分組GROUP BY

#別名:AS

#過濾:HAVING

多表查詢:

#指定已哪個字段連接2張表

#連接時指定別名

#左外連接...LEFT JOIN...ON...

#右外連接...RIGHT JOIN...ON...

子查詢

#查詢年齡大于平均年齡的數據

#在FROM中使用子查詢

#聯合查詢

創建視圖

CREATE VIEW VIEW_NAME AS SELECT....

DCL

----Data Control Language 數據庫控制語言

如grant,deny,revoke等,只有管理員才有這樣的權限。

創建用戶

mysql>CREATE USER 'USERNAME'@'HOST' IDENTIFIED BY 'PASSWORD'

刪除用戶

mysql>DROP USER 'USERNAME'@'HOSHOST支持通配符

_:任意單個字符

%:任意多個字符

授權

mysql>GRANT pri1,pri2...ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD']

取消授權

mysql>REVOKE pri1,pri2...ON DB_NAME.TB_NAME FROM 'USERNAME'@'HOST';

查看授權

mysql>SHOW GRANTS FOR 'USERNAME'@'HOST';

EXAMPLE:

本文轉自lustlost 51CTO博客,原文鏈接:http://blog.51cto.com/lustlost/1224775,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的mysql ddl dcl_MySQL常用DDL、DML、DCL语言整理(附样例)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。