MySQL INSERT CRTATE DELETE DORP UPDATE WHERE 的用法

MySQL INSERT CRTATE DELETE DORP UPDATE WHERE 的用法

sql 复制代码
-- 创建数据库
CREATE DATABASE example_db;

-- 使用数据库
USE example_db;

-- 创建表
CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(50),
    salary DECIMAL(10, 2)
);

-- 插入数据
INSERT INTO employees (name, position, salary) VALUES ('John Doe', 'Developer', 75000.00);
INSERT INTO employees (name, position, salary) VALUES ('Jane Smith', 'Manager', 85000.00);

-- 查询所有员工
SELECT * FROM employees;

-- 更新员工信息
UPDATE employees SET salary = 80000.00 WHERE name = 'John Doe';

-- 删除特定员工
DELETE FROM employees WHERE name = 'Jane Smith';

-- 删除表
DROP TABLE employees;

-- 删除数据库
DROP DATABASE example_db;

在MySQL中,上述语句涵盖了从数据库创建到数据表的增删改查操作。下面将详细讲解这些语句的注意点和使用细节。

创建数据库

复制代码

sql

深色版本

复制代码
CREATE DATABASE example_db;
  • 字符集 :在创建数据库时,可以指定字符集以确保数据存储的一致性。例如 CREATE DATABASE example_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 这里指定了使用utf8mb4字符集和相应的排序规则

    2
    。

  • 存在检查 :为了避免尝试创建已经存在的数据库而引发错误,可以使用 IF NOT EXISTS 选项,如 CREATE DATABASE IF NOT EXISTS example_db;

    3
    。

使用数据库

复制代码

sql

深色版本

复制代码
USE example_db;
  • 确保数据库已存在,并且当前用户有权限访问该数据库。如果数据库不存在或没有权限,将会收到错误提示。

创建表

复制代码

sql

深色版本

复制代码
CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(50),
    salary DECIMAL(10, 2)
);
  • 字段定义:每个字段都需要明确其数据类型。对于数值类型,如这里的salary,选择合适的精度和小数位数很重要。DECIMAL(10, 2)表示总共有10位数字,其中2位是小数部分。

  • 主键设置 :id字段被定义为自动递增的主键,这有助于唯一标识每条记录。

  • 注释 :为了提高代码可读性和维护性,建议对表和字段添加注释,例如 name VARCHAR(100) COMMENT '员工姓名';

    7
    。

  • 命名规范 :表名和字段名应具有描述性,避免使用保留字,同时保持简洁

    11
    。

插入数据

复制代码

sql

深色版本

复制代码
INSERT INTO employees (name, position, salary) VALUES ('John Doe', 'Developer', 75000.00);
  • 插入顺序:当指定了列名时,值的顺序必须与列名匹配。如果省略列名,则需要提供所有列的值。

  • 批量插入 :对于大量数据的插入,可以使用多行VALUES子句或者使用INSERT...SELECT语句来提高效率

    17
    。

  • 数据验证:确保插入的数据符合字段的数据类型要求,特别是日期和时间类型,要使用正确的格式。

查询所有员工

复制代码

sql

深色版本

复制代码
SELECT * FROM employees;
  • 性能考虑 :虽然*可以方便地获取所有列,但在处理大表时,建议仅查询所需的列,以减少I/O开销

    9
    。

  • 索引利用:如果经常执行特定查询,考虑在相关列上建立索引以加速检索过程。

更新员工信息

复制代码

sql

深色版本

复制代码
UPDATE employees SET salary = 80000.00 WHERE name = 'John Doe';
  • 条件精确性:WHERE子句必须足够具体,以防止意外更新其他不相关的记录。
  • 事务处理:对于关键业务操作,建议使用事务来保证数据的一致性和完整性。

删除特定员工

复制代码

sql

深色版本

复制代码
DELETE FROM employees WHERE name = 'Jane Smith';
  • 谨慎操作:删除操作不可逆,务必确认WHERE条件正确无误。为了安全起见,可以在执行前先用SELECT语句预览将要删除的记录。

  • 限制结果 :在执行删除等危险操作时,可以加上LIMIT子句作为额外的安全措施

    7
    。

删除表

复制代码

sql

深色版本

复制代码
DROP TABLE employees;
  • 确认操作:这是一个非常危险的操作,一旦执行,表中的所有数据将被永久删除。确保这是你想要的结果。

删除数据库

复制代码

sql

深色版本

复制代码
DROP DATABASE example_db;
  • 最终确认:删除整个数据库意味着数据库内的所有表和数据都将消失。在执行此命令之前,请确保备份了重要数据。

以上是关于这些MySQL语句的一些关键注意事项和最佳实践。在实际应用中,还需要根据具体情况调整策略,比如考虑安全性、性能优化以及数据完整性等因素。

相关推荐
程序员清风1 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律2 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵2 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅3 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_3 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界5 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB5 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛5 小时前
MySQL的操作
数据库·mysql
猫咪很可爱5 小时前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle
小豆庄6 小时前
视频素材处理时的隐私盲区:云处理与本地处理的边界在哪
数据库·图像处理·视频·敏捷流程