【MySQL】基本操作 —— DDL

目录

  • 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.mzph.cn/news/897752.shtml

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

相关文章

工厂模式加策略模式 -- 具体实现

这里写目录标题 定义接口定义抽象类定义主处理器分支处理器定义工厂demo 定义接口 public interface EntityHandler extends InitializingBean {MatchContentDTO match(MatchEntityDTO matchEntityDTO);String supportEntityType(); }定义抽象类 public abstract class Abstr…

基于Spring Boot的网上宠物店系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

PHPCMS V9 登录加密改造

要改造 phpcms 的后台登录,使其前端使用加密方式提交,后端解密,你可以采用 RSA 非对称加密 或 AES 对称加密 方式来增强安全性。 方案设计 前端加密 生成公私钥对(推荐使用 RSA)。前端使用公钥加密密码,然…

LeetCode 滑动数组统计+至少 2962. 统计最大元素出现至少 K 次的子数组

2962. 统计最大元素出现至少 K 次的子数组 给你一个整数数组 nums 和一个 正整数 k 。 请你统计有多少满足 「 nums 中的 最大 元素」至少出现 k 次的子数组,并返回满足这一条件的子数组的数目。 子数组是数组中的一个连续元素序列。 示例 1: 输入&#…

FANUC机器人几种常用的通讯网络及接口

FANUC机器人几种常用的通讯网络及接口 Devicenet 网络通讯接口,接口为5针线 (规定用的机架为 81-84) PROFIBUS 网络通讯接口,针脚为2针(规定用的机架为 67) Intemet 网络通讯接口(常用的网线接口&#xf…

CentOS8+Zabbix7.2.4解决中文显示问题

#cd /usr/share/zabbix/ui/include/ #grep graphfont defines.inc.php define(‘ZBX_GRAPH_FONT_NAME’, ‘graphfont’); // font file name define(‘ZBX_FONT_NAME’, ‘graphfont’); #ll /usr/share/zabbix/ui/assets/fonts/graphfont.ttf lrwxrwxrwx. 1 root root 36 3…

AI自动化编程初探

先说vscodeclinemodelscope方案,后面体验trae或者cursor再写写其它的。vscode和trae方案目前来说是免费的,cursor要用claud需要付费,而且不便宜,当然效果可能是最好的。 vscode方案,我的经验是最好在ubuntu上&#xff…

101.在 Vue 3 + OpenLayers 使用 declutter 避免文字标签重叠

1. 前言 在使用 OpenLayers 进行地图开发时,我们经常需要在地图上添加点、线、区域等图形,并给它们附加文字标签。但当地图上的标注较多时,文字标签可能会发生重叠,导致用户无法清晰地查看地图信息。 幸运的是,OpenL…

18天 - 常见的 HTTP 状态码有哪些?HTTP 请求包含哪些内容,请求头和请求体有哪些类型?HTTP 中 GET 和 POST 的区别是什么?

常见的 HTTP 状态码有哪些? HTTP 状态码用于指示服务器对客户端请求的响应结果,常见的 HTTP 状态码可以分为以下几类: 1. 信息类(1xx) 100 Continue:客户端应继续发送请求。101 Switching Protocols&…

IXTUR气控永磁铁:以高精度气控和稳定磁场,为机器人应用提供稳定抓取力

在现代工业生产和物流领域,物料的抓取与搬运是影响生产效率和成本控制的重要环节。传统夹爪在面对不同材质、形状和重量的物体时,常常存在适应性差、抓取不稳定、操作复杂等问题,导致生产流程中频繁出现停机调整,增加了人工干预成…

江科大51单片机笔记【16】AD/DA转换(下)

写在前言 此为博主自学江科大51单片机(B站)的笔记,方便后续重温知识 在后面的章节中,为了防止篇幅过长和易于查找,我把一个小节分成两部分来发,上章节主要是关于本节课的硬件介绍、电路图、原理图等理论知识…

【C++】 —— 笔试刷题day_4

刷题day_4 继续加油!!! 一、Fibonacci数列 题目链接:Fibonacci数列 题目解析 题目要求,输入一个数N,我们可以对N进行1/-1操作;题目让我们输出对N进行至少多少步可以变成Fibonacci数。 这里题目…

IP层之分片包的整合处理---BUG修复

在之前章节中,笔者就IP层之分片包的整合处理进行了概念介绍,以及代码编写和仿真,在整体代码调试环节,笔者发现了一个问题,在本文中,笔者将就这个BUG进行说明,以及进行修复,讲解代码实…

修复Electron项目Insecure Content-Security-Policy(内容安全策略CSP)警告的问题

将以下代码粘贴进html的<header>标签内 <metahttp-equiv"Content-Security-Policy"content"default-src self; style-src self unsafe-inline; img-src self data:; "> 解释一下上面代码中的属性含义 default-src self&#xff1a;配置加载策…

linux 的免密切换用户PAM配置

/etc/pam.d/su是Linux系统中与用户切换&#xff08;su命令&#xff09;相关的PAM&#xff08;Pluggable Authentication Modules&#xff0c;可插拔认证模块&#xff09;配置文件。以下是对它的详细介绍&#xff1a; 简介 作用 PAM是一种用于管理系统认证的机制&#xff0c;…

pyspark 数据处理的三种方式RDD、DataFrame、Spark SQL案例

目录 一、浅语二、三种数据处理方式比较2.1 RDD2.2 DataFrame2.3 Spark SQL 三、三种方法的创建方式3.1 创建RDD3.2 创建DataFrame3.2.1 创建sqlContext3.2.2 定义Schema3.2.3 创建DataFrame 3.3 创建SparkSQL3.3.1 登录临时表3.3.2 使用sparkSQL 四、三种方法显示部分字段4.1 …

文件解析漏洞靶机---- 练习通关攻略

1.安装靶机 点击 hackme.ova 文件&#xff0c;直接导入虚拟机&#xff0c;选择存储位置 2. 开启靶机 3. kali扫描同C段的ip&#xff0c;找到靶机ip nmap 192.168.182.1/24 经判断&#xff0c;靶机ip为&#xff1a;192.168.182.157 开启端口 http 80 、ssh 远程连接 22 4…

信号处理抽取多项滤波的数学推导与仿真

昨天的《信号处理之插值、抽取与多项滤波》&#xff0c;已经介绍了插值抽取的多项滤率&#xff0c;今天详细介绍多项滤波的数学推导&#xff0c;并附上实战仿真代码。 一、数学变换推导 1. 多相分解的核心思想 将FIR滤波器的系数 h ( n ) h(n) h(n)按相位分组&#xff0c;每…

【大模型基础_毛玉仁】2.3 基于 Encoder-only 架构的大语言模型

更多内容&#xff1a;XiaoJ的知识星球 目录 2.3 基于Encoder-only 架构的大语言模型2.3.1 Encoder-only 架构2.3.2 BERT 语言模型1&#xff09;BERT 模型结构2&#xff09;BERT 预训练方式3&#xff09;BERT 下游任务 2.3.3 BERT 衍生语言模型1&#xff09;RoBERTa 语言模型2&a…

AIP-165 按条件删除

编号165原文链接https://google.aip.dev/165状态批准创建日期2019-12-18更新日期2019-12-18 有时API需要提供一种机制&#xff0c;按照一些过滤参数删除大量资源&#xff0c;而非提供待删除的各资源名字。 这是一个稀有的场景&#xff0c;用于用户一次性删除数千或更多资源的…