一文教你快速学会使用DDL对数据库和表的操作

 更新时间:2023年07月05日 10:51:15   作者:陈橘又青  
SQL是一种操作关系型数据库的结构化查询语言,今天这篇文章将详细讲述数据定义语言DDL对数据库和表的相关操作,有感兴趣的同学跟着小编一起来学习吧

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. DDL-操作数据表

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来操作数据库和数据表,并完成了设计一张表的简单需求,在日后的操作中还需要多加练习方可掌握。

到此这篇关于一文教你快速学会使用DDL对数据库和表的操作的文章就介绍到这了,更多相关DDL操作数据库和表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MYSQL 根据唯一索引键更新死锁问题解析

    MYSQL 根据唯一索引键更新死锁问题解析

    这篇文章主要介绍了MYSQL 根据唯一索引键更新死锁问题解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • 带你学习MySQL执行计划

    带你学习MySQL执行计划

    前面文章,我们学习了 MySQL 慢日志相关内容,当我们筛选得到具体的慢 SQL 后,就要想办法去优化啦。优化 SQL 的第一步应该是读懂 SQL 的执行计划。本篇文章,我们一起来学习下 MySQL explain 执行计划相关知识。
    2021-05-05
  • mysql4.0升级到mysql5(4.1),解决字符集问题

    mysql4.0升级到mysql5(4.1),解决字符集问题

    软件升级部分就不说了,光说数据库迁移。
    2009-09-09
  • mysql 5.7.11 winx64初始密码修改

    mysql 5.7.11 winx64初始密码修改

    这篇文章主要为大家详细介绍了mysql 5.7.11 winx64初始密码修改的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • MySQL8.0就地升级到MySQL8.4.0的方法

    MySQL8.0就地升级到MySQL8.4.0的方法

    本文主要介绍了MySQL8.0就地升级到MySQL8.4.0的方法,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Mysql中使用sql语句生成雪花算法Id

    Mysql中使用sql语句生成雪花算法Id

    雪花算法是一种生成全局唯一ID的分布式算法,本文主要介绍了Mysql中使用sql语句生成雪花算法Id,具有一定的参考价值,感兴趣的可以了解一下
    2025-02-02
  • mysql 锁表锁行语句分享(MySQL事务处理)

    mysql 锁表锁行语句分享(MySQL事务处理)

    下面这个语句是锁定一行数据,开始读取,一直到删除后都不会有第二个人也读到这条数据
    2011-09-09
  • Navicat Premium远程连接MySQL数据库的方法

    Navicat Premium远程连接MySQL数据库的方法

    这篇文章主要介绍了Navicat Premium远程连接MySQL数据库的方法,本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • MySQL中IO问题的深入分析与优化

    MySQL中IO问题的深入分析与优化

    据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为,下面这篇文章主要给大家介绍了关于MySQL中IO问题的深入分析与优化的相关资料,需要的朋友可以参考下
    2022-04-04
  • mysql报错ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost解决方式

    mysql报错ERROR 1396 (HY000): Operation ALT

    这篇文章主要给大家介绍了关于mysql报错ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost的解决方式,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-05-05

最新评论