服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 【MySQL基础|第一篇】——谈谈SQL中的DDL语句

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

2023-10-07 15:16兜里有颗棉花糖 Mysql

本文主要讲解MySQL中SQL的DDL语句,其中包括对数据库和表的一系列操作。

前言:SQL语句的分类

SQL语句主要分为以下4类,请看:

分类 说明
DDL(Data Definition Language) 数据定义语言,用于定义数据库、表、视图等对象的结构
DML(Data Manipulation Language) 数据操作语言,用于对数据库中的数据进行增添、修改和删除操作
DQL(Data Query Language) 数据查询语句,用于从数据库中检索数据,最常见的是SELECT语句。
DCLData Control Language 用来创建数据库用户,控制数据库的访问权限。

本文对DDL语句的语法进行讲解。

一、数据库操作

1.1查询

查询所有数据库:SHOW DATABASES;

查询当前数据库:SHOW DATABASE();

SHOW DATABASE();举例:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

查询当前数据库(用于查询当前处于哪个数据库下):SHOW DATABASE();

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

1.2创建数据库

创建数据库:CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];

例如:创建数据库tmp_database,

输入命令:create database 数据库名称;即create database tmp_database;

注意:最后的分号;是英文版的分号;

请看:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

出现Query OK, 1 row affected (0.05 sec)说明数据库创建成功了。

我们不妨来看以下刚刚创建的数据库,输入命令:show databases;,请看:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

如果我们此时再次创建相同的数据库tmp_database,就会报错,请看:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

报错原因当然就是数据库已经存在。

可选项:if not exists

如果不想出现报错的话(即如果数据库已经存在的话,我们就不要进行该数据库的创建了),此时我们就可以添加可选项:if not exists。输入命令:create database if not exists tmp_database;

请看演示:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

当然,如果我们要创建的数据库不存在的话,当然会创建成功了。

1.3删除数据库

删除数据库:DROP DATABASE[IF EXISTS] 数据库名;

这里如果数据库存在,那么我们可以删除想要删除的数据库,此时我们可以添加可选项:if exists

命令:drop database if exists 想要删除的数据库。

比如我们要删除之前创建的数据库tmp_database,可以输入命令:drop database if exists tmp_database;

请看演示:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

1.4使用数据库

使用数据库命令:USE 数据库名;

请看演示:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

出现Database changed说明我们已经切换到了test数据库。

二、表操作(创建与查询)

2.1创建

命令:

CREATE TABLE 表名(
	字段1 字段1类型[COMMENT 字段1注释],
	字段2 字段2类型[COMMENT 字段2注释],
	......
	字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];

这里需要我们注意的是:[...]是可选的一个参数,还有就是最后一个字段后面是没有逗号,的。

下面进入演示环节,我们试着通过CREATE TABLE这个SQL语句来完成下图的表结构的创建:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

这里我们首先要进入的是我们自己创建的数据库,而不是再系统中的数据库进行操作。

输入命令:

mysql> create table tb_person(
    -> id int comment '编号',
    -> name varchar(10) comment '姓名',
    -> age int comment '年龄',
    -> gender varchar(1) comment '性别'
    -> ) comment '用户表';

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

那如何验证这个数据库表创建成功呢,输入命令:show tables;,请看:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

如上图所示,tb_person就是我们刚刚创建的数据库表。

下面如果想要知道这个数据库表的字段和类型,输入命令:DESC 表名;,请看:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

2.2查询

下面是表结构如何查询的三种语法:

第一种:查询当前数据库所有表。

命令:SHOW TABLES;

SHOW TABLES;可以查询当前数据库的所有表结构,前提是,我们需要先使用USE 数据库名;进入或者使用某个数据库,然后再根据SHOW TABLES;来查询当前数据库的所有表结构。

请看演示:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

我们切换到系统库sys中看一下:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

可以看到当前数据库sys中有很多表结构,因为sys是一个系统库。

第二种:查询表结构。

命令:DESC 表名;

举例:输入命令:DESC tb_person;

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

第三种:查询指定表的建表语句。

命令:SHOW CREATE TABLE 表名;

举例:输入命令:show create table tb_person;

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

2.3修改

对表的修改操作以下面数据库test中的表tmp进行演示:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

修改表的操作主要分为这几种:往表中添加字段、修改表中的字段、删除表中的字段、修改表中。

添加字段

第一种:往表中添加字段。

命令:ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] 约束;

这里方括号[]中的内容是依旧是可选的。

