mySQL常用DDL命令

2023-11-10


简介: DDL主要负责数据库的增/删/改/查以及表格的增/删/改/查

1.创建数据库

语法: create database [数据库名] character set [字符编码];
例如:

-- 创建名为 my_test 数据库, 字符编码为utf8mb4
create database my_test character set utf8mb4;

2.查看数据库

-- 查看此链接中的所有数据库
show databases;

3.查看数据库创建明细

语法: show create database [数据库名];
例如:

show create database my_test;

4.修改数据库编码

语法: alter database [数据库名] character set [字符编码];
例如:

-- 修改 my_test 数据库的字符编码
alter database my_test character set utf8mb4;

5.删除数据库

语法: drop database [数据库名];
例如:

-- 删除 my_test 数据库
drop database my_test;

6.使用数据库

语法: use [数据库名];
例如:

-- 使用 my_test 数据库
use my_test;

7.创建表

语法: create table 表名(字段1 数据类型, 字段2 数据类型(数据长度),字段3 数据类型(数据长度), 字段4 数据类型,字段5 数据类型(数据长度),字段6 数据类型(数据长度,保留小数位数))
例如:

/* 
	创建 test 表, 其中包含的字段有:
	id(数据类型为 int, 数据长度默认为4字节), 
	name(数据类型为 varchar, 数据长度为20字节),
	sex(数据类型为 char, 数据长度为2字节),
	birthday(数据类型为 date),
	salary(数据类型为 double, 默认长度为7, 保留2位小数)
*/
create table test(
	-- id(数据类型为 int, 数据长度默认为4字节), 
	id int, 
	-- name(数据类型为 varchar, 数据长度为20字节),
	name varchar(20), 
	-- sex(数据类型为 char, 数据长度为2字节),
	sex char(2), 
	-- birthday(数据类型为 date),
	birthday date, 
	-- salary(数据类型为 double, 默认长度为7, 保留2位小数)
	salary double(7,2)
);

8.查看表的结构

语法: desc [表名];
例如:

-- 在 my_test 数据库中查看 test 表结构
use my_test;
desc test;

9.在表中插入列(字段)

语法: alter table [表名] add [字段名] [数据类型] (数据长度) COMMENT ‘注释名’;
例如:

-- 在 my_test 数据库中向 test 表中插入 address 字段, 数据类型为 varchar, 数据长度为100字节
use my_test;
alter table test add address varchar(100) COMMENT '地址';

10.修改列(字段)的属性

语法: ALTER TABLE [表名] MODIFY [字段名] [数据类型] (数据长度) COMMENT ‘注释名’;

-- 使用 my_test 数据库
use my_test;
-- 将 test 表中的 id 字段属性修改为 varchar数据类型, 数据长度为20
ALTER TABLE test MODIFY id VARCHAR(20) COMMENT '注释名';

11.删除某列(字段)

语法: ALTER TABLE [表名] DROP 字段名;

-- 在 my_test 数据库中删除 test 表中的 name 字段
use my_test;
ALTER TABLE test DROP name;

12.更改表名

语法: RENAME TABLE [原表名] to [新表名];

--将 my_test 数据库中的 test 表名修改为 demo
use my_test;
RENAME TABLE test to demo;

13.查看表的创建细节

语法: SHOW CREATE TABLE [表名];

-- 在 my_test 数据库中查看 test 表的创建细节
use my_test;
SHOW CREATE TABLE test;

14.修改字段名和字段属性

语法: ALTER TABLE [表名] CHANGE [原字段名] [新字段名] [数据类型] (数据长度) COMMENT ‘注释名’;;

-- 将 test 表中的 name 字段修改为 username, 且数据类型为 varchar, 数据长度为10字节
ALTER TABLE test CHANGE name username VARCHAR(10) COMMENT '用户名';

15.删除表

语法: DROP TABLE [表名];

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

