网站首页 > 精选文章 正文
SQL(Structure Query Language)结构化查询语言是数据库的核心语言,是ANSI标准的计算机语言,ANSI(美国国家标准化组织),SQL相当于一种标准(可理解为语法),SQL语言有许多不同的版本,不同版本用于不同的数据库,不同的数据库对应不同的数据库管理系统,如MySQl,SQL Server、Access、Oracle、Sybase、DB2等等。不同版本的SQL语言为了符合ANSI标准,在主要命令上大体一致,如:SELECT、UPDATE、DELETE、INSERT、WHERE 等等,不区分大小写,运算符的作用(但运算符的使用格式有所区别)。也有不同点,如:各自的数据类型,安全管理,性能调配,专属于各自的扩展。
使用不同的关系型数据库管理系统创建数据库时,能对比出各自关系型数据库的特征,比如:数据库文件结构(数据库在计算机中真实的存在形式是以文件形式存在)
两者关系:SQL基于关系型数据库与关系型数据库管理系统运行。
基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。
在MySQL中,SQL通常分为DDL、DML和查询,还包括一些其它语句类别。MySQL将SELECT与INSERT、UPDATE、DELETE分别划分到了查询和DML,但是也并非绝对的划分,通常会将SELECT与INSERT、UPDATE、DELETE一起划分为DML。
在SQL Server中,主要分为DDL、DML和DCL三种。DDL包括CREATE、ALTER和DROP,DML包括SELECT、INSERT、UPDATE和DELETE,DCL包括GRANT、DENY、REVOKE。
一、 DQL
DQL (Data Query Language)数据查询语言:
数据检索语句,用于从表中获取数据。通常最常用的为保留字SELECT,并且常与FROM子句、WHERE子句组成查询SQL查询语句。
语法:
SELECT `字段名称` FROM `表名称`
二、DML
DML(data manipulation language)数据操纵语言:
DML就是我们最经常用到的 UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一系列操作。
语法:
UPDATE `表名称` SET `字段名称` = ‘新值’ WHERE `字段名称` = ‘某值’
INSERT INTO `表名称` (`字段1`, `字段2`,...) VALUES (‘值1’, ‘值2’,....)
DELETE FROM `表名称` WHERE `字段名称` = ‘值’
三、DPL
DPL(Data Processing Language)事务处理语言:
事务处理语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK。
四、DDL
DDL(data definition language)数据库定义语言:
其实就是我们在创建表的时候用到的一些SQL语句,比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上使用。
语法:
CREATE TABLE `表名称`
(
`字段名称1` 数据类型,
`字段名称2` 数据类型,
`字段名称3` 数据类型,
....
)
ALTER TABLE `表名称`
ALTER COLUMN `字段名称` 数据类型
DROP TABLE `表名称`
DROP DATABASE `数据库名称`
五、DCL
DCL(Data Control Language)数据库控制语言:
是用来设置或更改数据库用户或角色权限的语句,包括(GRAND ,REVOKE等)语句。
Example1:
创建本地新用户james,并设定其密码为mypassword。
CREATE USER 'james'@'localhost' IDENTIFIED BY 'mypassword';
Example2:
授予远程用户harden访问所有数据库中的所有表的所有权限,即全局权限。
GRAND ALL ON *.* TO 'harden'@'%';
六、CCL CCL(Cursor Control Language)指针控制语言(CCL)
如DECLARE CURSOR、FETCH INTO和UPDATE WHERE CURRENT是用于对一个或多个表单独行的操作。
猜你喜欢
- 2025-01-13 如何使用数据操纵语言 DML?
- 2025-01-13 MySQL中的DML、DDL、DCL到底是什么呢?
- 2025-01-13 MySQL原理简介—8.MySQL并发事务处理二
- 2025-01-13 MySQL千万级大表优化,看这一篇就忘不掉了
- 2025-01-13 数据库版本控制中间件FlyWay部署安装及使用实例
- 2025-01-13 深入解读flink sql cdc的使用以及源码分析
- 2025-01-13 NineData:安全高效的MySQL DDL解决方案
- 2025-01-13 [MySQL] SQL语句分类 DDL语句详解
- 2025-01-13 ClickHouse学习笔记四ClickHouse基础语法
- 2025-01-13 mysql 亿级数据 在线DDL
- 05-15OSPFv2和 OSPFv3 有哪些相同点和不同点?
- 05-15为什么IPv6不支持固定IP作为地址?
- 05-15网工必备:Ping命令的十个实用技巧
- 05-15单播以及多播的书写实验
- 05-15纯净安心+支持IPv6远程使用丨NAS部署Windows激活工具教程
- 05-15笔记09:IPv6地址配置方法三——DHCPv6有状态地址自动配置
- 05-15手把手教你DHCPv6实验
- 05-15小学生钓鱼网站渗透实战
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)