1.数据库管理
查看所有数据库
show databases;
创建数据库
create database school;
使用/切换数据库
use school;
查看当前所在数据库
select database();
删除数据库
drop database school;
2.表基本管理
创建表
create table user1 (id int,name varchar(20),score int);
查看表
show tables;
查看表结构
desc user1;

删除表
drop table user1;
插入数据
insert into user1(id,name,score) values (1,'李四',100);
insert into user1 values (1,'张三',70);
查询整个表
select * from user1;
条件查询
select id,score from user1 where score > 70;
查询 id,score在user1表中,条件为 score > 70
select * from user1 where score=100;
查询所有user1表中条件为score=100的值
更新数据
update user1 set score=35 where name='张三';
更新 user1表,设置score=35,条件为 name='张三'
删除数据
delete from user1;
删除整张表数据
delete from user1 where name='张三';
2.存储引擎简介
存储引擎决定了表的类型,即数据如何存储、索引如何创建、是否支持事务等。MySQL 5.7 最常用的是 InnoDB 和 MyISAM。
|------------------------------------|----------------------------|
| lnnoDB | MyISAM |
| 支持事务和外键 | 不支持事务和外键 |
| 行级锁 ,在高并发下性能更好 | 表级锁,并发写入性能较差 |
| 使用场景:需要事务支持、有高并发读写需求、需要外键约束的场景 | 使用场景 :只读或读多写少的应用,如数据仓库 |
[InnoDB 和 MyISAM]
3.事务 ACID 简介
事务是作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行。
|-----------------------------------------------------------------------------------------------------|
| * A - 原子性: 事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 * 例子:银行转账。A扣款和B加款必须同时成功或同时失败。 |
| * C - 一致性: 事务必须使数据库从一个一致性状态变换到另一个一致性状态。 * 例子:转账前后,A和B的总金额应该保持不变。 |
| * I - 隔离性: 多个用户并发访问数据库时,数据库为每个用户开启的事务,不能被其他事务的操作所干扰。 * 例子:A在转账给B的过程中,C查询A和B的总金额,看到的应该是转账前的总额。 |
| * D - 持久性: 一个事务一旦被提交,它对数据库中数据的改变就是永久性的。 |
[ACID]