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 小时前
基于微信小程序的民宿预订管理系统
java·vue.js·spring boot·后端·mysql·微信小程序·小程序
云和恩墨2 小时前
云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?
数据库·人工智能·云计算·dba
明月看潮生2 小时前
青少年编程与数学 02-007 PostgreSQL数据库应用 11课题、视图的操作
数据库·青少年编程·postgresql·编程与数学
阿猿收手吧!2 小时前
【Redis】Redis入门以及什么是分布式系统{Redis引入+分布式系统介绍}
数据库·redis·缓存
奈葵2 小时前
Spring Boot/MVC
java·数据库·spring boot
leegong231112 小时前
Oracle、PostgreSQL该学哪一个?
数据库·postgresql·oracle
中东大鹅2 小时前
MongoDB基本操作
数据库·分布式·mongodb·hbase
夜光小兔纸3 小时前
Oracle 普通用户连接hang住处理方法
运维·数据库·oracle
兩尛4 小时前
订单状态定时处理、来单提醒和客户催单(day10)
java·前端·数据库
web2u5 小时前
MySQL 中如何进行 SQL 调优?
java·数据库·后端·sql·mysql·缓存