linux-MySQL数据库基础

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]

相关推荐
IvorySQL7 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
刘胡子大叔7 小时前
SQL 脚本的导入顺序
数据库·sql
代码什么用8 小时前
Spring对IoC的实现
数据库·spring
hz5678910 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC10 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday10 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码10 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
Yyyyyy~10 小时前
[ Mysql ] 库的操作
mysql
小米里的大麦10 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新10 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库