mySQL常用DDL命令 的相关文章

  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • 如何使用 vitess 仅对特定表进行分片

    我创建了一个包含三个表的未分片键空间 现在我想对前两个表的键空间进行分片 但不想对第三个表进行分片 如何才能做到这一点 Vitess 文档不包含任何与此相关的信息或示例 请帮忙 Thanks vitess 中的垂直分片与水平分片类似 您应该
  • 如何 md5 所有列(无论类型如何)

    我想创建一个 sql 查询 或 plpgsql 它将 md5 所有给定的行 无论类型如何 但是 在下面 如果 1 为空 则哈希为空 UPDATE thetable SET hash md5 accountid accounttype cre
  • 内连接不重复,可以吗?

    鉴于这两个表 表 A1 有两行具有相同的值 a A1 a a 表 A2 有两行主键值为 A B 它们与 a 关联 A2 PK col2 A a B a 我想要的是 A1 和 A2 的连接并得到这个结果 a A a B 显然内连接在这里不起作
  • 在 C#.NET 应用程序中使用 SQL Server 时间数据类型?

    如何使用 SQLtimeSQL Server 2008 中 C NET 中引入的数据类型 我一直在努力让它发挥作用 但没有成功 这是一个MSDN 文章 http msdn microsoft com en us library bb6751
  • 为什么我可以像调用实例方法一样调用类方法?

    我正在查看这个例子 class SQLObject def self columns return columns if columns columns DBConnection execute2 lt lt SQL first SELEC
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 使用间隔阈值对不同的连续时间戳记录进行分组

    我有一系列间歇性间隔的带有时间戳的 GPS 坐标 我正在使用 PostGIS 将它们渲染到地图画布上 为了渲染它们 需要使用 PostGIS 中的 ST MakeLine 聚合函数将点聚合成线 从而在地图上留下 GPS 数据丢失的间隙 数据
  • 在 postgres 查询中使用列表

    我有一个动态列表 list a b c d 所以长度可能会改变 我想在查询中比较这些列表值 select from student where name in all the list values 我想将列表值传递到此查询中 我怎样才能做
  • 如何使用 LAMBDA 表达式在 LINQ 中执行 IN 或 CONTAINS?

    我有以下 Transact Sql 我正在尝试将其转换为 LINQ 并且很挣扎 SELECT FROM Project WHERE Project ProjectId IN SELECT ProjectId FROM ProjectMemb
  • SQL不允许表中有重复记录

    如何使其不添加重复项 我想让它通过 ID 之外的所有其他列进行检查 我希望这个无效 ID col1 col2 col3 1 first middle last ID col1 col2 col3 2 first middle last 我希
  • 使用 postgres 和 node js 在单个语句中执行多个查询

    我需要在像这样的单个语句中执行插入和删除查询 INSERT INTO COMPANY ID NAME VALUES 1 Paul DELETE FROM COMPANY WHERE ID 12 这是我用于执行查询的 node js 代码 p

