数据库系统概论(七)初识SQL与SQL基本概念
- 前言
- 一、什么是SQL语言?
-
- [1.1 SQL的产生和发展](#1.1 SQL的产生和发展)
- [1.2 SQL的特点](#1.2 SQL的特点)
- [1.3 SQL的基本概念](#1.3 SQL的基本概念)
-
- [1.3.1 数据库相关"术语"(类比Excel表格)](#1.3.1 数据库相关“术语”(类比Excel表格))
- [1.3.2 四大类核心语句(后面会详细讲,现在了解一下)](#1.3.2 四大类核心语句(后面会详细讲,现在了解一下))
- 二、数据的定义(现在了解一下就好,后面会详细讲解)
-
- (1)模式相关操作
-
- [1.1 定义模式(创建表结构)](#1.1 定义模式(创建表结构))
- [1.2 删除模式](#1.2 删除模式)
- (2)数据类型(列的"规则")
- [(3)基本表的修改(ALTER TABLE)](#(3)基本表的修改(ALTER TABLE))
-
- [3.1 添加列](#3.1 添加列)
- [3.2 修改列(数据类型或约束)](#3.2 修改列(数据类型或约束))
- [3.3 删除列](#3.3 删除列)
- (4)索引(提升查询速度的"目录")
-
- [4.1 建立索引](#4.1 建立索引)
- [4.2 删除索引](#4.2 删除索引)
前言
- 前面的博客里我们已经了解了关系模型的核心概念(如关系模式、域、属性、键等)。
- 接下来正式进入 关系数据库的实战阶段------ 通过 标准查询语言 SQL(Structured Query Language) 来操作和管理数据库
我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343我的数据库系统概论专栏
https://blog.csdn.net/2402_83322742/category_12911520.html?spm=1001.2014.3001.5482
一、什么是SQL语言?
SQL (Structured Query Language,结构化查询语言)是一种专门用于管理和操作数据库的编程语言。
- 它的核心功能是让用户能够高效地与数据库进行交互。
- 比如查询数据、插入数据、修改数据、删除数据,以及定义和管理数据库的结构。
1.1 SQL的产生和发展
- 起源 :1970年代,IBM的研究员为了解决数据库管理问题,开发了一种名为 SEQUEL 的语言,后来简化为 SQL。
- 标准化:1986年,美国国家标准协会(ANSI)将SQL定为关系型数据库的标准语言,随后国际标准化组织(ISO)也采纳了这一标准。
- 发展:如今,几乎所有主流数据库(如MySQL、Oracle、SQL Server、PostgreSQL等)都支持SQL,但不同数据库会在标准SQL的基础上增加一些特有的功能(例如MySQL的存储过程、Oracle的PL/SQL)。

1.2 SQL的特点
-
语法简单,接近自然语言:
SQL语句使用英文单词(如SELECT、INSERT、UPDATE、DELETE),即使没有编程基础也能快速理解。
-
非过程化:
只需告诉数据库"要做什么"(例如"查询成绩大于80分的学生"),不需要告诉它"怎么做",数据库会自动优化执行过程。
-
跨平台通用:
无论你用的是Windows、Linux还是Mac,也无论你使用哪种数据库(MySQL、Oracle等),基础SQL语法几乎一致,学会一种就能触类旁通。
1.3 SQL的基本概念

1.3.1 数据库相关"术语"(类比Excel表格)
- 数据库:相当于一个"文件夹",用来存放多张表(如"学生数据库""订单数据库")。
- 表:相当于Excel中的一张表格,由"行"和"列"组成。例如"学生表",列是字段(如学号、姓名、年龄),行是一条具体记录(如某个学生的信息)。
- 主键:表中某一列(或多列),用于唯一标识一条记录(类似学生的学号,不能重复)。
1.3.2 四大类核心语句(后面会详细讲,现在了解一下)
-
数据定义语言(DDL):用来创建或修改数据库结构。
CREATE TABLE
:创建表(例如创建"学生表")。ALTER TABLE
:修改表结构(例如添加一列"邮箱")。DROP TABLE
:删除表。
-
数据查询语言(DQL):用来从表中查询数据(最常用!)。
-
SELECT
:查询数据,例如:sqlSELECT 姓名, 年龄 FROM 学生表 WHERE 年龄 > 18; -- 意思:从"学生表"中选出年龄大于18岁的人的姓名和年龄
-
-
数据操作语言(DML):用来增、删、改表中的数据。
INSERT
:插入数据(例如新增一个学生的信息)。UPDATE
:修改数据(例如把某个学生的年龄从20改成21)。DELETE
:删除数据(例如删除毕业学生的记录)。
-
数据控制语言(DCL):用来管理数据库的权限(例如给某个用户设置"只能查询"的权限)。

二、数据的定义(现在了解一下就好,后面会详细讲解)
(1)模式相关操作
1.1 定义模式(创建表结构)
目的 :设计表的"模板",规定表有哪些列、每列的数据类型等。
语句:
sql
CREATE TABLE 表名 (
列名1 数据类型1 [约束条件], -- 例如:id INT PRIMARY KEY
列名2 数据类型2,
...
);
例子:创建学生表
sql
CREATE TABLE student (
stu_id INT PRIMARY KEY, -- 学号(整数,主键)
stu_name VARCHAR(50) -- 姓名(最长50个字符的字符串)
);
1.2 删除模式
目的 :彻底删除整张表(包括数据和表结构)。
语句:
sql
DROP TABLE 表名;
例子:删除学生表
sql
DROP TABLE student;
(2)数据类型(列的"规则")
表中每一列必须指定数据类型,限制该列能存储的数据格式,常见类型:
- 字符串 :
VARCHAR(n)
(可变长,如VARCHAR(20)
)、CHAR(n)
(固定长)。 - 数值 :
INT
(整数)、FLOAT
(浮点数)、DECIMAL(m,n)
(精确小数,如DECIMAL(5,2)
表示最多5位,小数点后2位)。 - 日期/时间 :
DATE
(日期,如2023-10-01
)、DATETIME
(日期+时间,如2023-10-01 12:30:00
)。 - 布尔 :
BOOLEAN
(TRUE
/FALSE
,部分数据库用TINYINT
代替)。
(3)基本表的修改(ALTER TABLE)
目的:在不删除表的前提下,新增、修改或删除列。
3.1 添加列
sql
ALTER TABLE 表名 ADD COLUMN 新列名 数据类型;
例子:给学生表添加"年龄"列
sql
ALTER TABLE student ADD COLUMN age INT;
3.2 修改列(数据类型或约束)
sql
ALTER TABLE 表名 ALTER COLUMN 列名 TYPE 新数据类型; -- 部分数据库语法不同(如PostgreSQL)
-- 或直接重命名列(少数数据库支持)
ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名;
3.3 删除列
sql
ALTER TABLE 表名 DROP COLUMN 列名;
(4)索引(提升查询速度的"目录")
4.1 建立索引
目的:给表的某列(或多列)创建索引,加快查询速度。
sql
CREATE INDEX 索引名 ON 表名 (列名);
例子:给学生表的"姓名"列创建索引
sql
CREATE INDEX idx_name ON student (stu_name);
4.2 删除索引
sql
DROP INDEX 索引名;
例子:删除上述索引
sql
DROP INDEX idx_name;
以上就是这篇博客的全部内容,下一篇我们将继续探索更多精彩内容。
我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343我的数据库系统概论专栏
https://blog.csdn.net/2402_83322742/category_12911520.html?spm=1001.2014.3001.5482
|--------------------|
| 非常感谢您的阅读,喜欢的话记得三连哦 |
