一篇文章带你入门mysql

目录

1. MySQL 安装

1.1 Windows 10 安装

1.2 Ubuntu 安装

2. Navicat 客户端连接

3. DDL(Data Definition Language 数据定义语言)

4. DML(Data Manipulation Language 数据操纵语言)

5. DCL(Data Control Language 数据控制语言)

6. 外键

7. 查询语句

8. 数据类型

9. 扩展知识

(1) 视图

(2) 函数与存储过程

(3) 索引

(4) 存储引擎

(5) 事务

10. PyMySQL 使用

总结


 

1. MySQL 安装

1.1 Windows 10 安装

步骤:

  1. 下载 MySQL Installer

    • 访问 MySQL 官方网站

    • 选择适合 Windows 的安装程序(MySQL Installer)。

  2. 运行安装程序

    • 下载完成后,双击安装程序并运行。

    • 选择“自定义安装”(Custom)或“完整安装”(Full),建议选择“自定义安装”以便灵活配置。

  3. 配置 MySQL

    • 在安装过程中,选择“服务器配置”(Server Configuration)。

    • 设置 MySQL 的用户名和密码(默认用户名为 root)。

    • 配置端口号(默认为 3306)。

    • 完成安装向导。

  4. 验证安装

    • 打开命令提示符,输入以下命令验证 MySQL 是否安装成功:

      mysql -u root -p
    • 输入密码后,如果成功进入 MySQL 命令行,说明安装成功。

1.2 Ubuntu 安装

步骤:

  1. 更新软件包列表

    • 打开终端,运行以下命令:

      sudo apt update
  2. 安装 MySQL Server

    • 运行以下命令安装 MySQL:

      sudo apt install mysql-server
  3. 安全配置

    • 安装完成后,运行以下命令进行安全配置:

      sudo mysql_secure_installation
    • 按提示设置 root 用户密码,移除匿名用户,禁止远程 root 登录等。

  4. 验证安装

    • 运行以下命令验证 MySQL 是否安装成功:

      sudo mysql -u root -p

2. Navicat 客户端连接

步骤:

  1. 下载 Navicat

  2. 安装 Navicat

    • 下载完成后,运行安装程序并按照提示完成安装。

  3. 连接 MySQL 数据库

    • 打开 Navicat,点击“新建连接”。

    • 选择“MySQL”作为数据库类型。

    • 填写连接名称、主机名/IP(如 localhost 或服务器IP)、端口号(默认为 3306)、用户名(如 root)和密码。

    • 点击“测试连接”验证连接是否成功。


3. DDL(Data Definition Language 数据定义语言)

常用命令:

  • 创建数据库

    CREATE DATABASE mydatabase;
  • 切换数据库

    USE mydatabase;
  • 创建表

    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(50) NOT NULL,
        email VARCHAR(100) UNIQUE,
        age INT
    );
  • 修改表结构

    ALTER TABLE users ADD COLUMN phone VARCHAR(20);
    ALTER TABLE users DROP COLUMN phone;
    ALTER TABLE users MODIFY COLUMN age INT NOT NULL;
  • 删除表

    DROP TABLE users;
  • 删除数据库

    DROP DATABASE mydatabase;

4. DML(Data Manipulation Language 数据操纵语言)

常用命令:

  • 插入数据

    INSERT INTO users (name, email, age) VALUES ('Alice', 'alice@example.com', 25);
  • 更新数据

    UPDATE users SET age = 26 WHERE name = 'Alice';
  • 删除数据

    DELETE FROM users WHERE name = 'Alice';
  • 查询数据

    SELECT * FROM users;
    SELECT name, age FROM users WHERE age > 20;

5. DCL(Data Control Language 数据控制语言)

常用命令:

  • 授权

    GRANT SELECT, INSERT ON mydatabase.users TO 'username'@'localhost';
  • 撤销权限

    REVOKE SELECT ON mydatabase.users FROM 'username'@'localhost';
  • 创建用户

    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
  • 删除用户

    DROP USER 'newuser'@'localhost';

6. 外键

示例:

  • 创建表并设置外键

    CREATE TABLE orders (
        order_id INT AUTO_INCREMENT PRIMARY KEY,
        user_id INT,
        amount DECIMAL(10, 2),
        FOREIGN KEY (user_id) REFERENCES users(id)
    );
  • 插入数据时,外键必须引用主表中存在的值

    INSERT INTO orders (user_id, amount) VALUES (1, 100.00);

7. 查询语句

常用查询:

  • 基本查询

    SELECT * FROM users WHERE age > 20;
  • 排序

    SELECT * FROM users ORDER BY age ASC;
  • 分组与聚合

    SELECT age, COUNT(*) FROM users GROUP BY age;
  • 连接查询

    SELECT users.name, orders.amount FROM users JOIN orders ON users.id = orders.user_id;

8. 数据类型

常见数据类型:

  • 数值类型

    • INT:整数

    • DECIMAL:定点数(小数)

  • 字符串类型

    • VARCHAR:变长字符串

    • TEXT:长文本

  • 日期和时间类型

    • DATE:日期

    • DATETIME:日期和时间

  • 布尔类型

    • TINYINT(通常用 0 和 1 表示布尔值)


9. 扩展知识

(1) 视图

创建视图:

CREATE VIEW user_summary AS
SELECT name, age, COUNT(*) AS order_count
FROM users JOIN orders ON users.id = orders.user_id
GROUP BY users.id;

查询视图:

SELECT * FROM user_summary;
(2) 函数与存储过程

创建存储过程:

DELIMITER //
CREATE PROCEDURE GetUsers()
BEGIN
    SELECT * FROM users;
END //
DELIMITER ;

调用存储过程:

CALL GetUsers();
(3) 索引

创建索引:

CREATE INDEX idx_name ON users(name);

查看索引:

SHOW INDEX FROM users;
(4) 存储引擎

常见存储引擎:

  • InnoDB:支持事务、外键。

  • MyISAM:不支持事务,读取速度快。

查看表的存储引擎:

SHOW TABLE STATUS;
(5) 事务

事务操作:

START TRANSACTION;
INSERT INTO users (name, email, age) VALUES ('Bob', 'bob@example.com', 30);
INSERT INTO orders (user_id, amount) VALUES (LAST_INSERT_ID(), 200.00);
COMMIT;

10. PyMySQL 使用

安装 PyMySQL:

pip install pymysql

示例代码:

import pymysql

# 连接到 MySQL 数据库
connection = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    database='mydatabase',
    charset='utf8mb4'
)

try:
    # 创建游标对象
    cursor = connection.cursor()

    # 创建表
    cursor.execute("""
        CREATE TABLE IF NOT EXISTS users (
            id INT AUTO_INCREMENT PRIMARY KEY,
            name VARCHAR(50) NOT NULL,
            email VARCHAR(100) UNIQUE,
            age INT
        )
    """)

    # 插入数据
    cursor.execute("INSERT INTO users (name, email, age) VALUES (%s, %s, %s)",
                   ('Alice', 'alice@example.com', 25))

    # 查询数据
    cursor.execute("SELECT * FROM users")
    result = cursor.fetchall()
    for row in result:
        print(row)

    # 提交事务
    connection.commit()

except Exception as e:
    print(f"发生错误:{e}")
    connection.rollback()

finally:
    # 关闭连接
    cursor.close()
    connection.close()

总结

        以上内容涵盖了 MySQL 的基本安装、操作以及一些高级特性。通过这些知识,你可以快速入门 MySQL 并开始使用它进行数据库开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值