2021-11-02 RD4 review SQL

2021-11-02  本文已影响0人  JSleefat

安装

关系模型

PRIMARY KEY BIGINT NOT NULL AUTO_INCREMENT
ALTER TABLE students
ADD CONSTRAINT fk_class_id
FOREIGN KEY (class_id)
REFERENCES classes (id);
ALTER TABLE students
ADD INDEX idx_score (score);

查询数据

SELECT * FROM students;
SELECT * FROM students WHERE score >=80;
SELECT id, name, score FROM students
SELECT id, name, score FROM students 
ORDER BY score DESC
SELECT id, name, score FROM students 
ORDER BY score DESC
LIMIT 3 OFFSET 0;
SELECT count(*) FROM students;
SELECT * FROM students, classes;
  1. 内连接
SELECT s.id, s.name, c.name class_name, s.score
FROM students s
INNER JOIN classes c
ON s.class_id = c.id;
  1. 外连接
SELECT s.id, s.name, c.name class_name, s.score
FROM students s
RIGHT OUT JOIN classes c
ON s.class_id = c.id;

修改数据

  1. 单条记录
INSERT INTO students( class_id, name, score) VALUES (2, 'wang', 80);
  1. 多条记录
INSERT INTO students( class_id, name, score) VALUES 
(2, 'wang', 80),
(2, 'wang', 80);
UPDATE students SET score = '88' WHERE id = 1
DELETE FROM students WHERE score = '99'

事务

数据库事务具有ACID这4个特性

普通事务

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

回滚

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
ROLLBACK;

资料参考:

上一篇 下一篇

猜你喜欢

热点阅读