MySQL 基本语法讲解及示例(上)


第一节:MySQL的基本操作

1. 创建数据库

在 MySQL 中,创建数据库的步骤如下:

命令行操作
  1. 打开 MySQL 命令行客户端或连接到 MySQL 服务器。

  2. 输入以下命令创建一个数据库:

    sql 复制代码
    CREATE DATABASE database_name;

    例如,创建一个名为 test_db 的数据库:

    sql 复制代码
    CREATE DATABASE test_db;
图形化操作

如果使用图形化管理工具(如 phpMyAdmin 或 MySQL Workbench),创建数据库的步骤如下:

  1. 打开工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中找到 "Databases" 或 "Schemas"。
  3. 点击 "Create Database" 或 "New Schema"。
  4. 输入数据库名称(例如 test_db),然后点击 "Apply" 或 "OK"。

2. 列出所有的数据库

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令列出所有数据库:

    sql 复制代码
    SHOW DATABASES;
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中,您将看到所有现有的数据库列表。

3. 语法关键字

MySQL 中常用的语法关键字包括:

  • CREATE: 用于创建数据库、表格、视图等。
  • SHOW: 用于显示数据库、表格等信息。
  • DROP: 用于删除数据库、表格等。
  • SELECT: 用于从数据库中检索数据。
  • INSERT: 用于向表格中插入数据。
  • UPDATE: 用于更新表格中的数据。
  • DELETE: 用于删除表格中的数据。

4. 删除数据库

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除数据库:

    sql 复制代码
    DROP DATABASE database_name;

    例如,删除名为 test_db 的数据库:

    sql 复制代码
    DROP DATABASE test_db;
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 在左侧的导航面板中找到要删除的数据库(例如 test_db)。
  3. 右键点击数据库名称,选择 "Drop Database" 或 "Delete"。
  4. 确认删除操作。

第二节:如何创建数据库的表格

1. 介绍MySQL的数据类型

MySQL 提供了多种数据类型,用于存储不同类型的数据。常见的数据类型包括:

  • 整数类型 :如 INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT
  • 字符串类型 :如 CHAR, VARCHAR, TEXT, BLOB
  • 日期和时间类型 :如 DATE, TIME, DATETIME, TIMESTAMP, YEAR
  • 浮点数类型 :如 FLOAT, DOUBLE, DECIMAL

2. 创建表格示例

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令创建一个表格:

    sql 复制代码
    CREATE TABLE table_name (
        column1_name column1_type,
        column2_name column2_type,
        ...
    );

    例如,创建一个名为 students 的表格,包括学生 ID、姓名和年龄:

    sql 复制代码
    CREATE TABLE students (
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(100),
        age INT
    );
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要创建表格的数据库。
  3. 点击 "Create Table" 或 "New Table"。
  4. 输入表格名称(例如 students)。
  5. 添加列并指定数据类型(例如 idINTnameVARCHAR(100)ageINT)。
  6. 点击 "Apply" 或 "OK" 创建表格。

3. 如何增删表格中的要素

插入数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令向表格中插入数据:

    sql 复制代码
    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);

    例如,向 students 表格中插入一条记录:

    sql 复制代码
    INSERT INTO students (name, age)
    VALUES ('John Doe', 20);
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 "Insert" 或 "New Row"。
  4. 输入数据值。
  5. 点击 "Apply" 或 "OK"。
删除数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除表格中的数据:

    sql 复制代码
    DELETE FROM table_name
    WHERE condition;

    例如,删除 students 表格中年龄大于20的所有记录:

    sql 复制代码
    DELETE FROM students
    WHERE age > 20;
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要删除数据的表格(例如 students)。
  3. 点击 "Delete" 或 "Remove Row"。
  4. 指定删除条件(例如,选择要删除的行)。
  5. 点击 "Apply" 或 "OK"。
