新手快速学会使用DDL对数据库和表的操作

news2024/11/19 18:39:25

前言

SQL是一种操作关系型数据库的结构化查询语言。今天这篇文章将详细讲述数据定义语言DDL对数据库和表的相关操作。

在这里插入图片描述

文章目录

  • 前言
  • 1. DDL-操作数据库
    • 1.1 查询
    • 1.2 创建数据库
    • 1.3 删除数据库
    • 1.4 使用数据库
    • 2.1 数据类型
    • 2.2 查询表
    • 2.3 创建表
    • 2.4 删除表
    • 2.5 修改表
  • 3. 实战案例详解
  • 4. 总结
  • 文末赠书

1. DDL-操作数据库

首先要学习的是使用DDL来对数据库进行操作,和以往一样,对数据进行操作时,我们主要是对数据进行增删改查,同样,我们使用DDL操作数据库也主要是对数据库进行增删改查操作。

1.1 查询

查询所有的数据库:

show databases;

小案例:

在这里插入图片描述

1.2 创建数据库

创建新的数据库:

create database 数据库名称;

使用上面的方式创建新的数据库时,如果该数据库已经存在,则会出现错误,所以我们在创建新的数据库时一般会判断该数据库是否存在,如果已存在,则不会创建。

创建新的数据库(判断数据库是否已经存在):

create database if not exists 数据库名称;

小案例:

在这里插入图片描述

1.3 删除数据库

删除数据库:

drop database 数据库名称;

和前面创建新的数据库相同,为了避免出现错误,我们一般会先判断该数据库是否存在,如果不存在,则不会删除。

删除数据库(判断数据库是否已经存在):

drop database if exists 数据库名称;

小案例:

在这里插入图片描述

1.4 使用数据库

接下来,我们要想在数据库中创建表,首先我们要明白是对哪一个数据库进行操作,此时我们先要使用数据库,才能对数据库中的表进行操作。

使用数据库:

use 数据库名称;

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

select database();

小案例:

在这里插入图片描述

2.1 数据类型

在学习相关数据表的增删改查操作之前,我们先要熟悉一下MySQL的数据类型。

MySQL支持多种数据类型,但是大致可以分为3种,分别是数值型,日期型和字符串型。下面是比较常用的几种数据类型:

数值:

数据类型解释
tinyint小整数型,占1个字节
int大整数型,占4个字节
double浮点类型

日期:

数据类型解释
date日期值,只包含年月日
datetime混合日期和时间值,包含年月日时分秒

字符串:

数据类型解释
char定长字符串
varchar变长字符串

定长字符串和变长字符串的区别:字符串是我们在数据库中经常使用的数据类型,使用变长字符串,如果字符的长度没有达到指定的长度,那么实际的长度是多少就占用几个字符,这样的做法显然是使用时间换空间,而使用定长字符串虽然会浪费空间,但是一般储存性能比较高。

2.2 查询表

查询当前数据库下所有的表:

show tables;

查询表结构:

desc 表名称;

小案例:

在这里插入图片描述

2.3 创建表

创建一个新的表:

create table 表名称(
		字段名1 数据类型,
		字段名2 数据类型,
		...
		字段名n 数据类型  #这里是不需要加上,的
);

小案例:

在这里插入图片描述

2.4 删除表

删除表:

drop table 表名;

删除表(判断表是否存在):

drop table if exists 表名;

小案例:

在这里插入图片描述

2.5 修改表

修改表名:

alter table 表名 rename to 新的表名;

增加一列:

alter table 表名 add 列名 数据类型;

修改数据类型:

alter table 表名 modify 列名 新数据类型;

修改列名和数据类型:

alter table 表名 change 列名 新列名 新数据类型;

删除列:

alter table 表名 drop 列名;

小案例:

在这里插入图片描述

3. 实战案例详解

下面是一个简单的DDL实战案例,用于定义一个名为“person”的数据库表格。

CREATE TABLE person (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    gender CHAR(1),
    email VARCHAR(100)
);

