sql语言是什么语言?

你好,如果我们谈论SQL语言,有5 大类,我在学习它的时候发现它很混乱。
首先,DDL,一种数据定义语言,包括Create、Alter、Drop等。
这些任务就像自己创建一个新房间、换一扇门、拆掉它并重建它。
这些操作不需要使用提交,并且会自动提交。
然后是DQL,它是一种数据查询语言,类似于Select,就像查看房间里有什么。
您无需提交此查询,您可以自行查看。

我们来谈谈DML,一种数据操作语言,包括插入、更新和删除。
嗯,这类似于移动、改变和投掷物体。
完成这些任务后,您应该使用 Commit。
这相当于告诉某人你改变了房间的内容,现在看起来像这样:
还有DTL,一种带有Commit和Rollback的事务控制语言。
这就像做了某件事并取得了成功。
使用提交让每个人都知道您的更改是有效的。
如果过程中出现问题,请使用回滚。
这相当于取消现在的动作,并告诉大家这个改变是无效的。

最后是 DCL,一种数据控制语言,包括 Grant 和 Revoke。
这就像为某人打开一扇门,收回某人的权力,授予和撤销某人的许可。
这些任务也会自动提交。

哦,当我得知这一点时,我真的很困惑。
现在想起来,这就是全部了。

sql是一种什么的语言

嘿,别跟我谈论这些理论。
让我告诉你我当时掉进的陷阱。

当时,我刚刚进入这个行业,接受了一份构建新系统的工作。
客户说他们想使用SQL,我很兴奋。
我觉得这东西听起来很高端。
结果呢?我写了很多数据库名、表名、字段名,连个空格都没有加,直接网上跑了。
好孩子,系统直接崩溃了。
经过三天的调试,果然是该死的东西不加空格。

所以当你运行SQL时,你需要注意你的名字。
后来我学会了做人好。
写代码之前,我先喝茶提提神。
虽然 SQL 看起来很简单,但这些小细节真的会杀了你。
尤其是这样的数据。
然后我把字段类型搞错了,数据导入完全乱了。
客户急坏了,我迫不及待地想找个地缝爬过去。

另外,我当时正在做一个使用 Oracle 数据库的项目。
当时我对SQL优化一无所知,但查询数百个数据点需要几分钟。
客户等不及了,直接骂我代码写得不好。
后来我意识到索引没有被正确使用。
现在我已经吸取了教训。
以后写SQL的时候,需要优先考虑索引。

所以,不要只看那些理论,只有实践了你才会知道SQL有很多陷阱。
建议你多练习,多看看别人的代码,多调试。
别像我一样,只知道理论,一开始就犯错误。

什么是SQL

SQL的正式名称是Structured Query Language,翻译成中文为“结构化查询语言”。
用于数据库查询和编程的语言。
它主要用于访问数据以及查询、更新和管理关系数据库系统。
同时,SQL也是数据库脚本文件的扩展。

SQL语言具有先进的非过程式编程功能,允许用户操作高级数据结构,而无需指定数据的存储方式并且独立于底层结构。
不同的数据库系统可以共享相同的SQL接口来进行数据录入和管理。
SQL使用记录集合作为操作对象。
所有 SQL 语句都接受集合作为输入并返回集合作为输出。
此集合功能允许您嵌套 SQL 语句,提供极大的灵活性和强大功能。

通常需要编写大量代码才能用其他语言实现的功能只需一条 SQL 语句即可完成。
这允许您使用 SQL 语言创建复杂的语句。
结构化查询语言首先由IBM St. Joseph 研究实验室为SYSTEMR 数据库管理系统开发。
它的前身是SQUARE语言。
SQL语言简洁、清晰、功能强大且易于学习。
它由IBM于1 9 8 1 年推出,此后广泛应用于各种数据库管理系统中。

美国国家标准协会 (ANSI) 和国际标准化组织 (ISO) 创建了 SQL 标准。
ANSI和ISO联合发布了SQL国际标准SQL-9 2 SQL-9 2 是 ANSISQL 标准的公共版本。
关系数据库使用的 SQL 版本存在一些差异,但大多数都遵循 ANSISQL 标准。
SQLServer 使用 T-SQL,这是 ANSISQL-9 2 的一组扩展,并遵循 ANSI 制定的 SQL-9 2 标准。

SQL语言由四部分组成:数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)。
这四个部分分别对应CREATE、DROP、ALTER等DDL语句,INSERT、UPDATE、DELETE等DML语句,SELECT等DQL语句,GRANT、REVOKE、COMMIT、ROLLBACK等DCL语句。
SQL语言集数据定义、数据操作、数据查询、数据控制于一体,是数据库管理和数据操作的强大工具。

SQL语言具有两种使用方式

说实话,当我第一次接触数据库时,我对这两种使用 SQL 的方式感到困惑。
对于独立的语言;这是我第一次参加 MySQL 课程。
老师直接打开命令行,输入SELECT FROM users。
直接感觉就像是撸起袖子和数据库做斗争。
我记得使用 SQL Server Management Studio 来转换数据。
只需单击图表即可进行更改。
比Excel更容易;这对于临时检查或调试事物非常有用。
然而,使用太多却很困难。
例如,如果你想进行一个具有逻辑推理的复杂查询。
只是在命令行中输入很容易出错。

嵌入式语言端比较有趣。
后来做Java项目的时候,我用JDBC连接MySQL,写了一个DAO层,将SQL语句包装在Java方法中。
例如,在检查用户信息时;我有 List getUsersByStatus(int status) SELECT FROM users WHERE status = ?;然后遍历参数。
这样做的好处是SQL可以与Java逻辑混合。
例如,检查数据后;返回前需要确定用户权限;或Java定义的函数来处理结果使用 我有一个使用Python+SQLAlchemy作为后端的项目。
编写 ORM 更加优雅;但是当我调用数据库的默认 SQL session.execute("SELECT id FROM Orders WHERE amount > %s;", [1 000]) 时。
这时,我怀念命令行的直接性。

这两种方法都有缺点。
独立的语言搜索数据的速度很快,但在编写复杂的逻辑时可能会造成混乱。
嵌入式语言可以集成到业务流程中,但是SQL和编程语言纠缠在一起,有时调试就像拆手表一样。
虽然我记得有一次用ADO.NET在C中运行SQL。
我忘记加引号了,直接报错了。
感觉不错。
现在许多框架会自动为我们处理这个问题,我们不能再手动编写 SQL。
我记得到2 02 0年左右,嵌入式方式将出现在8 0%以上的企业级应用中,在大学教学和运维场景中仍然占有一席之地。