更新数据
命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令更新表格中的数据:

    sql 复制代码
    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;

    例如,更新 students 表格中 ID 为1的学生姓名:

    sql 复制代码
    UPDATE students
    SET name = 'Jane Doe'
    WHERE id = 1;
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要更新数据的表格(例如 students)。
  3. 点击 "Update" 或 "Edit Row"。
  4. 修改数据值。
  5. 点击 "Apply" 或 "OK"。

通过以上步骤,您可以在 MySQL 中完成基本的数据库和表格操作,包括创建、列出、删除数据库以及创建、增删改查表格中的数据。


第三节:如何在创建的表格中插入要素

在 MySQL 中,向表格中插入数据(要素)时有多种方式,可以按照顺序或非顺序插入数据,同时需要注意缺省值 NULL 的使用。以下是详细操作说明:

1. 如何正常增添要素

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令向表格中插入数据:

    sql 复制代码
    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);

    例如,向 students 表格中插入一条记录:

    sql 复制代码
    INSERT INTO students (name, age)
    VALUES ('John Doe', 20);
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 "Insert" 或 "New Row"。
  4. 输入数据值。
  5. 点击 "Apply" 或 "OK"。

2. 如何非顺序写入要素

有时您可能不按表格中列的顺序插入数据。在这种情况下,需要明确指定插入的列名。

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令指定列名插入数据:

    sql 复制代码
    INSERT INTO table_name (column2, column1, ...)
    VALUES (value2, value1, ...);

    例如,向 students 表格中以非正常顺序插入数据:

    sql 复制代码
    INSERT INTO students (age, name)
    VALUES (20, 'John Doe');
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要插入数据的表格(例如 students)。
  3. 点击 "Insert" 或 "New Row"。
  4. 输入数据值,注意按照指定的列名顺序输入。
  5. 点击 "Apply" 或 "OK"。

3. 如何删除指定要素

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令删除指定要素:

    sql 复制代码
    DELETE FROM table_name
    WHERE condition;

    例如,删除 students 表格中年龄为20的记录:

    sql 复制代码
    DELETE FROM students
    WHERE age = 20;
图形化操作
  1. 打开图形化管理工具并连接到 MySQL 服务器。
  2. 选择要删除数据的表格(例如 students)。
  3. 点击 "Delete" 或 "Remove Row"。
  4. 指定删除条件(例如,选择要删除的行)。
  5. 点击 "Apply" 或 "OK"。

4. 缺省值 NULL 的用法

NULL 表示数据缺失或未知值。在插入数据时,如果某列允许 NULL 值,可以显式插入 NULL,也可以在不指定该列值时默认为 NULL

命令行操作
  1. 在 MySQL 命令行客户端中输入以下命令插入 NULL 值:

    sql 复制代码
    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, NULL, ...);

    例如,向 students 表格中插入 NULL 值:

    sql 复制代码
    INSERT INTO students (name, age)
    VALUES ('John Doe', NULL);

5. 插入时应该注意的事项

  • 数据类型匹配:确保插入的数据类型与表格定义的列数据类型匹配。
  • 主键唯一性:如果表格定义了主键,插入的数据必须确保主键值唯一。
  • 非空约束 :如果某列定义了 NOT NULL 约束,则插入的数据不能为 NULL
  • 外键约束:确保插入的数据满足外键约束条件。

通过以上步骤,您可以在 MySQL 中完成对表格的增删操作,处理数据缺省值 NULL,并遵循插入数据时的注意事项,确保数据的完整性和一致性。


第四节:讲述表格创建中的限制

在创建表格时,可以使用各种约束(constraints)来确保数据的完整性和一致性。常见的约束包括主键、唯一性、非空、外键和检查约束。以下是详细说明和示例:

