MySQL之DDL语言

目录

一、数据库的基本操作

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等。

  7. 数据类型和约束详见:MySQL之字段类型和SQL约束

  • 示例:

CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,stu_number CHAR(12) NOT NULL UNIQUE,age INT,gender ENUM('male', 'female') NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

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);

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;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python项目】个人密码本文档系统

【Python项目】个人密码本文档系统 技术简介:采用Python技术、Django、MYSQL数据库等实现。 系统简介:系统主要的功能有(1)新建密码本:用户可以创建新的密码本来记录自己的账户与密码; (2&#…

《OpenCV》——模版匹配

文章目录 OpenCV——模版匹配简介模版匹配使用场景OpenCV 中模板匹配的函数参数 OpenCV——模版匹配实例导入所需库读取图片并处理图片对模版图片进行处理进行模版匹配显示模版匹配的结果注意事项 OpenCV——模版匹配简介 OpenCV 是一个非常强大的计算机视觉库,其中…

doc、pdf转markdown

国外的一个网站可以: Convert A File Word, PDF, JPG Online 这个网站免费的,算是非常厚道了,但是大文件上传多了之后会扛不住 国内的一个网站也不错: TextIn-AI智能文档处理-图像处理技术-大模型加速器-在线免费体验 https://…

金融项目实战 06|Python实现接口自动化——日志、实名认证和开户接口

目录 一、日志封装及应用(理解) 二、认证开户接口脚本编写 1、代码编写 1️⃣api目录 2️⃣script目录 2、BeautifulSoup库 1️⃣简介及例子 2️⃣提取html数据工具封装 3、认证开户参数化 一、日志封装及应用(理解) &…

浅谈云计算15 | 存储可靠性技术(RAID)

存储可靠性技术 一、存储可靠性需求1.1 数据完整性1.2 数据可用性1.3 故障容错性 二、传统RAID技术剖析2.1 RAID 02.2 RAID 12.3 RAID 52.4 RAID 62.5 RAID 10 三、RAID 2.0技术3.1 RAID 2.0技术原理3.1.1 两层虚拟化管理模式3.1.2 数据分布与重构 3.2 RAID 2.0技术优势3.2.1 自…

Spring官网构建Springboot工程

注意:基于Idea的 Spring Initializr 快速构建 SpringBoot 工程时需要联网。 1.进入SpringBoot官网 Spring | Home 点击QUICKSTART 点击start.spring.io进入spring initializr 2.选择依赖 3.生成工程 下载好后解压用IDEAD导入即可。

计算机的错误计算(二百一十二)

摘要 利用两个大模型计算 实验表明,两个大模型均进行了中肯的分析。另外,其中一个大模型给出了 Python代码,运行后,结果中有7位错误数字;而一个大模型进行加减运算时出错。 例1. 计算 下面是与一个大模型的对话…

Vue+Echarts+百度地图 实现 路径规划

实现功能: 通过选择 相关调拨,系统自动规划 路径,并且以地图的形式呈现最佳路径 技术难点: 1. vue 结合使用 echarts 2.echarts 在 vue嵌入百度地图,并且做出路径 曲线 最终结果:

【算法】图解两个链表相交的一系列问题

问: 给定两个可能有环也可能无环的单链表,头节点head1和head2。请实现一个函数,如果两个链表相交,请返回相交的第一个节点;如果不相交,返回null。如果两个链表长度之和为N,时间复杂度请达到O(N…

Go-Zero整合Goose实现MySQL数据库版本管理

推荐阅读 【系列好文】go-zero从入门到精通(看了就会) 教程地址:https://blog.csdn.net/u011019141/article/details/139619172 Go-Zero整合Goose实现MySQL数据库版本管理的教程 在开发中,数据库迁移和版本管理是必不可少的工作。…

JAVA:Spring Boot 集成 JWT 实现身份验证的技术指南

1、简述 在现代Web开发中,安全性尤为重要。为了确保用户的身份,JSON Web Token(JWT)作为一种轻量级且无状态的身份验证方案,广泛应用于微服务和分布式系统中。本篇博客将讲解如何在Spring Boot 中集成JWT实现身份验证…

说一说mongodb组合索引的匹配规则

一、背景 有一张1000多万条记录的大表,需要做归档至历史表,出现了大量慢查询。 查询条件是 "classroomId": {$in: ["xxx", "xxx", ..... "xxx","xxx", "xxx" ] }耗时近5秒,且…

更新java

下载 Java 下载 |神谕 (oracle.com)

CSS3的aria-hidden学习

前言 aria-hidden 属性可用于隐藏非交互内容,使其在无障碍 API 中不可见。即当aria-hidden"true" 添加到一个元素会将该元素及其所有子元素从无障碍树中移除,这可以通过隐藏来改善辅助技术用户的体验: 纯装饰性内容,如…

【Java设计模式-5】装饰模式:给咖啡加点“佐料”

今天咱们要探索一下Java世界里的装饰模式(Decorator Pattern)。为了让这个过程更加生动易懂,咱们就以大家都熟悉的咖啡饮品来举例吧,想象一下,你就是那个咖啡大师,要给顾客调制出各种独特口味的咖啡哦&…

C++(5)

1.运算符重载 头文件 #ifndef MYSTRING_H #define MYSTRING_H#include <iostream> #include <cstring>using namespace std;class myString { private:char *str;//C风格字符串int size0; public:std::string s_str;//转换构造函数myString(const std::string &a…

K8S--配置存活、就绪和启动探针

目录 1 本人基础环境2 目的3 存活、就绪和启动探针介绍3.1 存活探针3.2 就绪探针3.3 启动探针 4 探针使用场景4.1 存活探针4.2 就绪探针4.3 启动探针 5 配置存活、就绪和启动探针5.1 定义存活探针5.2 定义一个存活态 HTTP 请求接口5.3 定义 TCP 的就绪探针、存活探测5.4 定义 g…

【HTML+CSS+JS+VUE】web前端教程-36-JavaScript简介

JavaScript介绍 JavaScript是一种轻量级的脚本语言&#xff0c;所谓脚本语言&#xff0c;指的是它不具备开发操作系统的能力&#xff0c;而是用来编写控制其他大型应用程序的“脚本” JavaScript是一种嵌入式语言&#xff0c;它本身提供的核心语法不算很多 为什么学习JavaScri…

LLM实现视频切片合成 前沿知识调研

1.相关产品 产品链接腾讯智影https://zenvideo.qq.com/可灵https://klingai.kuaishou.com/即梦https://jimeng.jianying.com/ai-tool/home/Runwayhttps://aitools.dedao.cn/ai/runwayml-com/Descripthttps://www.descript.com/?utm_sourceai-bot.cn/Opus Cliphttps://www.opu…

AI多模态论文解读:LLaVA-CoT:让视觉语言模型逐步推理

本文作者&#xff1a;AIGCmagic社区 猫先生 一、简 介 LLaVA-CoT引入了四个不同的阶段&#xff08;摘要、标题、推理和结论&#xff09;&#xff0c;使模型能够独立进行系统化的多阶段推理&#xff0c;显著提高了在推理密集型任务上的准确性。 编译了LLaVA-CoT-100k数据集&am…