文章目录
- SQL
- SQL简史
- SQL优点
- SQL的用途
- SQL语句的执行过程
- SQL命令分类
- DDL
- DML
- DCL
- SQL的书写规则
- 1、SQL语句以分号;作为结尾
- 2、SQL语句不区分大小写
- 3、常数的书写方式是固定的
- 4、SQL语句单词之间需要用空格和换行来分隔
- 总结
SQL
SQL(Structured Query Language,结构化查询语言),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新、管理关系数据库系统。
SQL语言是目前广泛使用的关系型数据库标准语言,是各种数据库交互方式的基础
SQL简史
1970年,IBM公司的Edgar Frank “Ted” Codd博士描述了关系型数据库的模型,因此被称为"关系型数据库之父"
1974年,IBM着手研发名为System R的数据库,并研发出一套结构化查询语句SEQUEL,这就是SQL的雏形,System R数据库于1978年第一次发布,用于科研和实验
1979年,Oracle公司首先提供了商用的SQL,随后IBM公司也在DB2数据库中实现了SQL
1986年10月,美国ANSI采用SQL作为关系型数据库管理系统的标准语言,紧接着国际标准组织ISO也将SQL采纳为国际标准
1989 年,ANSI 发布了 SQL 标准的重大更新版本,以弥补旧版的不足,称为 ANSI SQL 89,该版本也被 ISO 采纳
SQL优点
SQL作为关系型数据库标准语言具有一体化、使用方式灵活、非过程化、语言简洁等优点
- 一体化:SQL具有数据定、数据操作、数据控制于一体的特点,可以完成数据库中的全部工作
- 使用方式灵活:SQL具有两种使用方式,可以直接以命令方式交互使用,也可以嵌入使用,嵌入C/C++、JAVA等语言中使用
- 非过程化:只需要告诉计算机做什么,而不是告诉怎么做,存储路径的选择和操作的执行有数据库管理系统自动完成
- 语言简洁、语法简单:SQL语句都是由描述很强的单词组成,很容易明白语句含义
SQL的用途
- 允许用户访问关系型数据库系统中的数据
- 允许用户描述、定义数据并处理数据
- 允许将SQL模块、库或预处理器嵌入到其他编程语言中
- 允许用户对数据库进行操作,即创建删除数据库并创建表、视图、存储过程等
- 允许用户对表、存储过程和视图设置权限
SQL语句的执行过程
SQL命令分类
与关系型数据库有关的 SQL 命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE、DROP 等,根据其特性,可以将它们分为DDL、DML、DCL
DDL
Data Definition Language,数据定义语言,是对数据的结构和形式进行定义,一般用于数据库和表的创建、删除、修改
DML
Data Manipulation Language,数据处理语言,是对数据库中的数据进行处理,一般用于数据项(记录)的插入、删除、修改和查询
DCL
Data Control Language,数据控制语言,是对控制数据的访问权限,只有被授权的用户才能进行操作
SQL的书写规则
在书写SQL语句时应遵循以下几个原则来避免错误
1、SQL语句以分号;作为结尾
在RDBMS(关系型数据管理系统)中,SQL语句时逐条执行的,一条完整的SQL语句代表着数据库的一个操作,而SQL语句使用分号来作为语句结束符
2、SQL语句不区分大小写
SQL语句不区分大小写,但是语句中涉及到的数据时区分大小写的
SQL语句的大小写规则与语句组成元素、引用内容和服务器使用的操作系统有关
1、SQL关键字和函数名时不区分大小写
2、数据库名、表名和视图名
MySQL用服务器主机的底层文件系统所包含的目录和文件来表示数据库和表,所以数据库名、表名和视图名的默认大小写取决于服务器主机的操作系统在命名方面的规定
3、存储程序的名字
存储函数、存储过程和事件的名字是不区分大小写的,触发器的名字要区分大小写
4、列名和索引名是不区分大小写的
5、别名
在设计别名的情况下,默认是区分别名的大小写
Windows | Linux | |
数据库名 | 否(忽略大小写) | 是 |
表名 | 否(忽略大小写) | 是 |
表别名 | 否(忽略大小写) | 是 |
列名 | 否(忽略大小写) | 否(忽略大小写) |
列别名 | 否(忽略大小写) | 否(忽略大小写) |
变量名 | 否(忽略大小写) | 是 |
所以在Linux服务器下创建数据库和表时,应当慎重考虑大小写,当表从Linux服务器迁移到WIndows服务器上时,会出现问题
一般建议统一使用小写字母,并且 InnoDB 引擎在其内部都是以小写字母方式来存储数据库名和表名的。这样可以有效的防止 MySQL 产生大小写问题
3、常数的书写方式是固定的
SQL语句通常需要直接书写字符串、日期或者数字,即将这些数据插入表中的SQL语句
- SQL语句中带有字符串时需要使用单引号’'将字符串括起来,用来标识这是一个字符串
- SQL语句中带有日期时同样使用单引号’‘将其括起来,日期的表示格式建议统一为’年-月-日’
- SQL语句中带有数字的时候,直接使用数字便可
4、SQL语句单词之间需要用空格和换行来分隔
SQL语句中的每个单词都需要使用空格或换行符来进行分隔,没有分隔的语句语句分析器没有办法进行识别会发生错误
总结
SQL语言是目前广泛使用的关系型数据库标准语言,是各种数据库交互方式的基础,与关系型数据库有关的 SQL 命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE、DROP 等,根据其特性,可以将它们分为DDL、DML、DCL,在书写SQL语句时应遵循原则来避免错误
赶紧学习起来吧!我是一个正在努力找回自我的人,希望能和一起学习的人成长,有错误的地方请各位大佬帮忙指正,如果觉得有帮助就点个赞当作对我的一个小肯定❤👍,peace&love