随机推荐

  • 个人电脑MySQL Server 安装、卸载和配置

    个人电脑MySQL Server安装和配置 本文选择的是MySQL Server 5 5的安装和配置 话不多说给大家上链接 链接 https pan baidu com s 1Pc9ncYEnuAui8sIdYBmqyQ 提取码 oy66
  • Python pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径 ,请确保路径正确,然后再试一次。

    把python的安装目录加到path中 此电脑 我的电脑 gt 右键属性 gt 高级系统设置 gt 高级 gt 环境变量 gt 双击Path gt 新建 gt 输入python安装路径 重启 Windows Powershell 就好了 p
  • win10+python3.7下安装dlib19.17库

    配置 win10家庭版 原生python3 7 1 首先安装好VS2019 官网下载社区版 记得勾选桌面C 开发环境 接着配置环境变量 我参考的是Windows10下配置VS2017环境变量 成功后命令行输入cl 出现下面图片所示即可 2
  • unity 判断当前设备是否是模拟器(安卓)

    最近有个需求 需要判断当前设备是否是模拟器 网上查了一下 发现基本上都是使用特征字符串进行检索 类似这种 if SystemInfo deviceModel Contains Emulator SystemInfo deviceModel
  • java swing开发学生成绩管理系统

    临近期末 java实验报告 真的是很手忙脚乱 看了那么多篇 没有一篇说的比较完整的 那这篇的话就整体的说一下吧 这个是用swing开发的学生 成绩 管理系统 其中与数据库建立连接 数据库用的是SQL server 2012 java开发环境
  • Linux系统病毒木马排查清除方法

    Linux 1 检查系统日志 检查系统错误登陆日志 统计IP重试次数 last命令是查看系统登陆日志 比如系统被reboot或登陆情况 注 此时last命令也有可能变得不可靠 需要检查 2 检查系统用户 查看是否有异常的系统用户 root
  • 软件测试发现缺陷/bug如何提问题单?(附问题单模板)

    背景 一般软件测试面试的时候都会回答提问题单的问题 校招一般会问问题单都有哪些类别 社招的话会问提过哪些有价值的问题单 本文就先介绍问题单的组成和模板 举例内容软硬件都有 纯软件测试可以假想一款APP套用该模板即可 问题单的生命周期和流转可
  • ubuntu20.04更改为国内软件源

    一 图形界面操作 适用于 desktop 版本 在桌面右上角点击打开菜单 点击设置选项 在设置选项右侧下拉找到 关于 点击 Software Updates 在软件和更新界面里可以看到 下载自 我们可以进行修改 推荐选择 mirros al
  • R:列表索引

    总共有三种方法访问列表lst中的组件c 返回值是c的数据类型 lst c lst c 是双重中括号 中括号之间不能打空格 lst i i是c在lst中的数字编号 注 列表分量常常会被编号 我们总是可以用这种编号来访问分量 后面两种方法还有另
  • Apache Software Foundation Distribution Directory

    http labs renren com apache mirror
  • 负载均衡策略

    Ribbon内置了多种负载均衡策略 轮询策略 com netflix loadbalancer RoundRobinRule 随机策略 com netflix loadbalancer RandomRule 重试策略 com netflix
  • 2021年蓝桥杯省赛 C++ B组

    目录 1550 蓝桥杯2021初赛 卡片 1551 蓝桥杯2021初赛 直线 1552 蓝桥杯2021初赛 货物摆放 1553 蓝桥杯2021初赛 路径 1555 蓝桥杯2021初赛 空间 1563 蓝桥杯2021初赛 时间显示 1550
  • 内存函数详解

    目录 内存函数 1 memmcpy 2 memmove 3 memcmp 4 memset 内存函数 什么是内存操作函数 我们认识字符串操作函数 strlen strcopy等 字符操作函数 tolower等 这些函数的操作对象都需要符合一
  • mysql大致组成

    文章目录 前言 mysql大致架构 各个组件的作用 连接器 查询缓存 分析器 优化器 执行器 总结 前言 这篇文章大致介绍下mysql的组成 和各个组成部分的基本作用 并不会做深入的讲解 只是基础的介绍 以便大家对mysql组成有个大致了解
  • 【git】git push 压缩包 或者 rpm包 安装包 无法解压 gzip: stdin: not in gzip format

    1 概述 因为一个环境需要在升级的时候检测nginx是否安装 如果没有安装的话 需要进行安装 然后我就将压缩包大道代码中 然后上传到服务器的时候 发现无法解压 我在一个环境验证好的nginx包如下 root node4 nginx stab
  • 泰勒公式求极限(如何用+精度怎么确定)一文扫除泰勒公式难点

    有些复杂的极限题 里面会涵盖着各种各样的函数 这些群魔乱舞的函数加大了我们计算极限的难度 此时想 如果可以将这些函数统一成一样的形式该多好 此时 就有我们的泰勒公式了 1 泰勒公式怎么用 指数函数 三角函数 反三角函数 对数函数等函数 同时
  • 正序分解整数,把一串数字倒过来逐字输出

    问题 正序分解整数 文章目录 问题 正序分解整数 1 解决 2 初步想法 2 1 结果 2 2 问题 3 更改 3 1顺便提一嘴 3 1 2 C 库函数 pow 3 1 3描述 3 1 4声明
  • 【机器学习】DBSCAN密度聚类算法(理论 + 图解)

    文章目录 一 前言 二 DBSCAN聚类算法 三 DBSCAN算法步骤 四 算法的理解 五 常用评估方法 轮廓系数 一 前言 之前学聚类算法的时候 有层次聚类 系统聚类 K means聚类 K中心聚类 最后呢 被DBSCAN聚类算法迷上了
  • Android Studio中Intel HAXM的那些坑

    最近用过两台电脑折腾Android Studio 都是windows的系统 不知道为什么连着踩了两个坑 第一台我结束了qemu system i386 exe这个倒霉的进程 导致我开启模拟器的时候一直提示我没有安装Intel HAXM 没办
  • mySQL常用DDL命令

    mysql常用DDL命令 1 创建数据库 2 查看数据库 3 查看数据库创建明细 4 修改数据库编码 5 删除数据库 6 使用数据库 7 创建表 8 查看表的结构 9 在表中插入列 字段 10 修改列 字段 的属性 11 删除某列 字段 1