Loading

数据库原理-第三章——SQL

Structured Query Language

数据查询 Select
数据操纵 Insert、Delete、Update
数据定义 Create、Drop、Alter
数据控制 Grant、Revoke
事务处理 begin transaction、commit、rollback
指针、游标控制(CCL) DECLARE CURSOR、FETCH INTO、UPDATE、WHERE CURRENT

数据库的数据类型

  1. 数值型
  • 整数:INT、BIGINT、SMALLINT、TINYINT
  • 小数/浮点数:DECIMAL(p,s)(精确小数,通过字符串的方式存储每一位)、FLOAT、DOUBLE
    👉 用法区别:
  • 钱这种对精度敏感的,一般用 DECIMAL。
  • 科学计算、近似计算常用 FLOAT/DOUBLE。
  1. 字符型
  • 定长:CHAR(n)(总是固定长度,不够会补空格)
  • 变长:VARCHAR(n)(更常用,按需存储)
  • 大文本:TEXT、CLOB
  1. 日期 / 时间型
  • DATE(只存年月日)
  • TIME(只存时分秒)
  • DATETIME / TIMESTAMP(完整时间戳)
  • INTERVAL(时间间隔,PostgreSQL 有)
  1. 二进制型
  • BLOB(Binary Large Object,存图片、音频、视频等)
  1. 布尔型
  • BOOLEAN(值为 TRUE / FALSE,有的数据库用 1/0 表示)

DML:Data Manipulation Language(数据操纵语言)

DDL:Data Definition Language(数据定义语言)

定义

它用来 定义和管理数据库对象的结构,比如表、视图、索引、模式(schema)等等。
比如:

  • CREATE:创建数据库、表、视图、索引等
  • ALTER:修改表结构(加一列、改数据类型…)
  • DROP:删除表、数据库、索引等
  • TRUNCATE:清空表数据(但保留表结构)

常用操作

  1. CREATE(创建)
  • 创建数据库
CREATE DATABASE school;
  • 创建表
CREATE TABLE student (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    birthday DATE
);

👉 小提示:定义表时要顺便考虑主键、数据类型、约束。

  1. ALTER(修改)
  • 添加一列
ALTER TABLE student ADD email VARCHAR(100);
  • 修改列的数据类型
ALTER TABLE student MODIFY age SMALLINT;
  • 删除一列
ALTER TABLE student DROP COLUMN birthday;
  • 修改表名
ALTER TABLE student RENAME TO pupil;
  1. DROP(删除)
  • 删除数据库
DROP DATABASE school;
  • 删除表(结构和数据一起删光)
DROP TABLE student;
```sql
4. TRUNCATE(清空表数据,但保留结构)
```sql
TRUNCATE TABLE student;

👉 和 DELETE 的区别是:DELETE 属于 DML,可以带条件、可回滚;而 TRUNCATE 属于 DDL,执行后不可回滚,效率更高。

  1. 约束(Constraints)
    DDL 里经常和 CREATE/ALTER 一起用:
  • PRIMARY KEY(主键)
  • FOREIGN KEY(外键)
  • UNIQUE(唯一约束)
  • NOT NULL(不能为空)
  • CHECK(检查条件)
posted @ 2025-09-16 11:58  没法要了  阅读(14)  评论(0)    收藏  举报