常见约束类型

  1. PRIMARY KEY(主键)

    • 主键约束唯一标识表格中的每一行。一个表只能有一个主键,但主键可以由多个列组成(联合主键)。
    sql 复制代码
    CREATE TABLE example (
        id INT PRIMARY KEY,
        name VARCHAR(50)
    );
  2. UNIQUE(唯一约束)

    • 唯一约束确保一列或多列的值在表格中是唯一的,允许一个表格中有多个唯一约束。
    sql 复制代码
    CREATE TABLE example (
        id INT,
        email VARCHAR(100) UNIQUE
    );
  3. NOT NULL(非空约束)

    • 非空约束确保一列不能存储 NULL 值。
    sql 复制代码
    CREATE TABLE example (
        id INT,
        name VARCHAR(50) NOT NULL
    );
  4. FOREIGN KEY(外键约束)

    • 外键约束确保一个表中的值必须在另一个表中存在,用于维护表之间的引用完整性。
    sql 复制代码
    CREATE TABLE department (
        id INT PRIMARY KEY,
        name VARCHAR(50)
    );
    
    CREATE TABLE employee (
        id INT PRIMARY KEY,
        name VARCHAR(50),
        department_id INT,
        FOREIGN KEY (department_id) REFERENCES department(id)
    );
  5. CHECK(检查约束)

    • 检查约束用于确保列中的值符合特定条件。
    sql 复制代码
    CREATE TABLE example (
        id INT,
        age INT CHECK (age >= 18)
    );

示例:使用约束创建表格

以下是一个完整的示例,包括删除现有表格、创建新表格并插入数据的过程。

删除表格

如果表格 student 已存在,需要先删除该表格:

sql 复制代码
DROP TABLE IF EXISTS `student`;
创建表格并添加约束

创建一个名为 student 的表格,并添加各种约束:

sql 复制代码
CREATE TABLE `student`(
    `student_id` INT AUTO_INCREMENT,
    `name` VARCHAR(20) NOT NULL,
    `major` VARCHAR(20) UNIQUE,
    PRIMARY KEY (`student_id`)
);

此表格包括:

  • student_id 列为主键,自动递增。
  • name 列为非空。
  • major 列为唯一。
插入数据

student 表格插入数据:

sql 复制代码
INSERT INTO `student` VALUES(1, '小白', '历史');
INSERT INTO `student` VALUES(2, '小黑', '生物');
INSERT INTO `student`(`name`, `major`) VALUES('小黑', '化学');
查询数据

查询 student 表格中的所有数据:

sql 复制代码
SELECT * FROM `student`;

额外讲解示例

使用上述约束创建表格并插入数据后的结果应如下所示:

sql 复制代码
DROP TABLE IF EXISTS `student`;

CREATE TABLE `student`(
    `student_id` INT AUTO_INCREMENT,
    `name` VARCHAR(20) NOT NULL,
    `major` VARCHAR(20) UNIQUE,
    PRIMARY KEY (`student_id`)
);

INSERT INTO `student` VALUES(1, '小白', '历史');
INSERT INTO `student` VALUES(2, '小黑', '生物');
INSERT INTO `student`(`name`, `major`) VALUES('小黑', '化学');

SELECT * FROM `student`;

在执行上述 SQL 语句后,student 表格将包含以下数据:

student_id name major
1 小白 历史
2 小黑 生物
3 小黑 化学

第五节:如何修改和删除要素

在 MySQL 中,您可以使用 UPDATE 语句修改表格中的数据,并使用 DELETE 语句删除表格中的数据。以下是详细操作说明和示例:

修改和删除要素的案例

步骤一:设置 SQL 安全更新模式

为了允许对数据的修改和删除操作,可能需要关闭 MySQL 的安全更新模式:

sql 复制代码
SET SQL_SAFE_UPDATES = 0;
步骤二:删除旧表格并创建新表格

首先,删除旧的 student 表格,并创建一个新的 student 表格:

sql 复制代码
DROP TABLE IF EXISTS `student`;

CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20),
    `major` VARCHAR(20),
    `score` INT
);
步骤三:插入数据

student 表格中插入一些示例数据:

