首页 > 数据库 >MySQL之DDL语言

MySQL之DDL语言

时间:2025-01-14 10:29:47浏览次数:3  
标签:语言 示例 数据库 DDL 语法 关键字 MySQL TABLE name

目录

一、数据库的基本操作

1、创建数据库

语法:

示例:

2、修改数据库

语法:

示例:

3、删除数据库

语法:

示例:

4、查询数据库

语法:

5、使用数据库

语法:

二、数据表的基本操作

1、创建数据表

语法:

示例:

2、重命名数据表

语法:

示例:

3、删除数据表

语法:

示例:

4、查询数据表

语法:

三、表字段基本操作

1、添加列

语法:

示例:

2、修改列

语法一:

示例一:

语法二:

示例二:

区别

3、删除列

语法:

示例:


一、数据库的基本操作

1、创建数据库

  • 语法:

CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name];

 关键字说明:

  1. CREATE DATABASE:用于创建一个新的数据库。

  2. [IF NOT EXISTS]:可选关键字,如果指定,当数据库已存在时,不会抛出错误,而是忽略创建操作。

  3. database_name:要创建的数据库的名称。

  4. [CHARACTER SET charset_name]:可选关键字,用于指定数据库的字符集。常见的字符集有utf8、utf8mb4等。

  5. [COLLATE collation_name]:可选关键字,用于指定数据库的校对规则。校对规则决定了字符的比较方式,例如utf8_general_ci、utf8mb4_unicode_ci等。

  • 示例:

CREATE DATABASE IF NOT EXISTS mydb
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

2、修改数据库

  • 语法:

ALTER DATABASE database_name
[CHARACTER SET charset_name]
[COLLATE collation_name];

 关键字说明:

  1. ALTER DATABASE:用于修改现有数据库的属性。

  2. database_name:要修改的数据库的名称。

  3. [CHARACTER SET charset_name]:可选关键字,用于修改数据库的字符集。

  4. [COLLATE collation_name]:可选关键字,用于修改数据库的校对规则。

  • 示例:

ALTER DATABASE mydb
CHARACTER SET utf8;

3、删除数据库

  • 语法:

DROP DATABASE [IF EXISTS] database_name;

 关键字说明:

  1. DROP DATABASE:用于删除现有数据库。

  2. [IF EXISTS]:可选关键字,如果指定,当数据库不存在时,不会抛出错误,而是忽略删除操作。

  3. database_name:要删除的数据库的名称。

  • 示例:

DROP DATABASE IF EXISTS mydb;

4、查询数据库

  • 语法:

-- 用于查询所有数据库
SHOW DATABASES;

5、使用数据库

  • 语法:

-- 切换使用数据库,database_name:要切换的数据库名称
USE database_name;

二、数据表的基本操作

1、创建数据表

  • 语法:

CREATE TABLE table_name (
    column1 data_type [constraint],
    column2 data_type [constraint],
    ...
)[CHARACTER SET charset_name];

 关键字说明:

  1. CREATE TABLE:用于创建一个新的表。

  2. table_name:要创建的表的名称。

  3. column1, column2, ...:表中的列名。

  4. datatype:列的数据类型,例如INT、VARCHAR(50)、DATE等。

  5. [constraint]:列的约束(如 PRIMARY KEY、NOT NULL 等)。

  6. [CHARACTER SET charset_name]:可选关键字,用于指定数据库的字符集。常见的字符集有utf8、utf8mb4等。

  • 示例:

CREATE TABLE students (
    id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT,
    gender ENUM('male', 'female') NOT NULL
);

2、重命名数据表

  • 语法:

RENAME TABLE old_table_name TO new_table_name;

关键字说明:

  1. RENAME TABLE:用于重命名现有表。

  2. old_table_name:旧表的名称。

  3. TO:表示重命名到新的名称。

  4. new_table_name:新表的名称。

  • 示例:

RENAME TABLE students TO Students;

3、删除数据表

  • 语法:

DROP TABLE [IF EXISTS] table_name;

关键字说明:

  1. DROP TABLE:用于删除现有表。

  2. [IF EXISTS]:可选关键字,如果指定,当表不存在时,不会抛出错误,而是忽略删除操作。

  3. table_name:要删除的表的名称。

  • 示例:

DROP TABLE IF EXISTS users;

4、查询数据表

  • 语法:

-- 用于查询所有数据表
SHOW TABLES;

三、表字段基本操作

1、添加列

  • 语法:

ALTER TABLE table_name
ADD column_name datatype [constraint];

 关键字说明:

  1. ALTER TABLE:用于修改现有表的结构。

  2. table_name:要修改的表的名称。

  3. ADD:表示要添加一个新的列。

  4. column_name:新列的名称。

  5. datatype:新列的数据类型。

  6. [constraint]:列的约束(如 PRIMARY KEY、NOT NULL 等)。

  • 示例:

ALTER TABLE Students
ADD email VARCHAR(100) NULL;

2、修改列

  • 语法一:

ALTER TABLE table_name
CHANGE old_column_name new_column_name datatype [constraint];

 关键字说明:

  1. ALTER TABLE:用于修改现有表的结构。

  2. table_name:要修改的表的名称。

  3. CHANGE:用于修改现有列的名称与数据类型。

  4. old_column_name:要修改的列的名称。

  5. new_column_name:要修改的列的新名称。

  6. datatype:列的数据类型。

  7. [NOT NULL | NULL]:可选关键字,用于指定列是否可以为空。

  8. [DEFAULT default_value]:可选关键字,用于指定列的默认值。 

  • 示例一:

