一文教你快速学会使用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 insert 存在即不插入语法说明

    mysql insert 存在即不插入语法说明

    这篇文章主要介绍了mysql insert 存在即不插入语法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • MySQL查询优化:连接查询排序浅谈

    MySQL查询优化:连接查询排序浅谈

    不知道有没有人碰到过这样恶心的问题:两张表连接查询并limit,SQL效率很高,但是加上order by以后,语句的执行时间变的巨长,效率巨低。下边就来看看这个问题需要如何解决
    2013-02-02
  • Spring jdbc中数据库操作对象化模型的实例详解

    Spring jdbc中数据库操作对象化模型的实例详解

    这篇文章主要介绍了Spring jdbc中数据库操作对象化模型的实例详解的相关资料,希望通过本文大家能够了解掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • MySQL8.0.24版本Release Note的一些改进点

    MySQL8.0.24版本Release Note的一些改进点

    这篇文章主要介绍了MySQL8.0.24版本Release Note的一些改进点,帮助大家更好的对新版本的MySQL进行测试使用,感兴趣的朋友可以了解下
    2021-04-04
  • mysql实现sequence功能的代码

    mysql实现sequence功能的代码

    今天小编就为大家分享一篇关于mysql实现sequence功能的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • MySQL 字符串截取相关函数小结

    MySQL 字符串截取相关函数小结

    本文是脚本之家小编给大家收藏整理的关于MySQL 字符串截取相关函数小结,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-04-04
  • MySQL ClickHouse常用表引擎超详细讲解

    MySQL ClickHouse常用表引擎超详细讲解

    这篇文章主要介绍了MySQL ClickHouse常用表引擎,ClickHouse表引擎中,CollapsingMergeTree和VersionedCollapsingMergeTree都能通过标记位按规则折叠数据,从而达到更新和删除的效果
    2022-11-11
  • Shell下实现免密码快速登陆MySQL数据库的方法

    Shell下实现免密码快速登陆MySQL数据库的方法

    这篇文章主要给大家介绍了在Shell下实现免密码快速登陆MySQL数据库的方法,文中通过示例代码一步步介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
    2017-06-06
  • MySQL优化总结-查询总条数

    MySQL优化总结-查询总条数

    这篇文章主要介绍了MySQL优化总结-查询总条数的相关内容,文中进行简单的测试对比,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • MySQL rownumber SQL生成自增长序号使用介绍

    MySQL rownumber SQL生成自增长序号使用介绍

    MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能
    2011-10-10

最新评论