MySQL数据库入门指南

发表时间: 2023-11-17 23:26

什么是MySQL数据库

MySQL是一个关系型数据库管理系统(RDBMS),由瑞典的MySQLAB公司开发,现在则属于Oracle公司。它是一种将数据保存在不同的表中的数据库,而不是将所有数据放在一个大仓库内,这种方式增加了处理速度并提高了灵活性。

在MySQL中,数据采用表的形式进行存储,你可以类比为Excel表格。每一行代表一条数据,而每一列则代表该行中的每个值。这些值都有各自的数据类型,比如整数、字符串、日期等。此外,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。

事务特性ACID——原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)也是MySQL的重要特性。例如,原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚;一致性是指一个事务执行之前和执行之后都必须处于一致性状态。

在Windows系统中安装MySQL数据库

可以按照以下步骤进行:

1. 首先,访问MySQL官方网站(MySQL Community Downloads)并下载MySQL的安装包。

2. 完成下载后,将安装包解压到你希望安装MySQL的目录中。

3. 在解压后的文件夹中创建一个新的my.ini配置文件,用来配置MySQL的一些参数。例如,可以设置MySQL的监听端口为3306,以及指定MySQL的安装目录等。

4. 接下来,打开命令提示符窗口,并切换到mysql的bin目录下。

5. 在该目录下执行初始化操作,生成一份随机密码和初始权限表。

6. 最后,使用刚才生成的随机密码登录MySQL数据库,并修改初始密码。

在Linux环境下安装MySQL数据库

可以按照以下步骤进行:

1. 首先,访问MySQL官方网站(MySQL Community Downloads)并下载适用于Linux系统的MySQL二进制分发包。例如,对于CentOS系统,可以选择下载
mysql-5.6.39-linux-glibc2.5-x86_64.tar.gz这样的安装包。

2. 完成下载后,将安装包上传到Linux服务器上。

3. 在服务器上打开终端,进入上传的安装包所在目录,执行解压命令。

4. 在解压后的文件夹中创建一个新的my.cnf配置文件,用来配置MySQL的一些参数。例如,可以设置MySQL的监听端口为3306,以及指定MySQL的安装目录等。

5. 接下来,运行mysqld --initialize命令初始化MySQL。如果该命令无法找到,可能需要修改PATH环境变量使其包含mysql的bin目录。

6. 最后,使用root账户登录MySQL数据库,并修改初始密码。你可以通过运行mysqladmin -u root password "新密码"命令来修改初始密码。此外,如果你检查到系统中已经安装了MySQL,可以先使用rpm -qa | grep mysql命令查看是否已存在,如果存在则可以使用rpm -e --nodeps mysql-xxxx命令删除旧版本后再进行安装。

MySQL数据库的基本操作

首先需要创建一个数据库,然后在该数据库中创建表和插入数据。

1. 创建数据库:

CREATE DATABASE my_project;

2. 使用数据库:

USE my_project;

3. 创建表:

CREATE TABLE users (

id INT AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(255) NOT NULL,

password VARCHAR(255) NOT NULL

);

4. 插入数据:

INSERT INTO users (username, password) VALUES ('张三', '123456');

INSERT INTO users (username, password) VALUES ('李四', 'abcdef');

5. 查询数据:

SELECT * FROM users;

MySQL数据库多表查询

在MySQL数据库中,多表查询是指从多个表中检索数据。这可以通过使用JOIN语句来实现。以下是一个简单的示例:

假设我们有两个表,一个是学生表(students),另一个是成绩表(scores):

学生表(students):

| id | name |

|----|-------|

| 1 | 张三 |

| 2 | 李四 |

| 3 | 王五 |


成绩表(scores):

| student_id | subject | score |

|------------|---------|-------|

| 1 | 语文 | 80 |

| 1 | 数学 | 90 |

| 2 | 语文 | 70 |

| 2 | 数学 | 85 |

| 3 | 语文 | 60 |

| 3 | 数学 | 75 |

如果我们想要查询每个学生的姓名和他们的成绩,可以使用以下SQL语句:

SELECT students.name, scores.subject, scores.score

FROM students

JOIN scores ON students.id = scores.student_id;

这将返回以下结果:

| name | subject | score |

|------|---------|-------|

| 张三 | 语文 | 80 |

| 张三 | 数学 | 90 |

| 李四 | 语文 | 70 |

| 李四 | 数学 | 85 |

| 王五 | 语文 | 60 |

| 王五 | 数学 | 75 |