【MySQL | 第一篇】数据库和表的基本操作(DDL语句)

前言

如果把数据库比作一栋房子,那么 DDL (Data Definition Language,数据定义语言) 就是用来打地基、建框架、砌墙的。它决定了房子的结构,映射到MySQL中主要用来对数据库和数据表来进行基本的操作。

一、数据库操作(DataBase)

🐬查询

  • 查询所有数据库:

    sql 复制代码
    show databases ;
  • 查询当前数据库:

    sql 复制代码
    SELECT DATABASE();

🐬创建

  • 创建数据库:

    sql 复制代码
    CREATE DATABASE IF NOT EXISTS tb_user DEFAULT CHARSET utf8mb4;

🐬删除

  • 删除数据库:

    sql 复制代码
    DROP DATABASE tb_user;

🐬使用

  • 使用数据库:

    sql 复制代码
    use tb_user;

二、数据表操作(Table)

🐬创建

  • 创建数据表:

    sql 复制代码
    CREATE TABLE users(
        id TINYINT AUTO_INCREMENT PRIMARY KEY COMMENT '用户id',
        username varchar(20) COMMENT '用户名',
        email varchar(100) COMMENT '邮箱',
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
    ) COMMENT '用户信息表';

🐬修改

  • 添加新列(ADD):

    sql 复制代码
    ALTER TABLE users ADD age INT COMMENT '用户年龄';
  • 修改列定义(MODIFY、CHANGE):

    • MODIFY:只修改类型、长度或约束,不改名。

      sql 复制代码
      ALTER TABLE users MODIFY username VARCHAR(100) NOT NULL ;
    • CHANGE:不仅能修改类型,还能重命名列。

      sql 复制代码
      ALTER TABLE users CHANGE email user_email varchar(120);
  • 删除(DROP):

    sql 复制代码
    ALTER TABLE users DROP age;
  • 改表名(RENAME):

    sql 复制代码
    ALTER TABLE users RENAME TO user_info;

🐬删除

  • 删除数据表:

    sql 复制代码
    DROP TABLE IF EXISTS users_info;
相关推荐
SelectDB10 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶11 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵14 小时前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils14 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
SamDeepThinking18 小时前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
Databend1 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
李白客3 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence3 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将3 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils4 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库