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

相关推荐
猿月亮2 小时前
MySQL自启动失败(MySQL不能开机自启)解决方案_MySQL开机自启疑难杂症解决,适用Win11/Win10
数据库·mysql
酷炫码神2 小时前
MySQL查询
数据库·mysql
大明湖的狗凯.2 小时前
MySQL 中的排序:索引排序与文件排序
数据库·mysql·oracle
XMYX-02 小时前
深入解析 Django 中数据删除的最佳实践:以动态管理镜像版本为例
数据库·django·sqlite
Lostgreen2 小时前
SQL on Hadoop
数据库·hadoop·笔记·分布式·sql·学习
Karoku0662 小时前
【docker集群应用】Docker常用命令
运维·数据库·docker·容器
没有黑科技3 小时前
网上蛋糕售卖店管理系(Java+SpringBoot+MySQL)
java·spring boot·mysql
swiftlzk3 小时前
redmi 12c 刷机
android·数据库
人才程序员4 小时前
详解Qt 中使用虚拟键盘(软键盘qtvirtualkeyboard)
开发语言·数据库·c++·qt·计算机外设·界面·c语音