以上代码中,CREATE TABLE是DDL语句的一种类型,用于创建新的数据库表格。在这个例子中,我们使用了关键字CREATE TABLE来指示创建一个名为“person”的表格。

后面的括号中列出了该表格中包含的列信息。每列都需要指定列名、数据类型和可能的约束条件。

例如,第一列“id”被指定为整数类型,并被指定为表格的主键。第二列“name”被指定为最大长度为50个字符的字符串类型。类似地,其他列也被指定为适当的数据类型和约束条件。

此DDL语句将被数据库管理系统解释并执行,从而创建一个新的名为“person”的表格,它拥有上述定义的列以及任何相关的元数据(如索引或外键)。

4. 总结

今天我们对数据定义语言DDL做了一个详细的认识,使用DDL来操作数据库和数据表,并完成了设计一张表的简单需求,在日后的操作中还需要多加练习方可掌握。


文末赠书

🔴随机抽取5人,中奖的小伙伴,可从以下12本图书中任选一本:

在这里插入图片描述
了解更多秒杀神书点此进入活动页面,计算机图书惊爆价!

【!参与方式!】

点赞+收藏+任意评论(每人最多发三条)
截止日期:2023-06-02 22:30


在这里插入图片描述

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

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

相关文章

统计学的假设检验/置信区间计算

假设检验的核心其实就是反证法。反证法是数学中的一个概念,就是你要证明一个结论是正确的,那么先假设这个结论是错误的,然后以这个结论是错误的为前提条件进行推理,推理出来的结果与假设条件矛盾,这个时候就说明这个假…

Navicat 15获取用户的密码

我使用Navicat连接好了mysql但是密码忘记了;可以通过如下操作找回密码 我使用的Navicat版本是 15.0.27 1、选择文件 --> 导出连接 2、选择你要知道密码的连接  勾选导出密码(默认位置是桌面) 3、 在Password 这栏找到加密后的密码 …

基于Android应用开发实现UWB(超宽带)通信

什么是超宽带UWB 超宽带通信是一种无线电技术,专注于设备之间的精确测距(测量位置的精度为 10 厘米)。这种无线电技术可以使用低能量密度进行短距离测量,并在大部分无线电频谱上执行高带宽信号传输。UWB 的带宽大于 500 MHz(或超过 20% 的小数带宽)。 从 Android 13 开…

[GXYCTF2019]Ping Ping Ping解题过程

1、来看看靶场 发现就只有这个提示,尝试一下在url输入框进行测试 页面返回ping的结果,然后我之前也做过另外一道类似的题 链接:[ACTF2020 新生赛]Exec1命令注入_[actf2020 新生赛]exec 1_旺仔Sec的博客-CSDN博客 尝试用管道符 果然是可以的…

chatgpt赋能python:Python中语句太长之续行符的使用

Python中语句太长之续行符的使用 如果你是一位有10年Python编程经验的工程师,那么你一定会遭遇语句太长的问题。这是导致程序出错的常见问题。在很多情况下,一条语句的长度会超过Python规定的最大长度,这时候我们就需要使用续行符进行换行了…

C语言——数据在内存中的存储(上)

数据在内存中的存储 1. 数据类型的介绍 之前已经介绍过C语言中的基本数据类型了,主要有: char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数 注意:C语言中是是没…

JVM学习笔记(中)

1、垃圾回收算法 标记清除法 特点: 速度较快会产生内存碎片 注意:这里的清除并不是真正意义上的清除,即每个字节都清0,而是记录一下被清除的对象的起始和结束的地址,当下一次分配给一个新对象时,新对象…

一文看懂数字化转型丨三叠云

相信很多朋友在最近这几年对“数字化”、“数字化转型”等名词听得很多了吧,去网上搜搜“数字化转型”,这几年各式各样的信息如火如荼,充斥着互联网平台和大大小小的企业。 一、什么是数字化转型? 那么“数字化”和“数字化转型”…

【ros/ros2】LCN及ros2节点的LCN改写

