MySQL的基础认识

概念

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,本质上是一个有组织的、可共享的数据集合。

SQL分类

DDL【data definition language】数据定义语言,用来维护存储数据的结构

代表指令: create, drop, alter

DML【data manipulation language】数据操纵语言,用来对数据进行操作

代表指令: insert,delete,update

DML中又单独分了一个DQL,数据查询语言,代表指令: select

DCL【Data Control Language】数据控制语言,主要负责权限管理和事务

代表指令: grant,revoke,commit

存储引擎

数据库存储引擎(Storage Engine)是数据库管理系统(DBMS)中负责数据的物理存储、读取、写入和管理的核心组件。它直接决定了数据如何存放在磁盘上、如何被检索,以及支持哪些特性(如事务、锁机制等)。

|-------------------|--------------------------|------|---|---|---|
| 存储引擎 | 特点 | 适用场景 | | | |
| **InnoDB** | 支持事务、行级锁、外键、崩溃恢复;默认引擎 | 绝大多数场景,尤其是需要事务的业务 ||||
| **MyISAM** | 表级锁、不支持事务、查询速度快、占用空间小 | 读多写少、日志分析、数据仓库(已逐渐淘汰) ||||
| **Memory** | 数据存于内存,速度极快,重启后数据丢失 | 临时表、缓存、会话数据 ||| |
| **Archive** | 高压缩比,只支持插入和查询 | 日志、历史数据归档 || | |
| **CSV** | 以 CSV 格式存储,可直接用 Excel 打开 | 数据交换、简单报表 || | |
| **Blackhole** | 写入的数据直接丢弃,不存储 | 复制中继、性能测试 || | |

库的操作

创建数据库

-- 创建数据库(基础)

CREATE DATABASE mydb;

-- 创建数据库(推荐:指定字符集和排序规则)

CREATE DATABASE mydb

CHARACTER SET utf8mb4

COLLATE utf8mb4_unicode_ci;

-- 查看是否创建成功

SHOW DATABASES;

-- 切换到该数据库

USE mydb;

查看数据库支持的字符集

show charset;

查看支持的校验集

show collation;

操作数据库

查看数据库

show databases;

显示创建语句

show create database 数据库名;

use helloword;进入该数据库

show tables;查看库中的表

select * from 表名;查看表中内容

修改数据库

主要是对数据库的字符集个校验规则进行修改

备份和恢复

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

在服务器终端而不是mysql中执行命令

备份完之后删除库

drop database 库名;

在mysql中执行语句

source /root/backup/helloword.sql;

查看链接命令

show processlist;

表的操作

创建表

CREATE TABLE table_name (

field1 datatype,

field2 datatype,

field3 datatype

) character set 字符集 collate 校验规则 engine 存储引擎;

ield 表示列名

datatype 表示列的类型

character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准

collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

查看表

desc 表名;

修改表

添加两条信息

添加一个字段是图片

alter table test1 add assets varchar(100) comment '图片';

修改name的长度从20改到50

alter table users modify name varchar(60);

删除password这一列

alter table users drop password;

修改表名为user1

alter table users rename to employee;

将id列改为newid

alter table employee change name xingming varchar(60);

清屏

system clear;

删除表

语法格式

DROP TEMPORARY TABLE IF EXISTS tbl_name , tbl_name ...

示例

drop table test2;

show tables;(查看库中表的个数)

相关推荐
摇滚侠17 分钟前
Spring 零基础入门到进阶 基于 XML 管理 Bean 14-28
xml·数据库·spring
Fanta丶19 分钟前
23.MySql group by优化、limit优化、 count优化、update优化
mysql
医疗信息化王工21 分钟前
医院自律端系统——预警处置模块全栈实战(ASP.NET Core + Vue3 + Quartz 定时调度)
mysql·postgresql·vue·asp.net core·quartz
Metaphor69233 分钟前
使用 Python 给 PDF 设置背景色或背景图
数据库·python·pdf
Gauss松鼠会34 分钟前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结
睡不醒男孩0308231 小时前
第五篇:2026年企业级 PostgreSQL 高可用方案深度横评:Patroni vs. CLup 架构与可靠性全面对决
数据库·postgresql·架构
NineData1 小时前
SQL 都在等锁时,ChatDBA 先帮 MySQL 找到谁在挡路
数据库·人工智能·sql·mysql·安全·数据复制·数据迁移工具
神仙别闹1 小时前
基于 PHP + MySQL学生信息管理系统
android·mysql·php
超级无敌zhq1 小时前
后渗透痕迹清理:攻防对抗中的隐身术
网络·数据库·网络安全
2601_961845151 小时前
考研网课资源网盘|2027|资料
数据库·vim·sublime text·figma·photoshop·墨刀·高考