数据库CRUD一条过

34 阅读1分钟

用数据库增查改删快捷操作

-- 如库里已有 student 可先 DROP
CREATE TABLE student (
    id      INT AUTO_INCREMENT PRIMARY KEY,
    name    VARCHAR(20) NOT NULL,
    gender  ENUM('M','F') DEFAULT 'M',
    score   TINYINT CHECK (score BETWEEN 0 AND 100)
) 

-- 插 3 条初始数据
INSERT INTO student(name,gender,score)
VALUES ('Alice','F',95),
       ('Bob',  'M',82),
       ('Coco', 'F',77);
       
-- 单条
INSERT INTO student(name,gender,score)
VALUES ('David','M',90);

-- 批量
INSERT INTO student(name,gender,score)
VALUES ('Eve','F',88),
       ('Frank','M',76);
       
-- 全表
SELECT * FROM student;

-- 条件 + 排序
SELECT id, name, score
FROM   student
WHERE  gender = 'F'
ORDER  BY score DESC;

-- 模糊 + 分页
SELECT id, name, score
FROM   student
WHERE  name LIKE 'C%'
LIMIT  1 OFFSET 0;   -- 取第 1 条

-- 把 Bob 的成绩改成 85-- 关闭安全更新模式
SET SQL_SAFE_UPDATES = 0;
UPDATE student
SET    score = 85
WHERE  name = 'Bob';
-- 重新开启安全更新模式(推荐)
SET SQL_SAFE_UPDATES = 1;

-- 把所有男生分数 +2
SET SQL_SAFE_UPDATES = 0;
UPDATE student
SET    score = score + 2
WHERE  gender = 'M';
SET SQL_SAFE_UPDATES = 1;

-- 删单条
DELETE FROM student
WHERE  id = 1;

-- 清空整张表(保留结构)
TRUNCATE TABLE student;   -- 比 DELETE 快且自增 ID 归零

-- 删除整张表(Table)
DROP TABLE IF EXISTS student;   -- 瞬间消失,不可回滚