SQL概述及其规则与规范
1.SQL概述
1.1 SQL背景知识
1946年,世界第一台电脑诞生,如今,互联网已经非常壮大,在这几十年间互联网得到了飞速的发展,无数的技术在其中起起伏伏,但是有一门技术从未消失,甚至愈发充满活力,那就是SQL
1974年,IBM研究院发布了一片解开数据库技术的论文《SEQUEL:一门结构化的编程语言》,直到今天这门结构化的查询语言并没有太大的变化,相比于其他语言,SQL的半衰期非常长了。
无论是前端工程师,还是后端算法工程师,都一定得和数据打交道,都需要了解如何又快又准确的提取自己想要的数据。
SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言,与数据直接打交道, 由于IBM上世纪开发出来。后来由美国国家标准局制定SQL标准,现有SQL-86, SQL-89, SQL-99等标准。
SQL由两个最重要的标准,分别是SQL-92和SQL-99,我们今天使用的SQL语言依旧遵循这些标准。
1.3 SQL分类
SQL语言在功能上主要分为如下3大类
- DDL(Data Definition Languages,数据定义语言),这些语句定义了不同的数据库,表,试图,索引等数据库对象,还可以创建,删除,修改数据库和数据表的结构。
- 主要的语句关键词包括CREATE, DROP, ALTER等。
- DML(Data Manipulation Language,数据操作语言),用于添加, 删除, 更新和查询数据库记录,并检查数据完整性。
- 主要的语句关键字包括INSERT, DELETE, UPDATE, SELECT等。
- DCL(Data Control Language,数据控制语言),用于定义数据库,表,字段,用户访问权限和安全级别。
- 主要的语句关键字包括GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT等。
因为查询语句使用的非常频繁,所以很多人把查询语句单独拿出来分一类,DQL(Data Query Language,数据查询语言)。还有单独把COMMIT, ROLLBACK取出来称为TCL(Transaction Control Language, 事物控制语言)。
2.SQL语言的规则和规范
2.1 常见的一些规则规范
- SQL可以写在一行或多行,为了提高可读性,各自据分行写,必要时使用缩进。
- 每条命令以;或\g或\G结束
- 关键字不能被缩写,也不能分行
- 关于标点符号
- 必须保证所有的括号,单引号,双引号是成对的。
- 必须使用英文的标点符号。
- 字符串型和日期时间类型的数据可以使用单引号来表示。
- 列的别名尽量使用双引号,而且不建议省略as
2.2 SQL大小写规范(建议遵守)
- MySQL在Windows环境下是大小写不敏感的
- MySQL在Linux环境下是大小写敏感的
- 数据库名,表明,表的别名,变量名是严格区分大小写的
- 关键字,函数名,列名(或字段名)列的别名(字段的别名)是忽略大小写的。
- 推荐采用统一的书写规范:
- 数据库名,表名,表别名,字段名,字段别名都是小写
- SQL关键字,函数名,绑定变量等都大写
2.3 注释
可以使用如下格式的注释结构
单行注释:#注释文字(MySQL特有的方式)
单行注释:-- 注释文字(--后面必须有一个空格)
多行注释:/*注释文字*/
2.4 命名规则
- 数据库,表明不得超过30个字符,变量名限制为29个。
- 必须只能包含大小写字母和数字。
- 数据库名,表明,字段名等对象名之间不能包含空格要用下划线来__连接
- 同一个MySQL软件中,数据库不能重名,同一个库中,表不能重名,同一个表中,字段不能重名。
- 必须保证你的字段没有和保留字,数据库系统或常用方法冲突,如果一定要使用,请在SQL语句中用 ` 引起来
- 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性, 假如数据类型在一个表里是整数,另一个表里可别变成字符型了
举例:
#以下两句是一样的,不区分大小写
show databases;
SHOW DATABASES;
#创建表格
#create table student info(...)#表名错误,因为表名有空格
create table student_info(...)#正确
2.5数据导入指令
在命令行客户端登录mysql,使用source指令导入
#首先登录
mysql -uroot -p
#输入密码
enter password:********
#登录成功后, 导入sql文件
source 文件路径
这篇文章就到这里,下篇文章我将会告诉总结有关select的综合运用!
标签:语句,Language,数据库,SQL,注释,大小写,规则,概述 From: https://blog.csdn.net/lvzihao1314/article/details/140502937