MySQL之DDL语言

ops/2025/1/16 16:29:06/

目录

一、数据库的基本操作

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.ppmy.cn/ops/150596.html

相关文章

vue.js+websocket+mongodb实现纯粹的聊天室项目

vue.jswebsocketmongodb实现纯粹的聊天室项目!下面的项目的构建过程和代码展示。 1:项目的整体结构图 chatroom/ │ ├── backend/ # 后端服务目录 │ ├── config/ # 配置文件 │ │ └…

Vue3初学之Element-plus-table组件及分页

官方网址:https://element-plus.org/zh-CN/component/table.html 安装 Element Plus npm install element-plus --save 引入 Element Plus 在 main.js 或 main.ts 文件中引入 Element Plus: import ElementPlus from ‘element-plus’; import ‘elem…

基于springboot+vue+微信小程序的宠物领养系统

基于springbootvue微信小程序的宠物领养系统 一、介绍 本项目利用SpringBoot、Vue和微信小程序技术,构建了一个宠物领养系统。 本系统的设计分为两个层面,分别为管理层面与用户层面,也就是管理者与用户,管理权限与用户权限是不…

小程序如何引入腾讯位置服务

小程序如何引入腾讯位置服务 1.添加服务 登录 微信公众平台 注意:小程序要企业版的 第三方服务 -> 服务 -> 开发者资源 -> 开通腾讯位置服务 在设置 -> 第三方设置 中可以看到开通的服务,如果没有就在插件管理中添加插件 2.腾讯位置服务…

从项目代码看 React:State 和 Props 的区别及应用场景实例讲解

在 React 中,state 和 props 是组件的两个重要概念,它们有不同的作用和应用场景。理解它们之间的区别对于开发 React 应用至关重要。 1. state 和 props 的区别 props (属性): props 是由父组件传递给子组件的数据或函数。props 是只读的&am…

Kafka 超级简述

Kafka 就是一个 分布式的消息系统,它帮助不同的系统和应用之间传递信息。可以把它想象成一个超级高效的 “邮局”: 生产者(Producer) 就是把信息(消息)送到这个 “邮局” 的人。消费者(Consume…

ASP.NET Core - 缓存之分布式缓存

ASP.NET Core - 缓存之分布式缓存 1. 分布式缓存的使用2. 分布式缓存的接入2.1 基于内存的分布式缓存2.2 基于 Redis 的分布式缓存 分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护。 分布式缓存可以提高 ASP.NET Core 应用的…

【微服务】面试 3、 服务监控 SkyWalking

微服务监控的原因 问题定位:在微服务架构中,客户端(如 PC 端、APP 端、小程序等)请求后台服务需经过网关再路由到各个微服务,服务间可能存在多链路调用。当某一微服务挂掉时,在复杂的调用链路中难以迅速确定…