SQL概述及其规则与规范

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-92SQL-99,我们今天使用的SQL语言依旧遵循这些标准。

1.3 SQL分类

SQL语言在功能上主要分为如下3大类

  • DDL(Data Definition Languages,数据定义语言) ,这些语句定义了不同的数据库,表,试图,索引等数据库对象,还可以创建,删除,修改 数据库和数据表的结构。
    • 主要的语句关键词包括CREATEDROPALTER等。
  • DML(Data Manipulation Language,数据操作语言) ,用于添加删除更新查询 数据库记录,并检查数据完整性。
    • 主要的语句关键字包括INSERTDELETEUPDATESELECT等。
  • DCL(Data Control Language,数据控制语言) ,用于定义数据库,表,字段,用户访问权限和安全级别。
    • 主要的语句关键字包括GRANTREVOKECOMMITROLLBACKSAVEPOINT等。

因为查询语句使用的非常频繁,所以很多人把查询语句单独拿出来分一类,DQL(Data Query Language,数据查询语言) 。还有单独把COMMITROLLBACK 取出来称为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的综合运用!

相关推荐
月光水岸New1 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6751 小时前
数据库基础1
数据库
我爱松子鱼1 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo2 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser3 小时前
【SQL】多表查询案例
数据库·sql
Galeoto3 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)3 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231113 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
喝醉酒的小白3 小时前
PostgreSQL:更新字段慢
数据库·postgresql
敲敲敲-敲代码3 小时前
【SQL实验】触发器
数据库·笔记·sql