现在为emp表添加一个新的字段名称为nickname,类型为varchar(20)

输入命令: alter table emp add nickname varchar(10) comment '名称';

演示如下:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

查看以下表emp中的内容:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

修改数据类型

修改数据类型命令:ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

修改字段名和字段类型

修改字段名和字段类型命令:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

下面进行案例的演示:将emp表中的nickname字段修改为username,类型为varchar(30);

输入命令:alter table emp change nickname username varchar(10);

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

删除字段

删除字段命令:ALTER TABLE 表名 DROP 字段名;

直接进入案例演示环节:将emp表中的username字段删除:

演示结果如下:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

修改表名

修改表名命令:ALTER TABLE 表名 RENAME TO 新表名;

案例演示:将emp表的表名修改为employee;

输入命令:alter table emp rename to employee;

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

验证一下:show tables;,请看:

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

2.4删除

删除表有两种:第一种是单纯的把表进行删除了,第二种是删除指定表并且重新创建该表。

第一种仅仅删除表

命令:DROP TABLE[IF EXIST] 表名;

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

下面进入案例演示,删除tb_person表。输入命令:drop table if exists tb_person;

结果如下(成功删除了表tb_person):

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

第二种:删除指定表并且重新创建该表。

命令:TRUNCATE TABLE 表名;

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

下面进入演示阶段:

输入命令:truncate table employee;

【MySQL基础|第一篇】——谈谈SQL中的DDL语句

三、DDL语句总结

本文我们主要介绍了DDL语句中的数据库操作和表操作。

数据库操作主要介绍了以下的语句:

SHOW DATABASES;
CREATE DATABASE 数据库名;
USE 数据库名;
SELETE DATABASE();
DROP DATABASE 数据库名;

表操作主要介绍了以下的语句:

SHOW TABLES;
CREATE TABLE 表名(字段 字段类型,字段 字段类型);
DESC 表名;
SHOW CREATE TABLE 表名;   显示该表的建表语句
ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO...;
DROP TABLE 表名;

好了,友友们,以上就是DDL语句中的基本语法。

就到这里啦,再见!!!

到此这篇关于【MySQL基础|第一篇】——谈谈SQL中的DDL语句的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/m0_74352571/article/details/132677569

延伸 · 阅读

精彩推荐
  • MysqlMySQL存储过程使用解析

    MySQL存储过程使用解析

    存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。目的是为了完成特定功能的SQL语句集,经编译创建并保存在...

    数据运营与数据分析2262020-11-02
  • Mysql深入浅析MySQL 中 Identifier Case Sensitivity问题

    深入浅析MySQL 中 Identifier Case Sensitivity问题

    这篇文章主要介绍了MySQL 中 Identifier Case Sensitivity,需要的朋友可以参考下...

    潇湘隐者6482019-06-23
  • Mysql详解MySQL中事务的持久性实现原理

    详解MySQL中事务的持久性实现原理

    这篇文章主要介绍了详解MySQL中事务的持久性实现原理,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下 ...

    X先生9732021-04-06
  • Mysqlmysql中锁机制的最全面讲解

    mysql中锁机制的最全面讲解

    大概几个月之前项目中用到事务,需要保证数据的强一致性,期间也用到了mysql的锁,所以本文打算总结一下mysql的锁机制,这篇文章主要给大家介绍了关于mysq...

    coderymy5292021-11-15
  • MysqlMySQL 数据库 like 语句通配符模糊查询小结

    MySQL 数据库 like 语句通配符模糊查询小结

    这篇文章主要介绍了MySQL 数据库 like 语句通配符模糊查询小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以...

    白鹿第一帅9972021-02-22
  • MysqlMySQL Community Server 8.0.11安装配置方法图文教程

    MySQL Community Server 8.0.11安装配置方法图文教程

    这篇文章主要为大家详细 介绍了MySQL Community Server 8.0.11安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    丿小可爱5742019-07-15
  • MysqlMYSQL中的json数据操作代码

    MYSQL中的json数据操作代码

    这篇文章主要介绍了MYSQL中的json数据操作,主要包括基础查询操作,JSON函数操作,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定...

    代码可以改变世界你我7122022-11-22
  • MysqlSQL触发器定义与使用

    SQL触发器定义与使用

    SQL的触发器和存储过程一样,都是嵌入到SQL中的一段程序,是SQL中管理数据的有力工具,本文给大家详细介绍SQL触发器的定义语法知识,感兴趣的朋友一起...

    黑码哥8352023-05-31