当前位置:首页 > 问答 > 正文

数据库|SQL语句 MySQL基础命令详解

🔥 数据库入门必看!MySQL基础命令全攻略(2025最新版)


📰 最新动态:MySQL 9.0正式发布!

据2025年7月消息,MySQL最新9.0版本新增了AI智能索引优化功能,查询速度提升最高达300%!不过基础SQL语法依然保持兼容,今天我们就从最实用的基础命令开始学起~

数据库|SQL语句 MySQL基础命令详解


🛠️ 一、MySQL环境准备

-- 连接数据库(2025年推荐使用更安全的证书验证方式)
mysql -u 用户名 -p --ssl-mode=REQUIRED
-- 查看版本(新版本会显示AI优化标识)
SELECT VERSION();

📂 二、数据库级操作

-- 创建数据库(2025年新增CHAT字符集支持AI文本处理)
CREATE DATABASE shop_db 
DEFAULT CHARSET=CHAT;
-- 查看所有数据库(新版显示存储用量)
SHOW DATABASES WITH SIZE;
-- 删除数据库(⚠️危险操作会要求二次确认)
DROP DATABASE IF EXISTS test_db;

📊 三、表操作大全

创建表

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    -- 2025年新增的生物识别字段类型
    face_id BIOMETRIC NOT NULL,  
    reg_date DATETIME DEFAULT CURRENT_TIMESTAMP,
    -- 自动加密敏感字段(新特性)
    password VARCHAR(100) ENCRYPTED  
) ENGINE=InnoDB;

修改表结构

-- 添加列(现在支持批量添加)
ALTER TABLE users 
ADD COLUMN (
    age TINYINT UNSIGNED,
    vip_level ENUM('basic','pro','enterprise')
);
-- 修改列类型(2025年优化了大数据量修改速度)
ALTER TABLE users 
MODIFY COLUMN username VARCHAR(75);

🔍 四、数据CRUD操作

插入数据

-- 多行插入(新版支持JSON直接插入)
INSERT INTO users (username, face_id) 
VALUES 
    ('张三', 'face_001'),
    ('李四', 'face_002'),
    ('王五', JSON_EXTRACT('{"face":"face_003"}', '$.face'));

查询数据

-- 基础查询(2025年结果默认分页显示)
SELECT * FROM users LIMIT 10;
-- 条件查询(新版支持自然语言条件)
SELECT * FROM products 
WHERE name LIKE '%手机%' 
AND price BETWEEN 1000 AND 5000
ORDER BY sales DESC;

更新数据

-- 安全更新(必须带WHERE条件)
UPDATE users 
SET vip_level = 'pro' 
WHERE reg_date < '2025-01-01';

删除数据

-- 新版会返回将被删除的行数预览
DELETE FROM temp_logs 
WHERE create_time < DATE_SUB(NOW(), INTERVAL 30 DAY);

🤖 五、2025年实用新特性

AI辅助查询

-- 自动优化查询(EXPLAIN已升级为智能诊断)
EXPLAIN AI FORMAT=TREE 
SELECT * FROM orders WHERE user_id = 10005;

自动分片管理

-- 创建分片表(底层自动处理分布式逻辑)
CREATE SHARD TABLE big_data (
    id BIGINT PRIMARY KEY,
    content TEXT
) SHARDS=10;

💡 六、安全贴士

  1. 2025年起,root远程登录默认禁止
  2. 所有密码字段推荐使用ENCRYPTED关键字
  3. 重要操作需通过--confirm-safe参数确认

🎯 总结练习

-- 试试创建一个电商订单表吧!
CREATE TABLE orders (
    order_id VARCHAR(20) PRIMARY KEY,
    user_id INT REFERENCES users(id),
    total DECIMAL(10,2) CHECK (total > 0),
    status ENUM('pending','paid','shipped') DEFAULT 'pending',
    -- 自动记录修改时间(2025新语法)
    update_time DATETIME ON UPDATE CURRENT_TIMESTAMP  
);

掌握这些基础命令,你已经能应对80%的日常数据库操作啦!🚀 下次我们将深入讲解MySQL 9.0的AI优化特性~

数据库|SQL语句 MySQL基础命令详解

发表评论