SpringBoot新手快速入门系列教程三:Mysql基础生存命令指南

以下是一些基本的MySQL命令,帮助你创建数据库、创建表、定义各种类型的列、设置主键和外键、插入数据以及查询数据。

1. 创建数据库

复制代码
CREATE DATABASE mydatabase;

2. 使用数据库

复制代码
USE mydatabase;

3. 创建表

以下是一个示例,创建一个名为 users 的表,包含各种类型的列,并设置主键和外键。

复制代码
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,       -- 主键
    username VARCHAR(50) NOT NULL,           -- 字符串列
    password VARCHAR(255) NOT NULL,          -- 字符串列
    email VARCHAR(100),                      -- 字符串列
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,  -- 时间戳
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  -- 时间戳
    profile_id INT,                          -- 外键引用列
    CONSTRAINT fk_profile FOREIGN KEY (profile_id) REFERENCES profiles(id)  -- 外键约束
);

4. 清空表

清空表(删除所有数据但保留表结构)

复制代码
TRUNCATE TABLE tablename;

5. 创建各种类型的列

在 CREATE TABLE 语句中,你可以定义不同类型的列:

  • INT:整数
  • VARCHAR(n):可变长度字符串
  • TEXT:文本
  • DATE:日期
  • TIMESTAMP:时间戳
  • DECIMAL(m, d):定点数

示例:

复制代码
CREATE TABLE products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(100) NOT NULL,
    description TEXT,
    price DECIMAL(10, 2),
    created_date DATE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

6. 插入数据

复制代码
INSERT INTO users (username, password, email, profile_id) VALUES ('john_doe', 'securepassword', 'john@example.com', 1);

7. 查询所有数据

复制代码
SELECT * FROM users;

8. 根据某个键查询数据

根据主键查询:

复制代码
SELECT * FROM users WHERE id = 1;

根据其他键查询:

复制代码
SELECT * FROM users WHERE username = 'john_doe';

9. 创建和使用外键

假设你有一个 profiles 表,创建 profiles 表:

复制代码
CREATE TABLE profiles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    bio TEXT,
    website VARCHAR(100)
);

在 users 表中添加 profile_id 外键:

复制代码
ALTER TABLE users
ADD CONSTRAINT fk_profile
FOREIGN KEY (profile_id)
REFERENCES profiles(id);

10. 删除数据

删除特定行:

复制代码
DELETE FROM users WHERE id = 1;

11. 更新数据

复制代码
UPDATE users SET email = 'john_new@example.com' WHERE id = 1;

12.删除表

复制代码
DROP TABLE tablename;

13,删除数据库

复制代码
DROP DATABASE mydatabase;
相关推荐
IT_陈寒4 小时前
Java中equals方法比了个寂寞?原来这才是正确的重写姿势
前端·人工智能·后端
Thneonl4 小时前
Celery 生产踩坑:1000 任务积压与 acks_late 双重执行
后端·python
卷福同学4 小时前
第一次当面试官有感
后端·面试
苏三说技术4 小时前
为什么越来越多人用 OnlyOffice?
后端
知守观4 小时前
@Transactional 事务失效排查,try-catch 吞异常导致回滚失败(附源码分析)
后端·spring
羑悻4 小时前
Codex + Seed-2.1-pro 实测:多模态理解 + Coding Agent 能扛住真实仓库吗?
后端
颜进强4 小时前
14 · NestJS ExecutionContext 执行上下文:守卫、拦截器、过滤器拿到的"同一个 context",为什么能力不一样?
前端·后端·ai编程
小小张说故事4 小时前
Python 多线程为什么跑不快?asyncio 入门指南:异步并发从零上手
后端·python
明月_清风4 小时前
数据进入平台后怎么处理?一文搞懂 ETL
大数据·后端·数据分析
初学AI的小高4 小时前
LangGraph断点恢复与幂等执行实战
后端·架构