
MySQL的操作
发布日期:2021-05-15 01:16:21
浏览次数:10
分类:精选文章
本文共 2145 字,大约阅读时间需要 7 分钟。
数据库模型结构及RDBMS专业术语解析
数据库模型结构
数据库模型是数据库设计中核心的概念之一,主要用于描述数据的组织方式。常见的数据库模型包括层次模型、网状模型和关系模型。
1. 层次模型
层次模型是一种树状结构,每个节点代表一张表,父节点与子节点之间通过外键关联。这种模型适合具有层次化结构的数据,比如组织架构图或文件夹结构。
2. 网状模型
网状模型类似于层次模型,但允许多个父节点指向一个子节点,通常用于表示网络或引用关系,比如网页之间的链接。
3. 关系模型
关系模型是最常用的数据库模型,数据以行和列的形式组织,每个表之间通过外键关联。这种模型适合处理结构化数据,例如订单表和客户表之间的关系。
RDBMS(关系型数据库管理系统)专业名词
常见的关系型数据库管理系统
- MySQL:如MySQL、MariaDB、Percona-Server等
- PostgreSQL:简称为pgsql
- Oracle
- MSSQL(Microsoft SQL Server)
SQL(结构化查询语言)
SQL是关系型数据库管理系统的标准查询语言,用于执行数据操作和定义数据库结构。
约束
约束用于限制数据的输入,确保数据的一致性和完整性。常见约束类型包括:
- 主键约束:唯一标识表中的记录,不能为空。
- 唯一键约束:唯一标识表中的记录,但允许为空。
- 外键约束:引用另一个表的主键字段,确保数据的一致性。
- 检查性约束:用于验证数据的格式或取值范围。
索引
索引是对表中某些字段的复制,用于加快查询速度。它按特定顺序存储数据,通常用于优化高频查询。
关系型数据库的常见组件
- 数据库(Database):存储多个表的根节点。
- 表(Table):由行(Row)和列(Column)组成,存储数据。
- 索引(Index):用于加快查询速度。
- 视图(View):定义数据子集,简化复杂查询。
- 用户(User):管理数据库访问权限。
- 权限(Privilege):定义用户对数据库操作的访问控制。
- 存储过程(Stored Procedure):预编译的SQL语句,用于高效重复操作。
- 存储函数(Stored Function):预编译的函数,提高性能。
- 触发器(Trigger):在特定事件触发自定义操作。
SQL语句类型
SQL语句分为三类:
DDL(数据定义语言)
- CREATE:创建数据库、表、索引等。
- ALTER:修改数据库结构。
- DROP:删除数据库、表、索引等。
DML(数据操作语言)
- INSERT:插入新数据。
- UPDATE:更新数据。
- DELETE:删除数据。
- SELECT:查询数据。
DCL(数据控制语言)
- GRANT:授予用户权限。
- REVOKE:撤销权限。
MySQL安装与配置
1. 安装MySQL 5.7版本
由于CentOS 8的yum源默认仓库可能包含MySQL 8版本,我们需要手动下载并安装MySQL 5.7:
dnf module reset mysqlsudo dnf module disable mysql
2. 创建MySQL 5.7仓库
编辑仓库文件/etc/yum.repos.d/mysql-community.repo
,添加MySQL 5.7仓库:
vim /etc/yum.repos.d/mysql-community.repo
3. 安装MySQL 5.7
启用MySQL 5.7仓库并安装:
sudo dnf --enablerepo=mysql57-community install mysql-community-server
4. 启动并配置MySQL
启动服务并设置密码:
systemctl start mysqld.servicesystemctl enable mysqld.service
5. 设置数据库密码
登录MySQL并设置密码:
mysql -uroot -pset global validate_password_policy=0;set global validate_password_length=1;ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
6. 管理数据库
创建、删除数据库:
mysql> create database liuzezheng;mysql> show databases;mysql> DROP DATABASE liuzezheng;
7. 创建与删除表
操作示例:
mysql> use liuzezheng;mysql> create table student(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), age TINYINT(4));mysql> desc student;mysql> drop table student;
事件调度器
事件调度器允许在数据库中自动执行定期任务,使用命令:
event schedule on schedule at '每天23:00' do procedure your_procedure_name();
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月14日 18时42分21秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
论文报告/前沿文章
2019-03-11
函数与高级变量
2019-03-11
键盘事件
2019-03-11
2020-11月计划实施表
2019-03-11
折线图
2019-03-11
常识:
2019-03-11
注册页面案例
2019-03-11
np.bincount(x)的简单解释
2019-03-11
一些面试的准备的回答
2019-03-11
LeetCode Top-100 T22-括号生成
2019-03-11
svg基础+微信公众号交互(二)
2019-03-11
vscode设置eslint保存文件时自动修复eslint错误
2019-03-11
deepin 安装过程记录
2019-03-11
JAVA 多线程
2019-03-11
Java的 arraylist类【具体案例】
2019-03-11
删除DOM节点
2019-03-11
牛客-链表中环的入口节点(Java)
2019-03-11
【ARM自学笔记】ARM Cortex -A中断系统(程序篇)
2019-03-11
解决微信小程序中 calc 失效问题
2019-03-11
JS数组去重的方法
2019-03-11