MySQL基础学习笔记

一、MySQL简介

MySQL是一个开源的关系型数据库管理系统(RDBMS),它使用了一种结构化查询语言(SQL)进行数据管理。MySQL由瑞典公司MySQL AB开发,后被Sun Microsystems收购,最终又被Oracle收购。由于其高性能、易用性和可靠性,MySQL广泛应用于各种Web开发和其他领域。

二、MySQL安装与配置

(一)下载与安装

  1. 从MySQL官方网站下载
  2. 运行安装包
    • 对于 Windows,双击下载的 .msi 或 .exe 文件,然后按照屏幕上的提示进行安装。
    • 对于 Linux,您可能需要使用包管理器(如 aptyum 或 dnf)或通过解压预编译的二进制包进行安装。

(二)配置

  1. Windows 下的 my.ini
    • MySQL 的配置文件通常位于 MySQL 安装目录下的 my.ini
    • 使用文本编辑器(如记事本)打开该文件,您可以修改各种参数,如:
      • port:MySQL 服务监听的端口号(默认为 3306)。
      • datadir:MySQL 数据文件的存放位置。
    • 修改完成后保存并关闭文件。
  2. Linux 下的 my.cnf
    • 在 Linux 系统中,配置文件可能位于 /etc/my.cnf/etc/mysql/my.cnf 或 /usr/local/mysql/my.cnf 等位置。
    • 使用文本编辑器(如 nanovim 或 gedit)打开文件,并修改相关参数。
    • 修改完成后保存并关闭文件。

(三)启动与停止

  1. Windows 下的服务管理器
    • 在“运行”对话框中输入 services.msc 并按 Enter 键打开服务管理器。
    • 在服务列表中找到 MySQL 服务(如 MySQL 或 MySQL57),然后可以启动、停止或重启该服务。
    • 您也可以使用命令行工具(如 net start mysql 或 net stop mysql)来启动或停止服务。
  2. Linux 下的 systemctl、service 或 /etc/init.d/mysql
    • 使用 systemctl(对于使用 systemd 的系统):
      • 启动 MySQL:sudo systemctl start mysqld
      • 停止 MySQL:sudo systemctl stop mysqld
      • 重启 MySQL:sudo systemctl restart mysqld
    • 使用 service 命令:
      • 启动 MySQL:sudo service mysql start
      • 停止 MySQL:sudo service mysql stop
      • 重启 MySQL:sudo service mysql restart
    • 使用 /etc/init.d/mysql 脚本(较旧的系统):
      • 启动 MySQL:sudo /etc/init.d/mysql start
      • 停止 MySQL:sudo /etc/init.d/mysql stop
      • 重启 MySQL:sudo /etc/init.d/mysql restart

注意:以上命令中的 mysqld 或 mysql 可能因您的安装方式和版本而有所不同。请根据实际情况进行调整。

三、MySQL客户端工具

  1. 命令行客户端mysql - 通过命令行与MySQL服务器交互。
  2. 图形界面工具
    • MySQL Workbench:一个功能强大的图形化工具,支持数据库设计、开发和管理。
    • phpMyAdmin:一个流行的Web-based MySQL管理工具,常用于共享主机环境。

四、SQL基础

  1. DDL(数据定义语言)
    • CREATE DATABASE:创建一个新数据库。
    • CREATE TABLE:在数据库中创建一个新表。
    • ALTER TABLE:修改表结构。
    • DROP TABLE/DATABASE:删除表或数据库。
  2. DML(数据操纵语言)
    • INSERT INTO:向表中插入新记录。
    • UPDATE:修改表中的记录。
    • DELETE FROM:从表中删除记录。
  3. DQL(数据查询语言)
    • SELECT:从表中检索数据。
    • WHERE:过滤查询结果。
    • ORDER BY:对查询结果进行排序。
    • GROUP BY:对查询结果进行分组。
    • HAVING:过滤分组后的结果。
    • LIMIT:限制返回的记录数。
  4. 数据类型
    • 数值类型:INTFLOATDOUBLEDECIMAL等。
    • 字符串类型:CHARVARCHARTEXT等。
    • 日期和时间类型:DATETIMEDATETIMETIMESTAMP等。

五、案例

  1. 创建数据库和表

    CREATE DATABASE mydb;
    USE mydb;
    CREATE TABLE students (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT
    );
  2. 插入数据

    INSERT INTO students (name, age) VALUES ('Alice', 25), ('Bob', 22);
  3. 查询数据

    SELECT * FROM students;
    SELECT name, age FROM students WHERE age > 20;
  4. 更新数据

    UPDATE students SET age = 23 WHERE name = 'Alice';
  5. 删除数据

    DELETE FROM students WHERE id = 1;

六、索引

  1. 创建索引:为了提高查询性能,可以为表中的列创建索引。

    CREATE INDEX idx_name ON students(name);
  2. 使用索引:当执行查询时,MySQL会尝试使用合适的索引来加速查询。

七、用户权限管理

MySQL允许您创建和管理用户账户,并为每个账户分配特定的数据库权限。这有助于保护数据库的安全性和完整性。

八、备份与恢复

  1. 备份:使用mysqldump工具可以备份数据库或表。

    mysqldump -u root -p mydb > mydb_backup.sql
  2. 恢复:使用mysql命令可以恢复备份的数据。

    mysql -u root -p mydb < mydb_backup.sql

九、优化与性能调优

  1. 分析查询性能,使用 EXPLAIN 语句查看查询执行计划。
  2. 优化表结构,如选择合适的数据类型、使用索引等。
  3. 调整 MySQL 配置参数,如内存分配、缓存大小等。
  4. 监控 MySQL 运行状态,使用 SHOW STATUSSHOW PROCESSLIST 等命令查看服务器状态和进程信息。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值