### SQL数据库基础教程
#### 引言
在当今数字化时代,数据库作为存储、管理和检索大量数据的核心技术,其重要性不言而喻,SQL(Structured Query Language,结构化查询语言)作为与数据库交互的标准语言,是每位数据从业者必须掌握的基本技能,本教程旨在为初学者提供一个全面而简洁的SQL数据库基础指南,涵盖SQL的基本概念、数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)以及数据控制语言(DCL)等核心内容。
#### 一、SQL与数据库基础
##### 1.1 什么是数据库
数据库是按照数据结构来组织、存储和管理数据的仓库,它允许用户以高效的方式访问和修改数据,同时保证数据的安全性、完整性和一致性,数据库系统由数据库管理系统(DBMS)和数据库本身组成,DBMS负责数据库的创建、维护、查询和更新等操作。
##### 1.2 SQL简介
SQL是一种专门用来与数据库通信的语言,它允许用户执行各种数据库操作,如创建和修改数据库结构、添加和删除数据、查询数据等,SQL标准由国际标准化组织(ISO)和国际电工委员会(IEC)共同制定,因此几乎所有的关系型数据库管理系统(如MySQL、PostgreSQL、SQL Server、Oracle等)都支持SQL语言。
#### 二、SQL基础语法
##### 2.1 SQL语句结构
SQL语句通常遵循一定的结构,包括关键字、表名、列名、条件表达式等,SQL语句以分号(;)结束,但在某些数据库系统中,分号是可选的。
##### 2.2 数据类型
在创建表时,需要为表中的每一列指定数据类型,常见的数据类型包括整数(INT)、浮点数(FLOAT、DOUBLE)、字符串(VARCHAR、CHAR)、日期和时间(DATE、TIME、DATETIME)等。
##### 2.3 注释
SQL支持两种注释方式:单行注释(使用两个连续的破折号`--`或`#`,具体取决于数据库系统)和多行注释(使用`/*`开始,`*/`结束)。
#### 三、数据定义语言(DDL)
DDL用于定义和修改数据库的结构,包括创建、修改和删除数据库、表、索引等对象。
##### 3.1 创建数据库
CREATE DATABASE 数据库名;
##### 3.2 创建表
CREATE TABLE 表名 ( 列名1 数据类型 约束, 列名2 数据类型 约束, ... 列名N 数据类型 约束 );
创建一个学生表:
CREATE TABLE Students ( ID INT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Age INT, Gender CHAR(1), EnrollmentDate DATE );
##### 3.3 修改表结构
- 添加列:
ALTER TABLE 表名 ADD 列名 数据类型 约束;
- 删除列:
ALTER TABLE 表名 DROP COLUMN 列名;
- 修改列数据类型:
ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;
不是所有数据库系统都支持直接修改列数据类型,有时需要删除列后重新添加。
##### 3.4 删除表
DROP TABLE 表名;
#### 四、数据操纵语言(DML)
DML用于对数据库中的数据进行操作,包括插入、更新和删除数据。
##### 4.1 插入数据
INSERT INTO 表名 (列1, 列2, ..., 列N) VALUES (值1, 值2, ..., 值N);
向学生表中插入数据:
INSERT INTO Students (ID, Name, Age, Gender, EnrollmentDate) VALUES (1, '张三', 20, 'M', '2023-09-01');
##### 4.2 更新数据
UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... WHERE 条件;
更新学生张三的年龄:
UPDATE Students SET Age = 21 WHERE Name = '张三';
##### 4.3 删除数据
DELETE FROM 表名 WHERE 条件;
删除ID为2的学生记录:
DELETE FROM Students WHERE ID = 2;
使用DELETE语句时要特别小心,因为一旦执行,被删除的数据将无法恢复(除非有备份)。
#### 五、数据查询语言(DQL)
DQL是SQL中最常用的部分