MySQL数据库——DDL基本操作

2023-11-17

在这里插入图片描述

前言

DDL 操作是与数据库结构相关的操作,它们不涉及实际的数据操作,而是用于管理数据库的结构和元数据。今天我将为大家分享关于MySQL数据库的DDL操作。

数据库操作

SQL 功能
show databases; 查看所有的数据库
create database [if not exists] 数据库名 [charset/character=utf8]; 创建数据库
use 数据库名; 选中数据库
drop database 数据库名; 删除数据库
alter database 数据库名 character set 编码; 修改数据库编码

查看已存在的所有数据库

show databases会将当前MySQL下的所有数据库给展示出来。其中 information_schema mysql performance_schema sys 是MySQL默认具有的数据库。

在这里插入图片描述

创建数据库

SQL这样创建数据库 create database 数据库名 (character set)/charset 编码格式;

create database test character set utf8;
show databases;

在这里插入图片描述

选中数据库

后面的表操作都需要先指定操作的是哪一个数据库,我们使用 use 数据库名 来选中数据库。这里我们讲到表操作的时候会为大家展示用法。

删除数据库

当我们需要删除某一个数据库的时候,使用 drop database 数据库名 来删除指定数据库。

drop database test;
show databases;

在这里插入图片描述

修改数据库编码

如果我们在创建数据库之后还想要修改数据库编码的时候就使用 alter database 数据库名 character set 编码 来进行操作。

在这里插入图片描述

alter database mydb1 character set GB2312;

在这里插入图片描述

表操作

表位于对应的数据库中,所以我们进行表操作的时候,必须使用 use 数据库名 来指定操作的是哪个数据库。

MySQL基础表操作

SQL语句 功能
create table 表名 (列名1 该列数据类型,列名2 该列数据类型); 创建表,同时指定列的数据类型
show tables; 显示该数据库下的所有表
show create table 表名; 显示该表的创建语句
desc 表名; 显示该表的结构
drop table 表名; 删除指定表

创建表

在创建表之前我们需要知道 MySQL 有哪些数据类型。

MySQL基本数据类型
在这里插入图片描述
当知道有什么数据类型的之后,我们就可以来创建表了。

use mydb1;
create table student(id int,name varchar(20));
show tables;

在这里插入图片描述

显示创建表时的语句

show create table student;

在这里插入图片描述

显示表结构

desc 表名;
desc student;

在这里插入图片描述

删除表

drop table 表名;
drop table student;
show tables;

在这里插入图片描述

修改表的结构

修改表的结构需要运用到 alter table 表名 操作

增加列

alter table 表名 add 列名 该列数据类型;

alter table student add gender varchar(10);
desc student;

在这里插入图片描述

修改列

alter table 表名 change 旧列名 新列名 新列数据类型;

alter table student change gender tel int;
desc student;

在这里插入图片描述

删除列

alter table 表名 drop 列名

alter table student drop tel;
desc student;

在这里插入图片描述

修改表名

rename table 表名 to 新表名;

