【MySQL】基本操作 —— DDL

news2025/3/13 20:41:20

目录

  • DDL
  • DDL 常用操作
    • 对数据库的常用操作
      • 查看所有数据库
      • 创建数据库
      • 切换、显示当前数据库
      • 删除数据库
      • 修改数据库编码
    • 对表的常用操作
      • 创建表
      • 数据类型
        • 数值类型
        • 日期和时间类型
        • 字符串类型
      • 查看当前数据库所有表
      • 查看指定表的创建语句
      • 查看指定表结构
      • 删除表
    • 对表结构的常用操作
      • 给表添加字段(列)
      • 修改字段名和类型
      • 修改数据类型
      • 修改表名
      • 删除字段
      • 删除记录

DDL

DDL(Data Definition Language),数据定义语言,包括以下内容:

  • 对数据库的常用操作
  • 对表结构的常用操作
  • 修改表结构

DDL 常用操作

对数据库的常用操作

查看所有数据库

语法格式:

show databases;

代码示例:

-- 查看所有数据库
show databases ;

结果如下:
在这里插入图片描述

创建数据库

语法格式:

creat database [if not exists] mydb [charset = utf8];

  • [if not exists] 可写可不写。写了的话,如果该数据库已存在也不会报错,没写的话则会报错
  • [charset = utf8] 设置数据库使用的字符集,也是可写可不写

代码示例:

-- 创建数据库 mydb
create database if not exists mydb charset=utf8 ;
-- 查看所有数据库
show databases ;

结果如下:
在这里插入图片描述

切换、显示当前数据库

语法格式:

use mydb; 切换数据库

select database(); 显示当前使用的数据库

代码示例:

-- 切换到 mydb 数据库
use mydb;
-- 查看当前使用的数据库
select database();

结果如下:
在这里插入图片描述

删除数据库

语法格式:

drop database [if exists] mydb;

  • [if exists] 可写可不写。写了的话,如果该数据库不存在也不会报错,没写的话则会报错

代码示例:

-- 删除数据库 mydb
drop database if exists mydb;
-- 查看所有数据库
show databases ;

结果如下:
在这里插入图片描述

修改数据库编码

语法格式:

alter database mydb character set utf8;

代码示例:

-- 将数据库编码改为 GBK 字符集
alter database mydb character set gbk;

对表的常用操作

创建表

语法格式:

create table [if not exists] mytable (
	字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
    字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
    字段名3 类型[(宽度)] [约束条件] [comment '字段说明'],
)[表的一些设置];

注意事项:创建表是构建一张空表,指定这个表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型

代码示例:

-- 创建表
create table if not exists student(
    id int,
    name varchar(10),
    gender char(1),
    age int,
    birth date,
    address varchar(20)
);

结果如下:
在这里插入图片描述

数据类型

数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能存储起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间

数值类型
类型大小有符号 (SIGNED) 范围无符号 (UNSIGNED) 范围描述
TINYINT1 byte(-128,127)(0,255)小整数值
SMALLINT2 bytes(-32768,32767)(0,65535)大整数值
MEDIUMINT3 bytes(-8388608,8388607)(0,16777215)大整数值
INT 或 INTEGER4 bytes(-2147483648,2147483647)(0,4294967295)大整数值
BIGINT8 bytes(-263,263-1)(0,2^64-1)极大整数值
FLOAT4 bytes(-3.402823466 E+38,3.402823466351 E+38)0 和 (1.175494351 E-38,3.402823466 E+38)单精度浮点数值
DOUBLE8 bytes(-1.7976931348623157 E+308,1.7976931348623157 E+308)0 和 (2.2250738585072014 E-308,1.7976931348623157 E+308)双精度浮点数值
DECIMAL-依赖于 M (精度) 和 D (标度) 的值依赖于 M (精度) 和 D (标度) 的值小数值(精确定点数)
日期和时间类型
类型大小范围格式描述
DATE31000-01-01 至 9999-12-31YYYY-MM-DD日期值
TIME3-838:59:59 至 838:59:59HH:MM:SS时间值或持续时间
YEAR11901 至 2155YYYY年份值
DATETIME81000-01-01 00:00:00 至 9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP41970-01-01 00:00:01 至 2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS混合日期和时间值,时间戳
字符串类型
类型大小描述
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过 255 个字符的二进制数据
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

查看当前数据库所有表

语法格式:

show tables;

代码示例:

-- 切换到 mydb 数据库
use mydb;
-- 查看当前数据库的所有表
show tables;