ALTER TABLE Students
CHANGE name stu_name VARCHAR(50) NOT NULL;
  • 语法二:

ALTER TABLE table_name
MODIFY column_name datatype [constraint];

 关键字说明:

  1. ALTER TABLE:用于修改现有表的结构。

  2. table_name:要修改的表的名称。

  3. MODIMOFY:表示要修改现有列的类型。

  4. column_name:要修改的列的名称。

  5. datatype:列的数据新类型。

  6. [constraint]:列的约束(如 PRIMARY KEY、NOT NULL 等)。

  • 示例二:

ALTER TABLE Students
MODIFY age TINYINT;
  • 区别

CHANGE 关键字可以修改列名称或者列数据类型,而 MODIMOFY 关键字只能修改列的类型。

3、删除列

  • 语法:

ALTER TABLE table_name
DROP column_name;

 关键字说明:

  1. ALTER TABLE:用于修改现有表的结构。

  2. table_name:要修改的表的名称。

  3. DROP:表示要删除一个列。

  4. column_name:要删除的列的名称。

  • 示例:

ALTER TABLE Students
DROP email;

标签:语言,示例,数据库,DDL,语法,关键字,MySQL,TABLE,name
From: https://blog.csdn.net/qq_58114907/article/details/145122424

相关文章

  • 14. C语言 指针(深入理解)
    本章目录:前言:什么是指针?内存与地址:指针的基础指针的声明与使用指针变量的声明指针与地址的关系空指针与野指针空指针(NULLPointer)野指针(DanglingPointer)指针进阶:从数组到函数指针与数组指针数组指向指针的指针函数指针指针的算术运算常见错误与调试技巧总结前......
  • 15. C语言 函数指针与回调函数
    本章目录:前言什么是函数指针?定义声明方式函数指针的基本用法示例:最大值函数输出示例:回调函数与函数指针什么是回调函数?通俗解释示例:回调函数实现动态数组填充输出示例:进一步探索:带参回调函数输出示例:函数指针的进阶技巧函数指针数组返回函数指针的函数输出示例:......
  • 《ESP32-S3使用指南—IDF版 V1.6》第二章 常用的C语言知识点
    第二章常用的C语言知识点1)实验平台:正点原子DNESP32S3开发板2)章节摘自【正点原子】ESP32-S3使用指南—IDF版V1.63)购买链接:https://detail.tmall.com/item.htm?&id=7684993426594)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/esp32/ATK-DNESP32S3.html......
  • 超级实用!优化Fiddler抓包默认生成的html报告(内附源码)
    Fiddler实现把抓包结果导出到html报告中之前写了一篇文章关于如何把Fiddler抓包的结果保存到html报告中,具体可以参考文章一文带大家了解如何在Fiddler中生成html测试报告_fiddler导出测试报告-CSDN博客报告整体效果如下所示很显然这个报告的易读性是较差的,最近我把这个......
  • R语言caret包的resamples函数比较在同一数据集上多个机器学习模型的比较结果实战、sum
    R语言caret包的resamples函数比较在同一数据集上多个机器学习模型的比较结果实战、使用summary函数比较模型的汇总信息、使用lattice包的bwplot函数使用箱图对比多个模型在多个指标上的性能差异目录R语言使用caret包的resamples函数比较在同一数据集上多个机器学习模型的比......
  • R语言caret包实战:构建xgboost模型(xgbDART算法、使用的dropout思想)构建回归模型、通过m
    R语言caret包实战:构建xgboost模型(xgbDART算法、使用的dropout思想)构建回归模型、通过method参数指定算法名称、通过trainControl函数控制训练过程目录R语言使用caret包构建xgboost模型(xgbDART算法、使用的dropout思想)构建回归模型、通过method参数指定算法名称、通过trainCo......
  • R语言ggplot2可视化树状图、层次聚类系统树图、树状图根据给定的距离度量将相似点分组
    R语言ggplot2可视化树状图、层次聚类系统树图、树状图根据给定的距离度量将相似点分组在一起、并根据点的相似性将它们组织成树状图链接起来(HierarchicalDendrogram)目录R语言ggplot2可视化树状图、层次聚类系统树图、树状图根据给定的距离度量将相似点分组在一起、并根据点......
  • R语言cph函数和rcs函数构建限制性立方样条cox回归模型、rms包的Predict函数计算指定连
    R语言cph函数和rcs函数构建限制性立方样条cox回归模型、rms包的Predict函数计算指定连续变量在不同分组变量下和风险比HR值的关系、可视化在不同分组变量下连续变量和风险值HR的关系目录R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用rms包的Predict函数......
  • C语言初阶习题(2分支语句和循环语句-for)【10】杨辉三角
    1.题目描述——在屏幕上打印杨辉三角。2.思路第一步先尝试打印下三角第二步,分析他们之间的关系3.代码实现#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(){ intn=0; scanf("%d",&n); intarr[100][100]={0}; inti=0; in......
  • C语言初阶习题【27】猜名次
    1.题目描述5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。2.思路3.代码实现#include<stdio.h>in......