一直以来,分不清这三者的简称代表什么,甚至在面试中遇到可能会张冠李戴。
今天特意记录一下。
一、DML(data manipulation language) 数据 *** 纵语言
就是我们经常用到的SELECT、UPDATE、INSERT、DELETE。
主要用来对数据库的数据进行的一些 *** 作。
SELECT 列名称 FROM 表名称;
UPDATE 表名称 SET 列名称='新值' WHERE 列名称='某值';
INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...);
DELETE FROM 表名称 WHERE 列名称='某值';
二、DDL
DDL(data definition language)数据定义语言
就是我们在创建表时用到的一些SQL语句。
例如:CREATE、ALTER、DROP等。
DDL主要是用在定义表
或者改变表的结构、数据类型、表之间的链接和约束等初始化 *** 作上。
CREATE TABLE 表名称
(
列名称1, 数据类型,
列名称2, 数据类型,
...
); CREATE TABLE `t2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
`age` tinyint(4) NOT NULL DEFAULT '' COMMENT '1:男性;0:女性',
PRIMARY KEY (`id`),
KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ALTER TABLE tbl_name drop age;
ALTER TABLE tbl_name ADD age tinyint NOT NULL DEFAULT '' COMMENT '1:男性;0:女性';
...
三、DCL
DCL(Data Control Language)数据控制语言
用来设置或者更改数据库用户角色权限等的语句,例如:grant、revoke语句。
create user 'test_r'@'%' IDENTIFIED BY 'test_rpwd';
GRANT SELECT ON `test_db`.* TO 'test_r'@'%' IDENTIFIED BY 'test_rpwd';
一般常用的是DML、DDL。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)