一、初识 SQL
1.1 概念介绍
数据库中存储的表结构类似于 excel 中的行和列,在数据库中,行称为记录,它相当于一条结论,列称为字段,它代表了表中存储的数据项目
行和列交汇的地方称为单元格,一个单元格只能输入一条记录
SQL是为操作数据库而开发的语言。国际标准化组织(ISO)为 SQL 制定了相应的标准,以此为基准的 SQL 称为标准 SQL(相关信息请参考专栏 – 标准 SQL 和特定的SQL)
完全基于标准 SQL 的 RDBMS 很少,通常需要根据不同的 RDBMS 来编写特定的 SQL 语句,原则上,本课程介绍的是标准 SQL 的书写方式
根据对 RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类:
- DDL:(Data Definition Language,数据定义语言)用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令
- CREATE:创建数据库和表等对象
- DROP:删除数据库和表等对象
- ALTER:修改数据库和表等对象的结构
- DML:(Data Manipulation Language,数据操纵语言)用来查询或者变更表中的记录,DML 包括以下几种指令
- SELECT:查询表中的数据
- INSERT:向表中插入新数据
- UPDATE:更新表中的数据
- DELETE:删除表中数据
- DCL:(Data Control Language,数据控制语言)用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令
- COMMIT:确认对数据库中的数据进行的变更
- ROLLBACK:取消对数据库中的数据进行的变更
- GRANT:赋予用户操作权限
- REVOKE;取消用户的操作权限
实际使用的 SQL 语句当中有 90% 属于 DML,本课程会以 DML 为中心进行讲解
1.2 SQL的基本书写规则
SQL 语句要以 (😉 结尾
SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的
win 系统默认不区分表名及字段名的大小写
linux/mac 默认严格区分表名及字段名的大小写
本教程已统一调整表名及字段名为小写,以方便初学者学习使用
常数的书写方式是固定的
‘abc’, 1234, ‘26 Jan 2010’, ‘10/01/26’, ‘2010-01-26’…
单词需要用半角空格或者换行来分隔
SQL 语句的单词之间需要使用半角空格或换行符来进行分隔,且不能使用全角空格作为单词的分隔符,否则会发生错误,出现无法预期的结果
请大家认真阅读《附录1 - SQL 语法规范》,养成规范的书写习惯
1.3 数据库的创建(CREATE DATABASE 语句)
语法:CREATE DATABASE <数据库名称>;
创建本教程使用的数据库:CREATE DATABASE shop;