sql 复制代码
INSERT INTO `student` VALUES (1, '小白', '英语', 50);
INSERT INTO `student` VALUES (2, '小黄', '生物', 90);
INSERT INTO `student` VALUES (3, '小绿', '历史', 70);
INSERT INTO `student` VALUES (4, '小蓝', '英语', 80);
INSERT INTO `student` VALUES (5, '小黑', '化学', 20);
步骤四:查询数据

查询 student 表格中的所有数据:

sql 复制代码
SELECT * FROM `student`;
步骤五:修改数据

使用 UPDATE 语句修改表格中的数据,例如将 major 为"英语"的记录修改为"英语文学":

sql 复制代码
UPDATE `student`
SET `major` = '英语文学'
WHERE `major` = '英语';
步骤六:删除数据

使用 DELETE 语句删除表格中的数据,例如删除 student_id 为 4 的记录:

sql 复制代码
DELETE FROM `student`
WHERE `student_id` = 4;

详细示例

以下是完整的 SQL 操作步骤:

sql 复制代码
-- 设置 SQL 安全更新模式
SET SQL_SAFE_UPDATES = 0;

-- 删除旧表格并创建新表格
DROP TABLE IF EXISTS `student`;

CREATE TABLE `student`(
    `student_id` INT PRIMARY KEY,
    `name` VARCHAR(20),
    `major` VARCHAR(20),
    `score` INT
);

-- 插入数据
INSERT INTO `student` VALUES (1, '小白', '英语', 50);
INSERT INTO `student` VALUES (2, '小黄', '生物', 90);
INSERT INTO `student` VALUES (3, '小绿', '历史', 70);
INSERT INTO `student` VALUES (4, '小蓝', '英语', 80);
INSERT INTO `student` VALUES (5, '小黑', '化学', 20);

-- 查询数据
SELECT * FROM `student`;

-- 修改数据
UPDATE `student`
SET `major` = '英语文学'
WHERE `major` = '英语';

-- 删除数据
DELETE FROM `student`
WHERE `student_id` = 4;

-- 查询修改和删除后的数据
SELECT * FROM `student`;

修改和删除操作的注意事项

  1. 谨慎使用 UPDATEDELETE 语句 :特别是在没有 WHERE 子句的情况下,可能会意外修改或删除表格中的所有数据。
  2. 备份数据:在执行批量修改或删除操作前,建议先备份数据,以防出现操作失误导致数据丢失。
  3. 使用事务 :在需要保证数据操作的原子性时,可以使用事务(START TRANSACTION, COMMIT, ROLLBACK)来确保数据的完整性。

如果这对您有所帮助,希望点赞支持一下作者! 😊

详细全文-点击查看(

)

相关推荐
clorinda31 分钟前
MySQL 入门笔记:DQL 基础查询与常用函数
adb
JavaPub-rodert2 小时前
Go 后台如何同时兼容 MySQL、PostgreSQL、SQLite 和 SQL Server?从 ShiyuAdmin 看 GORM 多数据库适配
数据库·mysql·postgresql·golang·javapub·王仕宇
爱吃火鸡面呀3 小时前
MySQL 查询与函数详解:从基础条件筛选到高级字符处理
数据库·mysql
知行产研4 小时前
中国矿山无人驾驶出海的三重门
数据库·mysql·php
爱和冰阔落5 小时前
【MySQL 慢查询排查实战】列表接口逐渐变慢时,怎样从请求链路定位原因
android·数据库·mysql
Dxy12393102165 小时前
MySQL有哪些锁?InnoDB锁体系完整梳理博客
数据库·mysql
wear工程师5 小时前
MySQL 索引条件下推是什么?Using index condition 并不是覆盖索引
sql·mysql
蒸蒸yyyyzwd5 小时前
cpp选手秋招学习笔记 day12
笔记·学习·oracle
方便面不加香菜6 小时前
MySQL 复合查询
数据库·mysql
花花鱼6 小时前
MySQL Illegal mix of collations 全解|字符集与排序规则冲突原理、分层排错、通用解决方案(适配5.7/8.0迁移)
数据库·mysql