SQL语法与DDL语句的使用

文章目录

  • 前言
  • 一、SQL通用语法
  • 二、DDL语句
    • 1、DDL功能介绍
    • 2、DDL语句对数据库操作
      • (1)查询所有数据库
      • (2)查询当前数据库
      • (3)创建数据库
      • (4)删除数据库
      • (5)切换数据库
      • (6)查询当前数据库中的所有表
      • (7)创建表结构
      • (8)查看指定表结构
      • (9)查询指定表的建表语句
      • (10)表中添加字段
      • (11)在表中修改指定数据类型
      • (12)表中修改字段名和字段类型
      • (13)表中删除字段
      • (14)修改表名
      • (15)删除表
      • (16)删除指定表,并重新创建表
  • 总结


前言

本文主要介绍SQL的通用语法和DDL语句的使用,阅读本文前读者应了解数据库的存储结构。
实验环境:Windows11操作系统,Mysql数据库


一、SQL通用语法

关于sql语句的语法主要有以下几个方面:
(1) SQL语句可以单行或多行书写,以分号结尾
(2) SQL语句可以使用空格/缩进来增强语句的可读性
(3) MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
(4) 注释
    单行注释:-- 注释内容 或 # 注释内容
    多行注释:/*  注释内容 */

二、DDL语句

1、DDL功能介绍

SQL语句根据其功能主要可以分为以下四类:DDL、DML、DQL、DCL
本文介绍的DDL语句的功能为:数据定义语言,用来定义数据库对象(数据库,表,字段

2、DDL语句对数据库操作

(1)查询所有数据库

show databases;

当我们输入这个语句后就会显示当前我们所拥有的数据库:mysql,information_schema等
SQL语法与DDL语句的使用_第1张图片

(2)查询当前数据库

select database();

因为当前没有使用任何数据库,所以是空:
SQL语法与DDL语句的使用_第2张图片

(3)创建数据库

create database [if not exists ] 数据库名 
[default charset 字符集] [collate 排序规则];
# 方括号中的都是可选内容,即使不书写也会采用默认方案

比如我们创建一个名为test的数据库,采用数据库默认的字符集和排序规则
SQL语法与DDL语句的使用_第3张图片
可以看到当前数据库服务器中test数据库就被成功创建了。

又由于在同一数据库服务器中,不能同时创建两个名称相同的数据库,否则会报错(如果我们再次创建一个名为test的数据库就会报错
在这里插入图片描述
为了避免这样的错误,我们可以采用if not exists参数来解决这个问题,如果数据库存在则不创建,如果不存在就创建。
如下图所示我们再次创建test数据库时,就不会报错:
SQL语法与DDL语句的使用_第4张图片

当我们创建一个名为test1,字符集指定为utf8mb4时的数据库使用的语句:
SQL语法与DDL语句的使用_第5张图片

(4)删除数据库

drop database [if exists] 数据库名;

如下图我们删除创建的test1数据库
SQL语法与DDL语句的使用_第6张图片

(5)切换数据库

use 数据库名;

当我们要操作一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。
如下图所示,我们切换到test数据库中:
SQL语法与DDL语句的使用_第7张图片

(6)查询当前数据库中的所有表

show tables;

注意:使用该语句时,要先使用use语句切换到一个数据库下。

如我们查看test数据库中的表数据,由于当前test数据库下没有表,所以显示为空:
SQL语法与DDL语句的使用_第8张图片

(7)创建表结构

create table 表名(
             字段1 字段1类型[comment 字段1注释],
             字段2 字段2类型[comment 字段2注释],
             字段3 字段3类型[comment 字段3注释],
             ......
             字段n 字段n类型[comment 字段n注释]
             )[comment 表注释];

我们创建一个如下图所示的表结构,并将表格名字命名为characters:
SQL语法与DDL语句的使用_第9张图片
SQL语法与DDL语句的使用_第10张图片
可以看到我们成功在名为test的数据库中创建了一张名为characters的表结构。

(8)查看指定表结构

desc 表名;

通过这条指令,我们可以查看到指定表的字段,字段的类型、是否可以为NULL,是否存在默认值等信息。
SQL语法与DDL语句的使用_第11张图片

(9)查询指定表的建表语句

show create table 表名;

通过这条指令,主要是用来查看建表语句的,而有部分参数我们在创建表的时候,并未指定也会查询到,因为这部分是数据库的默认值,如:存储引擎、字符集等。
SQL语法与DDL语句的使用_第12张图片

(10)表中添加字段

alter table 表名 add 字段名 类型 [comment 注释] [约束];

为characters表添加一个名为tel的字段,类型为varchar(11)如下图所示:
SQL语法与DDL语句的使用_第13张图片

(11)在表中修改指定数据类型

alter table 表名 modify 字段名 新数据类型;

修改tel字段的类型为varchar(12),如下图所示:
SQL语法与DDL语句的使用_第14张图片

(12)表中修改字段名和字段类型

alter table 表名 change 旧字段名 新字段名 类型 [comment 注释] [约束];

如将字段tel改为newname,类型为varchar(30),如下图所示:
SQL语法与DDL语句的使用_第15张图片

(13)表中删除字段

alter table 表名 drop 字段名;

将字段newname字段删除,如下图所示:
SQL语法与DDL语句的使用_第16张图片

(14)修改表名

alter table 表名 rename to 新表名;

将characters表名改为test如下图所示:
SQL语法与DDL语句的使用_第17张图片

(15)删除表

drop table [if exists] 表名;

我们将test表删除,如下图所示:
SQL语法与DDL语句的使用_第18张图片

(16)删除指定表,并重新创建表

truncate table 表名;

该语句的作用是将指定表删除并重新创建一个表名、表头与原表完全相同的表,只不过表中存储的数据被清空了,起到一个刷新表的作用。

总结

本文主要介绍了SQL语句中的DDL语句的使用方法,希望对您有所帮助。

你可能感兴趣的:(MySQL,sql,oracle,数据库)