文章目录 序言1. ros2两种节点类型2. LCN是什么3. LCN状态转换4. LCN状态转换要做的事5. LCN节点功能划分6. ros2节点的LCN改写 序言 背景:ros2节点改写为lifecycle node节点 1. ros2两种节点类型 Node:和ros1中一样的节点基类LifecycleNode&#xff…

法规标准-ISO 11270标准解读(2014版)

ISO 11270是做什么的? ISO 11270全名为智能交通系统-车道保持辅助系统(LKAS)-性能要求及测试步骤,其中主要是对LKAS系统的功能要求、性能要求及测试步骤进行了介绍。 功能要求 LKAS应至少提供以下操作和状态转换: ——从LKAS off到LKAS on的…

chatgpt赋能python:Python中的精度问题

Python中的精度问题 如果你曾经在Python中处理浮点数,你可能会遇到精度问题。当使用不同的运算符和内置函数时,浮点数很容易产生舍入误差。这种误差可能会导致意想不到的结果,特别是在科学计算和金融应用中。 为什么会出现精度问题&#xf…

Spring AOP简介及相关案例

目录 一、Spring AOP简介 二、AOP相关术语 三、AOP入门案例 1. 引入依赖 2. 编写连接点 3. 编写通知类 4. 配置切面 5. 测试 四、通知类型 1. 编写通知方法 2. 配置切面 3. 测试 五、切点表达式 六、多切面配置 1. 编写发送邮件的通知 2. 配置切面 3. 测试 …

flex 布局的基本概念 - 详解

flex 布局的基本概念 Flexible Box 模型,通常被称为 flexbox,是一种一维的布局模型。它给 flexbox 的子元素之间提供了强大的空间分布和对齐能力。本文给出了 flexbox 的主要特性,更多的细节将在别的文档中探索。我们说 flexbox 是一种一维的…

Metasploit超详细安装及使用教程(图文版)

通过本篇文章,我们将会学习以下内容: 1、在Windows上安装Metasploit 2、在Linux和MacOS上安装Metasploit 3、在Kali Linux中使用 Metasploit 4、升级Kali Linux 5、使用虚拟化软件构建渗透测试实验环境 6、配置SSH连接 7、使用SSH连接Kali 8、配…

C++ vector与map的结合运用

目录 vector和map的简单介绍: 今天我们用vector容器和map容器实现以下简单的功能: 案例描述: 图解: ​ 实现步骤: 代码实现: 运行结果: vector和map的简单介绍: map和vector都是C STL&…

C++11 -- 包装器

文章目录 function包装器function包装器的概念function的运用function实例化使用function解决逆波兰表达式 bind包装器bind包装器相关介绍bind绑定函数固定参数 function包装器 function包装器的概念 function包装器,也叫做适配器,它的本质是一个类模板. 例如: 1 template&l…

chatgpt赋能python:Python中的迭代器

Python中的迭代器 在Python中,迭代器是一种对象,它可以让我们可以遍历(或迭代)序列中的元素而不必了解它们如何存储在内存中。迭代器是Python中许多高级构造的基础 - 他们节省了空间,并且它们能够帮助我们更有效地处理…

Redis高级篇 - 多级缓存

多级缓存 1.什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: 请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 Redis缓存失效时…

VUE项目运行失败原因以及解决办法(以vscode为例)

1.正常运行: Ctl J打开终端,并运行如下命令: npm run serve 正常情况下,就可以得到本地和网络链接,如下: 点击链接即可进入到编辑好的页面。 不过,你也可能遇到如下情况↓↓↓ 2.无法找到pac…

创建第一个.NET MAUI应用

1.打开VS2022,创建新项目,并选择.NET MAUI应用,然后点击下一步 2.输入项目相关配置,然后点击下一步 3. 选择框架版本,然后点击创建 4.项目创建成功后会自动打开概述页 5.平台框架切换 6.启动应用,如有下图提示,启动开发者模式 成功启动应用 7.修改应用 修改MainPage.xml如下图…