Appearance
mysql
install
- Docker 启动
- 直接官网下载
GUI
- SQLyog
- MySQL Workbench
- DataGrip 推荐
- dbeaver
连接数据库
mysql -uroot -p123456
基本概念
主键
外键
用户表的role_id就可以称为外键
通过外键可以实现一对多、多对多和一对一的关系
索引
sql
ALTER TABLE students
ADD INDEX idx_score (score);对于主键,关系数据库会自动对其创建主键索引。使用主键索引的效率是最高的,因为主键会保证绝对唯一。
常用命令
管理
创建数据库
创建表
删除数据库
删除表
增
增加一行数据
删
改
查
常用 SQL 语句速查
ALTER TABLE
COMMIT
CREATE INDEX 创建索引
CREATE TABLE
DELETE
DROP 删除表或索引
INSERT 添加新行
INSERT SELECT
ROLLBACK 撤销事务
UPDATE 更新一行或多行
事务
一个转账操作
bash
-- 从id=1的账户给id=2的账户转账100元
-- 第一步:将id=1的A账户余额减去100
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
-- 第二步:将id=2的B账户余额加上100
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
// 这两条SQL语句必须全部执行,或者,由于某些原因,如果第一条语句成功,第二条语句失败,就必须全部撤销。事务
数据库事务可以确保该事务范围内的所有操作都可以全部成功或者全部失败。如果事务失败,那么效果就和没有执行这些SQL一样,不会对数据库数据有任何改动。
多条SQL作为一个事务执行
`BEGIN``COMMIT`
bash
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;更新: 2021-04-24 16:27:51
原文: https://www.yuque.com/u3641/dxlfpu/vadgzg