### MySQL基础操作详解
#### 一、MySQL安装与配置
**1. 解压缩**
- 需要下载MySQL的安装包。通常可以从官方网站或其他可靠的来源获取。
- 下载完成后,将安装包解压到指定目录,例如`C:\MySQL`。
**2. 配置环境变量Path**
- 为了能够在命令行中直接运行MySQL的相关命令,需要将MySQL的bin目录添加到系统环境变量Path中。
- 修改方法:在系统环境变量中找到Path,将`%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;`这一行替换或追加MySQL安装路径下的bin目录路径,如`C:\MySQL\bin`。
**3. 修改配置文件my-default.ini**
- MySQL的配置文件是控制MySQL服务器运行时的重要参数集。
- 需要编辑my-default.ini文件(通常位于MySQL安装目录下),根据实际情况调整各项配置参数。
- 常见的配置包括设置最大连接数、缓存大小等。
**4. 查看MySQL服务状态**
- 在命令行中输入`sc query mysql`来检查系统中是否存在名为mysql的服务。
- 如果不存在,则需要通过以下步骤进行安装。
**5. 安装MySQL服务**
- 使用命令`mysqld-install`可以将MySQL服务安装到Windows系统中。
- 安装后,可以在服务管理器中看到MySQL服务。
**6. 启动MySQL服务**
- 通过命令`net start mysql`来启动MySQL服务。
- 也可以在服务管理器中手动启动。
**7. 检查MySQL端口**
- 使用`netstat -a`命令可以查看3306端口是否被MySQL占用,以此确认MySQL服务是否正常启动。
**8. 连接MySQL数据库**
- 输入命令`mysql -u root -p`进行连接,其中root是默认的用户名,-p后面跟的是密码(此处不带空格)。
- 如果没有设置过密码,可以直接回车。
#### 二、MySQL数据库基本操作
**1. 修改密码**
- 可以使用`SET PASSWORD FOR 用户名@localhost = PASSWORD('新密码');`来修改MySQL用户的密码。
- 这对于安全管理和日常维护非常重要。
**2. 查看MySQL服务状态**
- 使用`netstat -a`命令检查3306端口是否处于监听状态,判断MySQL服务是否正常运行。
**3. 关闭MySQL服务**
- 通过`net stop mysql`命令停止MySQL服务。
**4. 启动MySQL服务**
- 用`net start mysql`命令重新启动MySQL服务。
**5. 连接到MySQL**
- 使用`mysql -u root -p`命令连接到MySQL数据库。
**6. 查看MySQL版本**
- 通过`SELECT VERSION();`命令查看MySQL服务器的版本信息。
**7. 显示所有数据库**
- 执行`SHOW DATABASES;`列出MySQL中所有的数据库。
**8. 选择数据库**
- 使用`USE 数据库名;`选择一个具体的数据库进行后续操作。
**9. 查看表结构**
- `DESC 表名称;`用于查看某个表的结构,包括字段名、类型等信息。
**10. 查询表中数据**
- `SELECT * FROM 表名称;`用于显示指定表中的所有记录。
#### 三、创建与管理数据库及表
**1. 创建数据库**
- 使用`CREATE DATABASE 库名 CHARACTER SET utf8;`创建一个新的数据库,其中指定了字符集为utf8。
**2. 删除数据库**
- `DROP DATABASE 库名;`用于删除一个已存在的数据库。
**3. 创建表**
- 示例:创建一个包含四个字段(ID、姓名、密码、性别)的表。
```sql
CREATE TABLE school (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
name VARCHAR(20),
password VARCHAR(50),
sex VARCHAR(2)
);
```
**4. 修改表结构**
- `ALTER TABLE school CHANGE sex sex CHAR(1) NOT NULL;`用于改变字段的数据类型或属性。
**5. 添加字段**
- `ALTER TABLE school ADD COLUMN age INT(1) NULL AFTER name;`用于向表中添加新的字段。
**6. 删除字段**
- `ALTER TABLE school DROP name;`用于删除表中的某个字段。
**7. 插入数据**
- `INSERT INTO school (name, sex) VALUES ('张三', '男');`用于向表中插入一条新的记录。
**8. 更新数据**
- `UPDATE student SET name = '修改之后的内容' WHERE id = 1;`用于更新表中的某条记录。
**9. 删除数据**
- `DELETE FROM school WHERE id = 1;`用于删除表中的某条记录。
**10. 删除表**
- `DROP TABLE school;`用于删除整个表。
**11. 设置外键约束**
- 在表定义时或之后可以通过`FOREIGN KEY (sid) REFERENCES school(sid);`来定义外键关系。
**12. 修改默认值**
- `UPDATE student SET address = '天泽大厦' WHERE address IS NULL;`用于更新表中的某些字段值。
**13. 使用DEFAULT值**
- 如果某个非空字段的值未知但又不能为空,可以使用`DEFAULT`关键字为其指定默认值。
#### 四、查询操作
**1. 显示所有学生**
- `SELECT name(*) FROM student;`此语句语法有误,正确的应该是`SELECT * FROM student;`。
**2. 查询前5个**
- `SELECT * FROM student LIMIT 2, 5;`用于查询第3条至第7条记录。
**3. 三表联查**
- `SELECT t1.name, t2.subject, t3.score FROM student t1, course t2, score t3 WHERE t1.id1 = t3.id1 AND t2.id2 = t3.id2 AND t1.id1 = 1;`用于联表查询,展示id1为1的学生的所有课程及其成绩。
**4. 计算平均成绩**
- `SELECT AVG(列名) FROM 表名 GROUP BY 列名;`用于计算某列的平均值,并按照指定列分组。
以上就是MySQL基础操作的详细介绍,通过这些基础操作的学习和实践,可以帮助初学者更好地理解和掌握MySQL数据库的使用方法。