SQL语言介绍及分类

1.SQL语言概要

SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。


 
  

1.1SQL语言用途

SQL(Structured Query Language)代表结构化查询语言。
	它用于在关系数据库管理系统(RDMS)中存储和管理数据。
	它是关系数据库系统的标准语言。它使用户可以创建,读取,更新和删除关系数据库和表。
	所有RDBMS(例如MySQL,Informix,Oracle,MS Access和SQL Server)均使用SQL作为其标准数据库语言。
	SQL允许用户使用类似英语的语句以多种方式查询数据库。 


 
  

1.2SQL语言规则

SQL遵循以下规则:
	结构查询语言不区分大小写。通常,SQL的关键字以大写形式编写。
	SQL语句取决于文本行。我们可以在一个或多个文本行上使用单个SQL语句。
	使用SQL语句,您可以执行数据库中的大多数操作。	
	SQL依赖于元组关系演算和关系代数。 

 
  

1.3SQL执行过程

SQL过程:
	当针对任何RDBMS执行SQL命令时,系统会找出执行请求的最佳方法,然后SQL引擎将确定如何解释任务。
	在此过程中,将包括各种组件。这些组件可以是优化引擎,查询引擎,查询调度程序,经典组件等。
	所有非SQL查询均由经典查询引擎处理,但SQL查询引擎不会处理逻辑文件。


 
  

在这里插入图片描述

2.SQL语言分类

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL
 
  

2.1 DDL

DDL(data definition language):数据定义语言
DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
常用的语句关键字包括:
(1CREATE2ALTER3DROP 


 
  

2.2 DCL

DCL(Data Control Language):数据控制语言
用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等 。
常用的语句关键字包括:
(1COMMIT 提交 
(2SAVEPOINT  保存点 
(3ROLLBACK    回滚 
(4SET TRANSACTION   设置当前事务的特性,它对后面的事务没有影响
 


 
  

2.3 DML

DML(data manipulation language):数据库操纵语言

用于添加、删除、更新和查询数据库记录,并检查数据完整性。SQL中处理数据等操作统称为数据操纵语言 。

常用的语句关键字包括:
(1SELECT2UPDATE3INSERT4DELETE
 DQL数据查询语言

主要对表进行查询操作。查询操作只是将需要的数据从原始表中筛选出来,对原始表数据没有任何影响
关键字:select
单表查询
1、查询tb_student表所有的数据
select  *  from  表名;
2、查询某列数据
select  列名1,列名2,......  from 表名;
3、查询的同时起别名
select  列名  as  别名,列名  as  别名...  from  表名;as可以省略)
4、按照指定要求查询
select  *  from  表名  where  列=;			-----等于
select  *  from  表名  where  列!=;			-----不等于
select  *  from  表名  where  列<>;			-----不等于
select  *  from  表名  where  列=值  and  列=;		-----并集
select  *  from  表名  where  列=&&=;		-----并集
select  *  from  表名  where  列=值  or  列=;-		----交集
select  *  from  表名  where  列=||=;		-----交集
select  *  from  表名  where  列>=值  and  列<=;		-----小于等于
select  *  from  表名  where  列  is  null;			-----值为空
select  *  from  表名  where  列  is  not  null;			-----值不为空
select  *  from  表名  where  列  between 值1 and 值2;	---两者值之间
select  *  from  表名  where  列  in(1,2,3,...);		---指定几个值
5、模糊查询
模糊查询关键字like  
通配符:
%:任意个字符
_:单个字符
语法:select  *  from  tb_student  where  列  like  ‘要求’;
6、limit关键字
select  *  from  表名  limit  数值;				---指定前几行的数据
7、分页查询:limit
select  *  from  表名  limit  数值1,数值2
数值1:从第几条开始拿数据(数据的索引)
数值2:拿几条数据
提供的信息:页码page,每页显示条数:count
数值1的变化规律:(page-1*count
8、排序
order  by  要排序的列  asc(升序)/desc(降序)/不写(默认升序)
语法:select  *  from  表名  order  by  列  顺序;
9、去重
关键字;ditinct
语法:select distinct 列名 from 表名; 


 
  
### SQL语言的主要分类 SQL(Structured Query Language)作为一种标准化语言,在管理关系型数据库系统方面发挥着重要作用[^1]。按照不同的功能和应用场景,SQL主要划分为四类子语言: #### 数据查询语言 (DQL) 数据查询语言主要用于从数据库中检索数据。这类语言的核心命令是`SELECT`语句,通过它可以执行复杂的查询操作,获取所需的信息。 ```sql -- 查询所有员工的名字和职位 SELECT name, position FROM employees; ``` #### 数据操纵语言 (DML) 数据操纵语言涉及对数据库内已有数据的操作,包括插入新记录、更新现有记录以及删除不需要的记录等动作。常见的关键字有`INSERT INTO`, `UPDATE`, 和 `DELETE`[^4]。 ```sql -- 插入一条新的员工记录 INSERT INTO employees (name, age, department) VALUES ('Alice', 30, 'HR'); -- 更新某位员工的信息 UPDATE employees SET age = 31 WHERE name = 'Alice'; -- 删除特定条件下的记录 DELETE FROM employees WHERE id = 1001; ``` #### 数据定义语言 (DDL) 数据定义语言专注于创建或修改数据库结构本身,比如建立新的表格或者改变已有的表结构。常用的指令涵盖了`CREATE TABLE`, `ALTER TABLE`, 及 `DROP TABLE`等[^3]。 ```sql -- 创建一个新的部门表 CREATE TABLE departments ( dept_id INT PRIMARY KEY, dept_name VARCHAR(50), location VARCHAR(100) ); -- 修改某个字段的数据类型 ALTER TABLE employees MODIFY COLUMN age SMALLINT; -- 移除不再使用的表 DROP TABLE old_table; ``` #### 数据控制语言 (DCL) 最后,数据控制语言用来设定权限给用户访问某些资源的能力,确保只有授权人员才能查看敏感信息。典型的功能实现依赖于`GRANT` 和 `REVOKE` 命令。 ```sql -- 授予用户读取权限 GRANT SELECT ON employees TO user1; -- 撤销用户的写入权限 REVOKE INSERT ON employees FROM user1; ``` 每种类型的SQL都有其独特的作用范围和服务目标,共同构成了完整的SQL体系,使得开发者能够高效地管理和利用数据资源[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南柯一梦,笑谈浮生

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值