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

news/2024/11/8 6:01:22/

前言

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.ppmy.cn/news/110040.html

相关文章

Navicat 15获取用户的密码

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

Spring AOP简介及相关案例

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

C++ 函数对象 详解

目录 🤔函数对象: 🤔本质: 🤔特点: 代码示例: 运行结果: 🤔 内置函数对象: 1.算数仿函数 代码示例: 运行结果: 2.关系仿函数 …

【源码解析】流控框架Sentinel源码深度解析

前言 前面写了一篇Sentinel的源码解析,主要侧重点在于Sentinel流程的运转原理。流控框架Sentinel源码解析,侧重点在整个流程。该篇文章将对里面的细节做深入剖析。 统计数据 StatisticSlot用来统计节点访问次数 SpiOrder(-7000) public class Statis…

Redis事务详解

目录 一、前言二、Redis事务 - 基本使用三、Redis事务 - 错误处理四、Redis事务 - 事务冲突1、事务所产生的问题2、悲观锁&乐观锁3、watch监听4、watch的应用场景 五、Redis 事务特性 一、前言 事务是指一个完整的动作,要么全部执行,要么什么也没有…

01_java基础语法

1. Java概述 1.1 Java语言背景介绍(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford University Network)在1995年推出的…

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

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

ShardingSphere笔记(三):自定义分片算法 — 按月分表·真·自动建表

ShardingSphere笔记(二):自定义分片算法 — 按月分表真自动建表 文章目录 ShardingSphere笔记(二):自定义分片算法 — 按月分表真自动建表一、 前言二、 Springboot 的动态数据库三、 实现我们自己的动态数…