结果如下:
在这里插入图片描述

查看指定表的创建语句

语法格式:

show create table 表名;

代码示例:

-- 查看student表的创建语句
show create table student;

结果如下:
在这里插入图片描述

查看指定表结构

语法格式:

desc 表名;

代码示例:

-- 查看student表结构
desc student;

结果如下:
在这里插入图片描述

删除表

语法格式:

drop table 表名;

代码示例:

-- 删除student表
drop table student;
-- 查看当前数据库的所有表
show tables;

结果如下:
在这里插入图片描述

对表结构的常用操作

给表添加字段(列)

语法格式:

alter table 表名 add 字段名 类型(长度) [约束];

代码示例:

create table if not exists student(
    id int,
    name varchar(10),
    gender char(1),
    age int,
    birth date,
    address varchar(20)
);
-- 为student表添加班级class列
alter table student add class varchar(10);
-- 查看student表结构
desc student;

结果如下:
在这里插入图片描述

修改字段名和类型

语法格式:

alter table 表名 change 旧字段名 新字段名 类型(长度) [约束];

代码示例:

-- 将班级class列改为专业major列,类型改为varchar(10)
alter table student change class major varchar(20);
-- 查看student表结构
desc student;

结果如下:
在这里插入图片描述

修改数据类型

语法格式:

alter table 表名 modify 字段名 新数据类型(长度);

代码示例:

-- 将学号id改为varchar类型
alter table student modify id varchar(10);
-- 查看student表结构
desc student;

结果如下:
在这里插入图片描述

修改表名

语法格式:

alter table 表名 rename to 新表名;

代码示例:

-- 将学生表student改为员工表employee
alter table student rename to employee;
-- 查看employee表结构
desc employee;

结果如下:
在这里插入图片描述

删除字段

语法格式:
alter table 表名 drop 字段名;

代码示例:

-- 删除员工表employee中的专业major列
alter table employee drop major;
-- 查看employee表结构
desc employee;

结果如下:
在这里插入图片描述

删除记录

语法格式:

truncate table 表名;

在这里插入图片描述

将该表中的记录删除,代码示例:

-- 删除学生表student中的记录
truncate table student;

结果如下:
在这里插入图片描述


下一篇为【MySQL】基本操作 —— DML

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2314482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

游戏引擎学习第152天

仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾昨天的内容 这个节目展示了我们如何从零开始制作一款完整的游戏。我们不使用任何游戏引擎或库,而是从头开始创建一款游戏,整个开发过程都会呈现给大家。你将能够看到每一行代码的编写,了解…

考研数学非数竞赛复习之Stolz定理求解数列极限

在非数类大学生数学竞赛中,Stolz定理作为一种强大的工具,经常被用来解决和式数列极限的问题,也被誉为离散版的’洛必达’方法,它提供了一种简洁而有效的方法,使得原本复杂繁琐的极限计算过程变得直观明了。本文&#x…

故障诊断——neo4j入门

文章目录 neo4jQuickStartDemo neo4j QuickStart 详情可见博客:https://www.cnblogs.com/nhdlb/p/18703804,使用docker拉取最近的一个版本进行创建 docker run -it -d -p 7474:7474 -p 7687:7687 \ -v /disk5/neo4j_docker/data:/data \ -v /disk5/ne…

【JavaWeb】快速入门——HTMLCSS

文章目录 一、 HTML简介1、HTML概念2、HTML文件结构3、可视化网页结构 二、 HTML标签语法1、标题标签2、段落标签3、超链接4、换行5、无序列表6、路径7、图片8、块1 盒子模型2 布局标签 三、 使用HTML表格展示数据1、定义表格2、合并单元格横向合并纵向合并 四、 使用HTML表单收…

若依框架-给sys_user表添加新字段并获取当前登录用户的该字段值

目录 添加字段 修改SysUser类 修改SysUserMapper.xml 修改user.js 前端获取字段值 添加字段 若依框架的sys_user表是没有age字段的,但由于业务需求,我需要新添加一个age字段: 修改SysUser类 添加age字段后,要在SysUser类 …

前端监测窗口尺寸和元素尺寸变化的方法

前端监测窗口尺寸变化和元素尺寸变化的方法 window.resize 简介 window.resize事件是浏览器提供的一种事件,用于监听窗口大小的改变。这意味着当用户调整浏览器窗口大小时,相关的JavaScript代码将被触发执行。这为开发者提供了一种机制,可…

ubuntu 部署deepseek

