【MySQL基础】数据库定义语言DDL相关操作有那些?

news2024/11/16 8:19:10

目录

一、什么是DDL?

二、对数据库的常用操作

三、对表结构的常见操作

四、修改表结构格式

💟 创作不易,不妨点赞💚评论❤️收藏💙一下


一、什么是DDL?

DDL(Data Definition Language) 被称为数据库定义语言,该语言主要包含三个方面的内容:

对数据库的常见操作,对表结构的常见操作,以及修改表结构。

对数据库的常见操作:

例如:对一个数据库进行创建、添加、删除、修改信息等操作

对表结构的常见操作:

例如:创建表,删除表或对表的行列进行添加、删除、修改等等

修改表结构:

例如:一个人表创建完成之后,给表加一列或者减一列等等

说的通俗一点,DDL就是对创建的数据库整体进行操作,对表整体结构进行操作,不涉及到数据,是不涉及到数据之外的其他操作。


二、对数据库的常用操作

功能SQL
查看所有的数据库show databases;
创建数据库create database [if not exists] mydb1 [charset=utf8]
切换 (选择要操作的) 数据库use mydb1;
删除数据库drop database [if exists] mydb1;
修改数据库编码alter database mydb1 character set utf8;

1.查看所有的数据库

show databases;

2.创建数据库

-- 创建数据库,如果该数据库已经存在执行该命令会报错
create database 数据库名;
​
-- 判断该数据库是否存在,如果不存在就创建,存在的话就不会创建
create database if not exists 数据库名; 

3.切换数据库

-- 选择使用哪一个数据库,切换数据库
use 数据库名

4.删除数据库

-- 删除数据库,不管该数据库是否存在都执行删除操作,如果不存在进行删除的话会报错
drop database 数据库名;
​
-- 删除数据库,判断是否存在该数据库,如果存在就删除
drop database if exists 数据库名;
5.修改数据库编码

-- 修改数据库编码
alter database 数据库名 character set utf8;

三、对表结构的常见操作

1.创建表格式

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

-- 表结构的相关操作
-- 创建表
-- 表格式
/*
[...]括号中的语句可以省略,也可以加上
​
create table [if not exists]表名(
  字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
  字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
  字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
)[表的一些设置];
​
*/
​
-- 1.创建表 , 不判断表是否存在
​
create table book (
    bid int ,
    name varchar(20),
    age int ,
    desc varchar(20),
    price double 
);
​
-- 2.创建表,判断表是否存在,不存在就创建
create table if not exists book (
    bid int ,
    name varchar(20),
    age int ,
    desc varchar(20),
    price double 
);

2. 数据类型

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

数据类型分为:

数值类型:描述数字的,包括整数和小数

日期和时间类型:描述时间的

字符串类型:表示不是数字,不是日期,剩余的就是字符串类型

2.1数值类型

