当前位置: 首页 > web >正文

菜鸟之路Day29一一MySQL之DDL

菜鸟之路Day29一一MySQL之DDL

作者:blue

时间:2025.5.2

文章目录

  • 菜鸟之路Day29一一MySQL之DDL
    • 0.概述
    • 1.DDL之数据库操作
      • 1.1查询
      • 1.2创建
      • 1.3使用
      • 1.4删除
    • 2.DDL之表操作
      • 2.1创建表
      • 2.2数据类型
      • 2.3查询表
      • 2.4修改表结构
      • 2.5删除表

0.概述

文章内容学习自黑马程序员BV1m84y1w7Tb

何为DDL?

答:DDL即数据定义语言,用来定义数据库对象(数据库,表,字段)

注意单条SQL语句结尾要使用分号来标记

1.DDL之数据库操作

1.1查询

查询所有数据库

show databases;

查询当前正在使用的数据库

select database();

1.2创建

创建数据库

create database [if not exists] 数据库名;

1.3使用

使用某个数据库

use 数据库名;

1.4删除

删除数据库

drop database [if exists] 数据库名; 

2.DDL之表操作

2.1创建表

create table 表明{字段1 字段类型 [约束] [comment 字段1注释],……字段n 字段类型 [约束] [comment 字段n注释]
}[comment 表注释];

约束

概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据

目的:保证数据库中数据的正确性,有效性和完整性

约束描述关键字
非空约束限制该字段值不能为nullnot null
唯一约束保证字段的所有数据都是唯一的,不重复的unique
主键约束主键是一行数据的唯一标识,要求非空且唯一primary key (auto_increment自增)
默认约束保存数据时,如果未指定该字段值,则采用默认值default
外键约束让两张表的数据建立连接,保证数据的一致性和完整性foreign key

示例:

create table tb_user(id int primary key auto_increment comment 'id,唯一标识',username varchar(50) not null unique comment '用户名',name varchar(15) not null comment '姓名',age int comment '年龄',gender char(1) default '男' comment '性别'
)comment '用户表';

2.2数据类型

数值类型:

在这里插入图片描述

字符串类型:

在这里插入图片描述

char(10):最多只能存10个字符,不足10个字符,占用10个字符空间

varchar(10):最多只能存10个字符,不足10个字符,按照实际长度存储

日期时间类型:

在这里插入图片描述

2.3查询表

查询当前数据库所有表:show table;查询表结构:desc 表名;查询建表语句:show create table 表名;

2.4修改表结构

添加字段:alter table 表名 add 字段名 类型(长度)[comment 注释][约束];修改字段类型:alter table 表名 modify 字段名 新数据类型(长度);修改字段名和字段类型:alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];删除字段:alter table 表名 drop column 字段名;修改表名: rename table 表名 to 新表名;

示例:

alter table tb_user add qq_num varchar(10) comment 'QQ号码';alter table tb_user modify qq_num varchar(11);alter table tb_user change qq_num qq varchar(12) comment 'QQ号码';alter table tb_user drop column qq;rename table tb_user to user

2.5删除表

删除表:drop table [if exists] 表名;
http://www.xdnf.cn/news/3523.html

相关文章:

  • LeetCode 560. 和为 K 的子数组 | 前缀和与哈希表的巧妙应用
  • [machine learning] Transformer - Attention (一)
  • 第5篇:EggJS中间件开发与实战应用
  • 【计算机网络网络层深度解析】从IP协议到路由优化
  • C++ 复习
  • Servlet 解决了什么问题?
  • 重构之道:识别并替换不合适使用的箭头函数
  • Linux中的权限
  • 【中间件】brpc_基础_butex.h
  • Python装饰器执行时机详解:模块加载时的魔法
  • 跟韩学AiOps系列之2025学MySQL系列_如何在MySQL中开启和提交事务?!
  • (10)Vue3核心语法大全
  • Gradio全解20——Streaming:流式传输的多媒体应用(3)——实时语音识别技术
  • 推荐系统(1)--用户协同过滤和物品协同过滤
  • 头皮理疗预约小程序开发实战指南
  • Linux常用命令28——addgroup添加组
  • 【android Framework 探究】pixel 5 内核编译
  • MCP 探索:微软 Microsoft MarkItDown MCP ,可把 Word、Excel 等转换成 MarkDown 格式
  • GAMES202-高质量实时渲染(Assignment 2)
  • 正则表达式与文本三剑客grep、sed、awk
  • 【无需docker】mac本地部署dify
  • 从文本到向量:揭秘词向量转换的奥秘与实践
  • C++负载均衡远程调用学习之QPS性能测试
  • 溯因推理思维——AI与思维模型【92】
  • AimRT从入门到精通 - 03Channel发布者和订阅者
  • 18. LangChain分布式任务调度:大规模应用的性能优化
  • 【git】获取特定分支和所有分支
  • 【东枫科技】AMD / Xilinx Alveo™ V80计算加速器卡
  • 文章五《卷积神经网络(CNN)与图像处理》
  • Java大师成长计划之第10天:锁与原子操作