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


第一节:MySQL的基本操作

1. 创建数据库

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

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

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

    CREATE DATABASE database_name;
    

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

    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 命令行客户端中输入以下命令列出所有数据库:

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

3. 语法关键字

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

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

4. 删除数据库

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

    DROP DATABASE database_name;
    

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

    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 命令行客户端中输入以下命令创建一个表格:

    CREATE TABLE table_name (
        column1_name column1_type,
        column2_name column2_type,
        ...
    );
    

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

    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 命令行客户端中输入以下命令向表格中插入数据:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);
    

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

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

    DELETE FROM table_name
    WHERE condition;
    

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

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

    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
    

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

    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 命令行客户端中输入以下命令向表格中插入数据:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, value2, ...);
    

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

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

2. 如何非顺序写入要素

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

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

    INSERT INTO table_name (column2, column1, ...)
    VALUES (value2, value1, ...);
    

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

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

3. 如何删除指定要素

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

    DELETE FROM table_name
    WHERE condition;
    

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

    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 值:

    INSERT INTO table_name (column1, column2, ...)
    VALUES (value1, NULL, ...);
    

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

    INSERT INTO students (name, age)
    VALUES ('John Doe', NULL);
    

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

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

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


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

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

常见约束类型

  1. PRIMARY KEY(主键)

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

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

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

    • 外键约束确保一个表中的值必须在另一个表中存在,用于维护表之间的引用完整性。
    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(检查约束)

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

示例:使用约束创建表格

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

删除表格

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

DROP TABLE IF EXISTS `student`;
创建表格并添加约束

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

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 表格插入数据:

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

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

SELECT * FROM `student`;

额外讲解示例

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

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_idnamemajor
1小白历史
2小黑生物
3小黑化学

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

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

修改和删除要素的案例

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

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

SET SQL_SAFE_UPDATES = 0;
步骤二:删除旧表格并创建新表格

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

DROP TABLE IF EXISTS `student`;

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

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

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 表格中的所有数据:

SELECT * FROM `student`;
步骤五:修改数据

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

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

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

DELETE FROM `student`
WHERE `student_id` = 4;

详细示例

以下是完整的 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)来确保数据的完整性。

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

[ 详细全文-点击查看](

)

file

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值