类型大小范围(有符号)范围(无符号)用途
TINYINT(tinyint)1 byte(-128,127)(0,255)小整数值
SMALLINT(smallint)2 bytes(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT(mediumint)3 bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT(int)或INTEGER(integer)4 bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT(bigint)8 bytes(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT(float)4 bytes(-3.402 823 466 E+38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度浮点数值
DOUBLE(double)8 bytes(-1.797 693 134 862 315 7 E+308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度浮点数值
DECIMAL(decimal)依赖于M和D的值依赖于M和D的值小数值
-- 整型
create table book (
-- 一个字节,8个二进制位 10101010
-- 用最高位描述它的符号位,也就是正负符号
-- 最高为为1 ,表示是负的,最高位为0表示正的
-- 如果没有写符号,默认表示是有符号的,有一正一负
    id1 tinyint,   
--  表示无符号
    id1 tinyint unsigned,
    id2 int unsigned,   -- unsigned 表示无符号
);
​
--  decimal 可以指定小数保留几位
decimal(5,2)  -- 表示有效位数(整数+小数位)总位数为5,2为小数位数

2.2字符串类型

类型大小用途
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极大文本数据
-- 字符串类型
​
-- 常用的varchar
-- varcahr是变长字节,长度会随着存储数据的多少而变化
-- 表示这个名字最多可以存储20个字符,一般使用单引号进行赋值  '张三' 
sname varchar(20)

2.3日期类型

类型大小**( bytes)**范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH: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:00/2038结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳
#日期类型
​
-- 年-月-日  YYYY-MM-DD
date 
-- 时:分:秒  HH:MM:SS
time
-- 合起来  ==> 年-月-日 时:分:秒   YYYY-MM-DD HH:MM:SS
datetime  
​
-- 获取本地时间,有时区的概念
-- 如果没有设置值的话,会默认获取当前时区的本地时间
-- 想自动填充当前时间,可以使用该字段
timestamp 

3.其他操作

功能SQL
查看当前数据库的所有表名称show tables;
查看指定某个表的创建语句show create table 表名;
查看表结构desc 表名
删除表drop table 表名
#表的其他操作
​
-- 1.查看当前数据库所以的表
show tables
​
-- 2. 查看指定表的创建语句
show create table 表名
​
-- 3.查看表结构
desc 表名
​
-- 4.删除表
drop table 表名

四、修改表结构格式

1.修改表:添加列

语法格式

alter table 表名 add 列名 类型(长度) [约束];
​
-- 例子:
-- 为student表添加一个新的字段为:系别 dept 类型为 varchar(20)
alter table student add `dept` VARCHAR(20);

2.修改表:修改列名和类型

语法格式

alter table 表名 change 旧列名 新列名 类型(长度) 约束;
​
-- 例子:
-- 为student 表的dept字段更换为department varchar(30)
alter table 表名 change 'dept' department varchar(30)

3.修改表:删除列

语法格式

alter table 表名 drop 列名;
​
-- 例子:
-- 删除 student 表中department这列
alter table student drop department;

4.修改表:修改表名

语法格式

rename table 表名 to 新表名
​
-- 例子:
# 将表名student 改名成 stu
rename table `student` to stu ;

写到最后

四季轮换,已经数不清凋零了多少, 愿我们往后能向心而行,一路招摇胜!

🐋 你的支持认可是我创作的动力

💟 创作不易,不妨点赞💚评论❤️收藏💙一下

😘 感谢大佬们的支持,欢迎各位前来不吝赐教

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

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

相关文章

如何基于企业微信通讯录,同步生成对外的LDAP服务?

不少企业使用企业微信作为办公协同的工具,并通过企业微信的组织架构(即通讯录)来管理员工身份。那么如何利用当前企业微信的组织架构和用户身份,同步生成对外的 LDAP 服务呢? 为什么要同步创建 LDAP 服务? …

【超级详细步骤】pyinstaller 打包 exe 其实特别简单

文章目录为什么要打包?安装pyinstaller技术提升pyinstaller 打包单个.py文件步骤1:单击以下区域输入 cmd 切换到目标文件目录2:输入 pyinstaller -F -w Analog_clock.py 回车即可3:打包成功会在.py文件同级目录下出现以下文件&…

VM——http协议及json解析

1、http协议实现参考:(180条消息) C# Http通讯协议的整理_C#Code- Sheep的博客-CSDN博客_c# http协议 2、Json解析参考:c#解析json字符串处理(最清晰易懂的方法) - 轩辕箭 - 博客园 (cnblogs.com) 3、VM中http实现步骤&#xff…

WordPress 主题模板QUX9.1.4开心版无授权限制 DUX二开增强主题

源码测评:WordPress主题QUX9.1.4开心版,我安装测试了下,看来没什么问题,想学习参考的网友可以试下。 更新日志: 2020/3/19更新 V9.1.4 推荐:★★★★★ 新增 新增夜间模式(主题设置 – 客服 –…

基于Python+Django+Vue+MYSQL的社团管理系统

项目介绍 随着近年来大学教育的改革,大部分高校普遍开始实行学分制、弹性学制改革,这样学校在学生的学习和生活中所起的作用慢慢减小,不再是一种直接由学校决定学生的大学生活。学生对自己的学习和生活有了更大的自主权,在课余也…

虹科分享 | 盘点世界杯有趣小知识!带你感受体育赛事可视化的快乐!

卡塔尔世界杯 2022年卡塔尔世界杯是第二十二届世界杯足球赛,是历史上首次在卡塔尔和中东国家境内举行、也是第二次在亚洲举行的世界杯足球赛。 今年卡塔尔世界杯可谓精彩纷呈,花2000个亿在沙漠里打造出的空调球场、洗脑又魔性的“母鸡生蛋”主题曲《Tu…

【Linux】进程创建、退出和等待(fork、exit和_exit、waitpid和wait、阻塞和非阻塞)

文章目录1、进程创建1.1 理解fork函数1.2 fork函数的细节2、进程退出2.1 退出码2.2 exit函数和_exit系统调用3、进程等待3.1 wait和waitpid3.2 阻塞和非阻塞1、进程创建 进程的创建主要依靠系统接口fork函数。 fork函数从已存在的一个进程中,创建一个子进程&#…

刚接触测试如何编写测试用例?看看摸鱼5年的老点工是怎么写的

给你个需求,你要怎么转变成最终的用例? 直接把需求文档翻译一下就完事了。 老点工拿到需求后的标准操作: 第一步:解析需求 先解析需求-找出所有需求中的动词,再列出所有测试点。测试点过程不断发散,对于…

第十四章: ReentrantLock、ReentrantReadWriteLock、StampedLock

相关面试题锁的演变ReentrantReadWriteLock锁降级案例演示一案例演示二总结为什么要有锁降级邮戳锁 StampedLock邮戳锁的特点案例演示一案例演示二StampedLock 缺点相关面试题 你说你用过读写锁,锁饥饿问题是什么?有没有比读写锁更快的锁?St…

域名解析函数 gethostbyname

在实现TCP/UDP编程的时候,服务端绑定的IP地址是点分十进制的,如124.222.215.205,如果提供的是域名,此时我们需要将域名转换成点分十进制的IP地址,这个过程就是 “ 域名解析 ”,实现域名转换的函数就是 geth…

Python Aws Ubuntu20 配置多IP

1. 业务场景: 高频次交易需要多次访问接口,配置单服务器多IP绕过币安单个IP频率限制 2. AWS实例选择: t3系列,东京A区,ubuntu20 这是我测试的币安延迟最低的配置(平均6ms) 换一个区域、一个系…

【王道计算机网络笔记】数据链路层-数据链路层设备

文章目录物理层扩展以太网链路层扩展以太网网桥透明网桥源路由网桥以太网交换机直通式交换机存储转发式交换机冲突域和广播域物理层扩展以太网 主机和集线器不能超过100m,超过100m会失真严重,无法恢复,扩展以太网的方法: 通过光纤…

欢迎报名Rust China Hackathon 2022 达坦科技组

12月4日下午,DatenLord就2022Rust China Hackathon大赛活动企业组(达坦科技组)的赛题进行了空中宣讲会。不仅对赛事流程进行了全面的讲解,同时对赛题背景以及完赛标准和要点进行了深入的剖析。会后更是设置问答环节,细…

目标检测算法——图像分割数据集汇总(附下载链接)

>>>深度学习Tricks&#xff0c;第一时间送达<<< &#x1f384;&#x1f384;近期&#xff0c;小海带在空闲之余&#xff0c;收集整理了一批图像分割数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01;&am…

给visCode编辑器添加背景图

看见很多大牛的visCode编辑器上有个背景图&#xff0c;感觉挺有逼格的&#xff0c;要想跟大牛一样有逼格&#xff0c;那先把编辑器设置的跟大牛的逼格一样高 话不多说&#xff0c;开始 第一步&#xff1a;先安装背景扩展 第二步&#xff1a;点击选择扩展设置 第三步&#xff1…

原码、反码、补码的互相转换

原码、反码、补码的互相转换 简介&#xff1a;本文是为了计算机组成原理复习&#xff0c;本文以具体题目的方式来对原码、反码、补码的互相转换进行讲解。 概述 原码 &#xff1a;最高位是符号位&#xff0c;0代表正数&#xff0c;1代表负数&#xff0c;非符号位为该数字绝对…

实战web漏洞挖掘小技巧

几个月前看到国外的bug bounty tips在传Host攻击技巧&#xff0c;前阵子又看到国内有不少文章总结&#xff0c;冷渗透就不再复述了&#xff0c;直接介绍实际业务场景中碰到的案例。 0x01 自定义Host—窃取Token 1. 找到重置密码处&#xff0c;填写任意一个受害者邮箱帐号&#…

记录--微信小程序获取用户信息(附代码、流程图)

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 本篇文章主要总结了微信小程序开发&#xff0c;获取用户信息的整个流程步骤。补充了网上很多碎片化的代码&#xff0c;本人梳理了思路写下了这篇文章。 思路 1、在js文件中&#xff0c;设置userinfo、…

华丰科技将于12月13日上会:业绩波动明显,海通证券等为股东

近日&#xff0c;四川华丰科技股份有限公司&#xff08;下称“华丰科技”&#xff09;在上海证券交易所科创板递交招股书&#xff08;上会稿&#xff09;。据贝多财经了解&#xff0c;华丰科技将于2022年12月13日上会&#xff0c;接受科创板上市委的现场审议。 根据公开信息&am…

【嵌入式硬件芯片开发笔记】LP87702/LP87524电源芯片配置流程

【嵌入式硬件芯片开发笔记】LP87702/LP87524电源芯片配置流程 LP8752x-Q1 10-A Buck Converter With Integrated Switche 具有诊断功能的 LP87702-Q1 双路降压转换器和 5V 升压转换器 LP87702/LP87524从机地址都是0x60 LP87702/LP87524中的设备ID等寄存器&#xff0c;是根据OT…