rename table student to stu;
show tables;

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL数据库——DDL基本操作 的相关文章

  • 从 Yii2 中的联结表检索数据

    我试图从 Yii2 中的连接表获取数据无需额外查询 我有 2 个模型 用户 组 通过连接表 user group 关联 在 user group 表中 我想存储此关系的额外数据 管理标志 将数据添加到连接表的最佳方法是什么 link 方法接
  • 表已满(使用 MEMORY 引擎)

    我想将生产数据库传输到我的开发机器上进行测试 它有 6 张桌子MEMORY出于性能目的的引擎 I did mysqldump routines hxxx uxxx pxxx prod database gt prod dump sql 当我
  • MySQL 获取时间优化

    o我有一个包含 200 万个寄存器的表 但它很快就会增长得更多 基本上 该表包含具有相应描述符的图像的兴趣点 当我尝试执行选择在空间上靠近查询点的点的查询时 总执行时间花费太长 更准确地说 持续时间 获取 0 484 秒 27 441 秒
  • grails/mysql 时区更改

    完成更改应用程序时区的最佳方法是什么 在我看来 必须发生以下情况 服务器 TZ 已被系统管理员更改 mysql必须重新启动 数据库中每个基于时间的列都必须使用convert tz 或等效方法更新所有值 因此 要么必须编写一个 mysql 脚
  • 每个搜索词显示一行,如果未找到则替换默认值

    Query SELECT product id name FROM product WHERE barcode in 681027 8901030349379 679046 679047 679082 679228 679230 67923
  • MYSQL:SQL查询获取自增字段的值

    我有一张桌子 主键是id及其自动递增 现在 当我插入新记录时 我需要获取更新记录的 id 我怎样才能做到这一点 如果我使用查询 select max id from table name 执行后我可以获得id 但我能确定它是刚刚插入的记录的
  • MySQL中如何存储小数?

    我尝试过将 DECIMAL 与 2 2 一起使用 但它不允许我使用它 我只想存储一个数字 例如 7 50 或 10 50 我需要将这两个数字保留在小数点后 但是当我刷新数据库时 它会将值重置为 0 99 有什么建议么 第一个参数DECIMA
  • 如何使用 AJAX/jQuery 显示打印内容?

    所以我试图理解整个 AJAX jQuery 的事情 现在 当我单独运行这个 PHP 脚本时 我必须等待并观察轮子旋转 直到循环完成然后加载 while row mysql fetch array res postcode to storm
  • MySQL 跨表计数(*) 查询帮助

    SELECT name COUNT AS count FROM t1 t2 WHERE t2 id t1 id GROUP BY t2 id 我想从 t1 获取名称以及 t2 中 id 与 t1 相同的行数 到目前为止我已经得到了上面的内容
  • 数据库级别的别名列名 [MySQL]

    别名 可能是错误的词 因为它是在将列 表名称作为查询中的其他名称引用的上下文中使用的 我感兴趣的是是否有一种方法可以在数据库中为列指定两个名称 如果我要打印这样的表格 它看起来会是这样的 mysql gt SELECT FROM User
  • Laravel Schema Builder 改变存储引擎

    我正在尝试更改表并将其存储引擎更改为InnoDb 当我跑步时php artisan migrate它完成且没有错误 然而 当我检查 Sequel Pro 中的存储引擎时 没有任何变化 public function up Schema ta
  • 如何通过 PDO 使用密码哈希来使我的代码更安全? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的代码实际上可以工作 但它一点也不安全 我不想使用 MD5 因为它不是那么安全 我一直在查找密码哈希 但我不确定如何将其合并到我的代
  • 在 MySQL 中执行触发器需要什么权限?

    我发现 MySQL 手册中对 DEFINER 的解释令人困惑 因此我不确定运行应用程序的 执行用户 需要什么权限 为了安全起见 我喜欢将 执行用户 限制为所需的最少权限 我知道触发器 存储过程的创建者需要超级权限 但是 执行用户 是否也需要
  • R:ifelse 中的字符串列表

    我正在寻找与 MySQL 中的 where var in 语句类似的东西 我的代码如下 data lt data frame id 10001 10030 cc1 rep c a b c 10 attach data data new lt
  • 使用 Flot、html、PHP 和 MySql 查询绘制多个图表

    我正在尝试使用 Flot html PHP 和 MySql 查询绘制多个图表 但我陷入了困境 因为我找不到在同一个 html 页面中绘制多个 flot 的方法 为简单起见 在数据库 test db3 映像中包含以下字段 表1 用户名 发送邮
  • 如何比较行内的重叠值?

    我似乎对这个 SQL 查询有问题 SELECT FROM appts WHERE timeStart gt timeStart AND timeEnd lt timeEnd AND dayappt boatdate 时间格式为军用时间 物流
  • MySQL:所有表都正常,但仍然错误 1577(发现事件调度程序使用的系统表已损坏)

    从我的系统日志 mysql 1663 ERROR 1577 HY000 at line 1 Cannot proceed because system tables used by Event Scheduler were found da
  • 删除重复的行并需要在mysql中保留所有行中的一个[重复]

    这个问题在这里已经有答案了 我想删除基于两列的重复行 但需要保留所有行 1 行 重复行可以多于两行 例如 ID NAME PHONE 1 NIL 1234 2 NIL 1234 3 NIL 1234 4 MES 5989 我想从上面 3 行
  • Python MySQL 操作错误:1045,“用户 root@'localhost' 的访问被拒绝

    我试图通过以下方式从我的 python 程序访问数据库 db mysql connect host localhost user Max passwd maxkim db TESTDB cursor db cursor 但是 我在第一行代码
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam

