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;
相关推荐
喵手12 分钟前
Java中的HashMap:你了解它的工作原理和最佳实践吗?
java·后端·java ee
weixin_4565881516 分钟前
【java面试day16】mysql-覆盖索引
java·mysql·面试
冷月半明25 分钟前
把离线 Python 项目塞进 Docker:从 0 到 1 的踩坑实录,一口气讲透 10 个最常见困惑
后端
用户2986985301433 分钟前
如何使用 Spire.Doc 在 Word 中查找和替换文本?
后端
宫水三叶的刷题日记43 分钟前
真的会玩,钉钉前脚辟谣高管凌晨巡查工位,小编随后深夜发文
前端·后端·面试
天天摸鱼的java工程师43 分钟前
Go 语言未来会取代 Java 吗?
java·后端
野犬寒鸦1 小时前
力扣hot100:最大子数组和的两种高效方法:前缀和与Kadane算法(53)
java·后端·算法
AAA修煤气灶刘哥1 小时前
《从 0 到 1 上手:RBAC+SpringSecurity 权限管理教程》
java·后端·安全
倚栏听风雨1 小时前
CompletableFuture 延时执行任务
后端
舒一笑1 小时前
MySQL中模糊匹配like的一个坑
后端·mysql