MySQL之DDL语言

news2025/1/16 11:17:49

目录

一、数据库的基本操作

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.coloradmin.cn/o/2277508.html

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

相关文章

游戏市场成果及趋势

2024 年的游戏行业发展情况如何?这是一个既关系到开发商,又关系到玩家的问题,而市场分析师可以为我们揭晓答案。下面,就让我们来看看分析师给出的结论以及他们对未来趋势的预测。 玩家 自 2021 年起,全球平均游戏时间…

Java版-oracle数据库连接测试工具-Maven配置JDBC

一、目标: 1)数据迁移方案,原RAC,新RAC 2)关闭原RAC环境,修改新RAC环境的IP=原RAC环境的IP,优点:所有的应用端不用修改数据库连接字符串。 3)测试工具目标: 3.1 Java程序,运行后cmd窗口, 3.2 链接原RAC数据库IP,每2秒查询并显示数据; 3.3 关闭/断掉原RAC服务器,…

微信小程序实现个人中心页面

文章目录 1. 官方文档教程2. 编写静态页面3. 关于作者其它项目视频教程介绍 1. 官方文档教程 https://developers.weixin.qq.com/miniprogram/dev/framework/ 2. 编写静态页面 mine.wxml布局文件 <!--index.wxml--> <navigation-bar title"个人中心" ba…

数据结构-ArrayLIst-一起探索顺序表的底层实现

各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 大家好&#xff0c;我们今天来学习java数据结构的第一章ArrayList&#xff08;顺序表&#xff09; 1.ArrayList的概念 那小伙伴就要问了线性表到…

Unity2017 控制.abc格式的三维动画播放

首先需要导入插件Alembic&#xff0c;否则导入abc动画&#xff0c;Unity是不会识别的。 Unity2017版本及以下直接从我这儿下载&#xff1a;https://download.csdn.net/download/qq_41603955/90272382 高版本Unity&#xff0c;请移步AssetStore商店搜找。 导入abc之后&#x…

docker虚拟机平台未启用问题

在终端中输入如下代码&#xff0c;重启电脑即可 Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform 对于Docker Desktop - Unexpected WSL error问题 参考链接 解决WSL2与docker冲突问题

软件设计大致步骤

由于近期在做软件架构设计&#xff0c;这里总结下大致的设计流程 软件设计流程 1 首先要先写系统架构图&#xff0c;将该功能在整个系统的位置以及和大致的内部模块划分 2 然后写内部的结构图&#xff0c;讲内部的各个子系统&#xff0c;模块&#xff0c;组件之间的关系和调用…

EasyLine(v2.0)自制光谱、曲线处理软件

前言&#xff1a;因为这次更新对软件的整体变动较大&#xff0c;所以就没有取版本v1.1&#xff0c;而是直接使用v2.0版本。然后上一版的讲解也不是很清楚&#xff0c;这次也做重点讲解一下。 自制光谱、曲线处理软件-EasyLine 软件的安装软件的使用总体介绍文件格式处理的使用 …

赛灵思(Xilinx)公司Artix-7系列FPGA

苦难从不值得歌颂&#xff0c;在苦难中萃取的坚韧才值得珍视&#xff1b; 痛苦同样不必美化&#xff0c;从痛苦中开掘出希望才是壮举。 没有人是绝对意义的主角&#xff0c; 但每个人又都是自己生活剧本里的英雄。滑雪&#xff0c;是姿态优雅的“贴地飞行”&#xff0c;也有着成…

晨辉面试抽签和评分管理系统之八:随机编排考生的面试批次(以教师资格考试面试为例)

晨辉面试抽签和评分管理系统&#xff08;下载地址:www.chenhuisoft.cn&#xff09;是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…

LeetCode热题100(三十四) —— 23.合并K个升序链表

LeetCode热题100&#xff08;三十四&#xff09; —— 23.合并K个升序链表 题目描述代码实现思路一&#xff1a;选择排序(199ms)思路二&#xff1a;归并排序(2ms) 思路解析 你好&#xff0c;我是杨十一&#xff0c;一名热爱健身的程序员在Coding的征程中&#xff0c;不断探索与…

深入理解 ECMAScript 2024 新特性:字符串 isWellFormed 方法

ECMAScript 2024 引入了一个新的字符串实例方法&#xff1a;String.prototype.isWellFormed。这一新增功能是为了帮助开发者更容易地验证字符串是否为有效的 Unicode 文本。本文将详细介绍这一方法的使用场景、实现原理及其在实际应用中的价值。 String.prototype.isWellFormed…

Springboot和Es整合

说明&#xff1a;本文章主要是简单整合和简单增删改查。 1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi…

阀井可燃气体监测仪,开启地下管网安全新篇章-旭华智能

在城市的脉络中&#xff0c;地下管网犹如隐秘的动脉&#xff0c;支撑着现代生活的运转。而在这庞大网络的关键节点上&#xff0c;阀井扮演着不可或缺的角色。然而&#xff0c;由于其密闭性和复杂性&#xff0c;阀井内部一旦发生可燃气体泄漏&#xff0c;将对公共安全构成严重威…

C#中通道(Channels)的应用之(生产者-消费者模式)

一.生产者-消费者模式概述 生产者-消费者模式是一种经典的设计模式&#xff0c;它将数据的生成&#xff08;生产者&#xff09;和处理&#xff08;消费者&#xff09;分离到不同的模块或线程中。这种模式的核心在于一个共享的缓冲区&#xff0c;生产者将数据放入缓冲区&#x…

4.寻找两个正序数组的中位数--力扣

给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,3], nums2 [2] 输出&#xff1a;2.00000 解释&…

2Spark Core

2Spark Core 1.RDD 详解1) 为什么要有 RDD?2) RDD 是什么?3) RDD 主要属性 2.RDD-API1) RDD 的创建方式2) RDD 的算子分类3) Transformation 转换算子4) Action 动作算子 3. RDD 的持久化/缓存4. RDD 容错机制 Checkpoint5. RDD 依赖关系1) 宽窄依赖2) 为什么要设计宽窄依赖 …

面试题刷题

i 或 i 基础几个9&#xff08;评价系统的指标&#xff09; Arrays.aslist 的bug 方法做了重写 这样就能使用了 list的迭代器 不能使用list.remove方法。需要使用迭代器的remove方法 正确操作 Hashcode hashcode是object对象的方法 是一个native方法 hashcode冲突案例和hashcod…

编译pytorch——cuda-toolkit-nvcc

链接 https://blog.csdn.net/wjinjie/article/details/108997692https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#switching-between-driver-module-flavorshttps://forums.developer.nvidia.com/t/can-not-load-nvidia-drivers-on-ubuntu-22-10/239750https://…

Linux网络_套接字_UDP网络_TCP网络

一.UDP网络 1.socket()创建套接字 #include<sys/socket.h> int socket(int domain, int type, int protocol);domain (地址族): AF_INET网络 AF_UNIX本地 AF_INET&#xff1a;IPv4 地址族&#xff0c;适用于 IPv4 协议。用于网络通信AF_INET6&#xff1a;IPv6 地址族&a…