随机推荐

  • Solidity 文档--目录

    Solidity是一种语法类似JavaScript的高级语言 它被设计成以编译的方式生成以太坊虚拟机代码 在后续内容中你将会发现 使用它很容易创建用于投票 众筹 封闭拍卖 多重签名钱包等等的合约 注意 目前尝试Solidity的最好方式是使
  • 音乐软件案例分析

    项目 内容 这个作业属于哪个课程 2023年北航敏捷软件工程 这个作业的要求在哪里 软件案例分析 我在这个课程的目标是 学习软件工程理论 在实践中体会并运用软件工程理论 收获团队开发和软件工程实践经验 这个作业在哪个具体方面帮助我实现目标
  • Unity3D 新版动画状态机Animator中的动画速度控制

    这个问题纠结了我挺久 在网上各种找相关帖子看 一直没有找到合适的设置方法 后来终于自己在状态机里面找到了处理方法 原来的Animation动画速度是这样控制 但是现在新版动画你在点进去看你会发现这货现在是灰色的 所以特别慌是吧 但是这货不使
  • MFS高可用(pcs集群管理与fence自动跳电重启)

    server1 master server4 高可用 serever 2 3 chunk 真机 client 具体查看上片文章 server1 yum install moosefs cgi 3 0 103 1 rhsystemd x86
  • Unity3d版数字地球、谷歌地球(google earth)

    说明 这个不是GIS软件 是一个带地形的三维地球 可在线加载全球地形 也可离线运行 运行流畅无卡顿 占用内存小 最大等级可达到地图20级 本数字地球全部由作者自由开发完成 未使用任何第三方插件 拥有完全知识产权 视频Unity3d版数字地球
  • GPU计算能力远超CPU!NVIDIA Tesla技术深入解析

    CPU和操作系统是现代PC的动力提供者 并为用户解决了数值计算这个有时困难到令人无法相信的问题 在你使用电脑 一边听音乐 浏览网站 一边阅读电子邮件的同时 操作系统会跟踪记录你的所有活动 并与后台交流信息 将你使用到的信息组织起来 尽管CP
  • [2019计算机视觉]——贪心学院 学习笔记 【实验】2.2 使用逻辑函数 对垃圾短信的分类 基于数据集SMSSpamCollection

    文章目录 1 数据集介绍 1 SMSSpamCollection数据集 2 数据集的获取 2 我的实验 1 读入数据集 2 预处理 3 训练模型 4 进行测试 1 数据集介绍 1 SMSSpamCollection数据集 英文详细介绍看这里
  • Vision Transformer(vit)原理分析以及特征可视化

    目录 Vit简介 Vit model结构图 vit输入处理 图像分块 class token与position的添加 特征提取 vit代码 Vit简介 Vision Transformer ViT 是一种基于Transformer架构的深度
  • 推荐几个值得关注的技术公众号(年度精选)

    2017 马上就要过去了 2018 来了 工作 生活节奏超快的今天 想要不断提升自我 碎片化阅读学习是你最佳的选择 如果你有一颗学习的心 那这些学习型的公众号 绝对会让你受益匪浅 我们为你精选了技术领域几个精品微信订阅号 涵盖了时下最热门的
  • ansible常见错误处理

    1 failed to open a SFTP connection EOF during negotiation 修改sshd config中配置 Subsystem sftp internal sftp 2 Error ansible
  • 一.用matlab生成想要的分布数据——均匀分布

    给大家讲讲怎么用matlab生成想要分布的随机数吧 1 均匀分布 2 正态分布 3 对数正态分布 4 gumbel分布 5 weibull分布 6 指数分布 7 Raili分布 1 均匀分布 matlab的rand指令可以帮助我们生成0 1
  • C++ 把引用作为返回值

    C 把引用作为返回值 C 引用 C 引用 通过使用引用来替代指针 会使 C 程序更容易阅读和维护 C 函数可以返回一个引用 方式与返回一个指针类似 当函数返回一个引用时 则返回一个指向返回值的隐式指针 这样 函数就可以放在赋值语句的左边 例
  • Deep Java Library(五)DJLServing java client demo

    1 工具类HttpUtils package com lihao client import java io IOException import java net URI import java net URLEncoder import
  • python,xlsxwriter.workbook(‘demo.xlsx‘),module‘ object is not callable

    使用python3 9 创建Excel表格时 出现错误 Traceback most recent call last File C pycharm project files pythonProject py excel py line
  • vue自定义指令之手写v-loading指令

    先看效果 自定义加载效果的loading指令 为什么不创建一个组件来加载loading效果 麻烦你得先引入组件 注册挂载组件 然后在通过v if在空子显示隐藏 为什么要用自定义loading指令 由于项目中很多地方需要用到 在哪个元素或者组
  • 2022年第十四届电工杯赛题分析

    作为2022年上半年最后一场建模比赛的电工杯 为期72个小时 在众多建模比赛中 电工杯属于难度大 比赛时间短 知名度大的比赛 在我个人看来 电工杯可以作为美赛国赛之下第二梯队建模比赛里的头号比赛 因此 为了更好选题比赛 本次比赛我将在本篇文
  • Android 之 PopupWindow(悬浮框) 的基本使用

    本节引言 本节给大家带来的是最后一个用于显示信息的UI控件 PopupWindow 悬浮框 如果你想知道 他长什么样子 你可以打开你手机的QQ 长按列表中的某项 这个时候后弹出一个黑色的小 对话框 这种就是PopupWindow了 和Ale
  • Latex安装以及作业笔记

    Latex安装 参考 怎么安装LaTex 半句多的文章 知乎 https zhuanlan zhihu com p 56982388 作业 1 文档相关说明 2 公式写法 https blog csdn net weixin 3089203
  • sudo: unable to resolve host [hostname](已解决)

    在阿里云服务器上安装Java时报错 于是修改文件 etc hosts解决 PS 此时sudo依然可以继续运行 etc hosts原文件如下 127 0 0 1 localhost The following lines are desira
  • MySQL数据库——DDL基本操作

    文章目录 前言 数据库操作 查看已存在的所有数据库 创建数据库 选中数据库 删除数据库 修改数据库编码 表操作 创建表 显示创建表时的语句 显示表结构 删除表 修改表的结构 增加列 修改列 删除列 修改表名 前言 DDL 操作是与数据库结构