一、概念
MySQL是一种开源的关系型数据库管理系统,它是最流行的数据库之一。MySQL支持多种操作系统,包括Windows、Linux、Unix等。它使用SQL(结构化查询语言)作为其主要的查询和管理语言。MySQL被广泛应用于Web应用程序的开发中,如电子商务网站、博客、论坛等。它也被用于数据分析、数据仓库和其他数据处理任务。MySQL具有高性能、可靠性和可扩展性等特点,因此被广泛使用。
二、工作原理
1. 数据库架构:MySQL数据库由多个组件组成,包括连接器、查询缓存、分析器、优化器、执行器、存储引擎等。其中,存储引擎是MySQL的核心组件,负责数据的存储和检索。
2. 数据存储:MySQL使用B+树索引来存储数据,每个索引节点包含多个数据行的指针,可以快速定位到需要的数据行。MySQL支持多种存储引擎,如InnoDB、MyISAM等,每种存储引擎都有其特点和适用场景。
3. 查询处理:MySQL接收到查询请求后,会经过连接器、查询缓存、分析器、优化器等组件的处理,最终由执行器执行查询语句并返回结果。其中,优化器是MySQL的核心组件之一,负责对查询语句进行优化,提高查询效率。
4. 事务处理:MySQL支持事务处理,可以保证数据的一致性和完整性。事务是一组操作的集合,要么全部执行成功,要么全部回滚。MySQL使用InnoDB存储引擎来支持事务处理
三、安装mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
去MySQL官网下载软件包
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
安装MySQL文件
yum -y install mysql-community-server --nogpgcheck
安装MySQL服务 nogpgcheck是不验证公钥
四、部署mysql
grep 'temporary password' /var/log/mysqld.log 查看初始密码
这个标注起来的就是密码
mysql -u root -p“gkC/jhSp&7Bn”
mysql -u 用户 -p 密码 登录mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; 修改密码
这里密码需要满足密码策略包含:大小写、符号、数字、最少八位
CREATE DATABASE 数据库名称; 创建数据库
USE 数据库名称 登录数据库
CREATE TABLE syh (
-> id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(30) NOT NULL,
-> email VARCHAR(50),
-> created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
-> );
创建一个名为syh的数据表
id:整数类型,自增长,作为主键
name:字符串类型,最大长度为 30,不能为空
email:字符串类型,最大长度为 50,可以为空
created_date:时间戳类型,设置默认值为当前时间,当记录被更新时,自动更新为当前时间
show databases 查看数据库
INSERT INTO syh (name,email) VALUES ("nn", "nn.com@example.com"),("oo", "oon.com@example.com");
向名为syh的数据表中插入两条数据
第一条记录的 name 字段值为 "nn",email 字段值为 "nn.com@example.com"
第二条记录的 name 字段值为 "oo",email 字段值为 "oon.com@example.com"
SELECT * FROM 数据表名称
查询数据表 *代表查询此表中的所有数据
UPDATE 数据表名称 SET name='用户名', email='用户名.smith@example.com' WHERE id=1;
更新表中ID为1的数据,将 `name` 字段的值更新为 `ooA`,将 `email` 字段的值更新为 `nn.com@example.com`
再次查看发现ID为1的表名字已经变成了ooA了![](https://img-blog.csdnimg.cn/c1300e1dc3c94566bc4262243cbd5179.png)
SELECT name, email FROM 数据表名称 ORDER BY name ASC;
从 `syh` 表中选择 `name` 和 `email` 字段,并将结果按`name` 字段升序排序
SELECT name, email FROM customer WHERE name LIKE '%t%';
从 `customer` 表中选择 `name` 和 `email` 字段,并只显示名字中含有字母 `t` 的记录:
DELETE FROM 数据表名称 WHERE id=2
删除表中ID为2的用户
以上就是mysql的安装、部署与基本使用的操作
如有错误欢迎各位大佬批评指正,我们共同进步