MySQL基础
一、什么是数据库
mysql是数据库服务的客户端
mysql是数据库服务的服务器端
本质:基于C(mysql)S(mysqld)模式的一种服务网络,一套给我们提供数据存取的服务的网络程序
数据库:一般指的是,在磁盘或者内存中存储的特定结构组织的数据,将来在磁盘上存储的一套数据库方案
一般的文件提供了数据的存储功能,但是没有提供很好的数据(内容)管理能力(用户角度),数据库就是对 数据内容存储的一套解决方案。
1.建立数据库,本质就是Linux下的一个目录;
2.在数据库建表,就是在linux下创建特定的文件
3.数据库本质也是文件,不是由程序员操作,而是由数据库帮我们操作。
二、服务器、数据库、表关系
1.数据库软件(如 MySQL)需要安装在服务器上运行,服务器为数据库提供计算资源(CPU、内存、存储)和网络环境。
2.数据库由多个表组成,表是数据库存储数据的具体载体
三、MySQL架构
MySQL 作为典型的客户机 / 服务器(C/S)架构关系型数据库,其体系结构可分为多个逻辑层,各层分工明确,协同实现数据存储、查询、事务管理等功能
四、SQL分类
1.数据查询语言(DQL - Data Query Language)
用于从数据库中查询数据
SELECT - 从数据库表中检索数据
SELECT column1, column2 FROM table_name WHERE condition;
2.数据操作语言(DML - Data Manipulation Language)
用于修改数据库中的数据
INSERT - 向表中插入新记录
INSERT INTO table_name (column1, column2) VALUES (value1, value2);UPDATE - 更新表中的现有记录
UPDATE table_name SET column1 = value1 WHERE condition;DELETE - 从表中删除记录
DELETE FROM table_name WHERE condition;
3.数据定义语言(DDL - Data Definition Language)
用于定义和修改数据库结构
CREATE - 创建数据库对象(表、视图、索引等)
CREATE TABLE table_name (column1 datatype, column2 datatype);ALTER - 修改现有数据库对象
ALTER TABLE table_name ADD column_name datatype;DROP - 删除数据库对象
DROP TABLE table_name;TRUNCATE - 删除表中的所有数据(保留表结构)
TRUNCATE TABLE table_name;
4.数据控制语言(DCL - Data Control Language)
用于控制对数据库的访问权限
GRANT - 授予用户权限
GRANT SELECT, INSERT ON table_name TO user_name;REVOKE - 撤销用户权限
REVOKE SELECT, INSERT ON table_name FROM user_name;
5.事事务控制语言(TCL - Transaction Control Language)
用于管理数据库事务
COMMIT - 提交当前事务
COMMIT;ROLLBACK - 回滚当前事务
ROLLBACK;SAVEPOINT - 设置事务保存点
SAVEPOINT savepoint_name;SET TRANSACTION - 设置事务特性
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
6.其他SQL语句
索引操作:
CREATE INDEX index_name ON table_name (column1, column2);视图操作:
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name;存储过程和函数:
CREATE PROCEDURE procedure_name() BEGIN ... END;sql
五、存储引擎
存储引擎是数据库管理系统(DBMS)中负责数据的物理存储、检索和管理的核心组件。它类似于数据库的“底层操作系统”,决定了数据如何被存储在磁盘或内存中、如何被读写、以及支持哪些高级功能(如事务、锁等)。