更新 apt update 升级 apt upgrade 格式化硬盘 mkfs.ext4 /dev/sdb 安装nginx 查看端口 一、安装Ollama Ollama是一个开源的大型语言模型(LLM)推理服务器,为用户提供了灵活、安全和高性能的语言模型推理解决方案。 ollama/docs/linux.m…

MySQL库和表的操作详解:从创建库到表的管理全面指南

目录 一、MySQL库的操作详解 〇、登录MySQL 一、数据库的创建与字符集设置 1. 创建数据库的语法 2. 创建数据库示例 查看创建出来的文件: bash下查看MySQL创建的文件 二、字符集与校验规则 1. 查看系统默认设置 2. 查看支持的字符集与校验规则 3. 校验规则对查询的影响…

PyTorch 系列教程:使用CNN实现图像分类

图像分类是计算机视觉领域的一项基本任务,也是深度学习技术的一个常见应用。近年来,卷积神经网络(cnn)和PyTorch库的结合由于其易用性和鲁棒性已经成为执行图像分类的流行选择。 理解卷积神经网络(cnn) 卷…

Java 大视界 -- Java 大数据中的数据可视化大屏设计与开发实战(127)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

「Unity3D」UGUI将元素固定在,距离屏幕边缘的某个比例,以及保持元素自身比例

在不同分辨率的屏幕下,UI元素按照自身像素大小,会发生位置与比例的变化,本文仅利用锚点(Anchors)使用,来实现UI元素,固定在某个比例距离的屏幕边缘。 首先,将元素的锚点设置为中心&…

Deep research深度研究:ChatGPT/ Gemini/ Perplexity/ Grok哪家最强?(实测对比分析)

目前推出深度研究和深度检索的AI大模型有四家: OpenAI和Gemini 的deep research,以及Perplexity 和Grok的deep search,都能生成带参考文献引用的主题报告。 致力于“几分钟之内生成一份完整的主题调研报告,解决人力几小时甚至几天…

关于sqlalchemy的ORM的使用

关于sqlalchemy的ORM的使用 二、创建表三、使用数据表、查询记录三、批量插入数据四、关于with...as...:的使用 二、创建表 使用Mapped来映射字段 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker,Mapped,mapped_columnBa…

【leetcode hot 100 148】排序序列

解法一:(双重循环)第一个循环head,逐步将head的node加入有序列表;第二个循环在有序列表中找到合适的位置,插入node。 /*** Definition for singly-linked list.* public class ListNode {* int val;* …

【Linux】在VMWare中安装Ubuntu操作系统(2025最新_Ubuntu 24.04.2)#VMware安装Ubuntu实战分享#

今天田辛老师为大家带来一篇关于在VMWare虚拟机上安装Ubuntu系统的详细教程。无论是学习、开发还是测试,虚拟机都是一个非常实用的工具,它允许我们在同一台物理机上运行多个操作系统。Ubuntu作为一款开源、免费且用户友好的Linux发行版,深受广…

AutoGen学习笔记系列(十三)Advanced - Logging

这篇文章瞄的是AutoGen官方教学文档 Advanced 章节中的 Logging 篇章,介绍了怎样在使用过程中添加日志信息,其实就是使用了python自带的日志库 logging。 官网链接:https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-g…

scrcpy pc机远程 无线 控制android app 查看调试log

背景: 公司的安卓机,是那种大屏幕的连接usb外设的。不好挪动,占地方,不能直接连接pc机上的android stduio来调试。 所以从网上找了一个python adb.exe控制器,可以局域网内远程控制开发的app,并在android stduio上看…

UE5.5 Niagara发射器更新属性

发射器属性 在 Niagara 里,Emitter 负责控制粒子生成的规则和行为。不同的 Emitter 属性决定了如何发射粒子、粒子如何模拟、计算方式等。 发射器 本地空间(Local Space) 控制粒子是否跟随发射器(Emitter)移动。 ✅…

MongoDB备份与还原

备份恢复工具介绍 1)mongoexport/mongoimport 2)mongodump/mongorestore 备份工具区别 mongoexport/mongoimport 导入/导出的是JSON格式或者CSV格式 mongodump/mongorestore 导入/导出的是BSON格式。二进制方式,速度快 1)…

计算机:基于深度学习的Web应用安全漏洞检测与扫描

目录 前言 课题背景和意义 实现技术思路 一、算法理论基础 1.1 网络爬虫 1.2 漏洞检测 二、 数据集 三、实验及结果分析 3.1 实验环境搭建 3.2 模型训练 最后 前言 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,…