概念
数据库(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;(查看库中表的个数)