MySQL -> DDL:数据库表的创建(create),修改(alter add/drop/modify/change/rename column),复制表(like,select子查询方式)

本文主要是介绍MySQL -> DDL:数据库表的创建(create),修改(alter add/drop/modify/change/rename column),复制表(like,select子查询方式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

创建表:create table 表 (字段 字段类型(长度 约束))

# 可以加 if not exists 表用来判断存不存在表,不存在就创建
# if  exists,存在就创建,但是没用,存在再创建就会报错,删除的时候可以用,存在就删除
create table(  id int(10),name varchar(100),age int(10)
)

修改表:add/drop/modify/change/rename

"添加表字段":add column
alter tableadd column 新字段 字段类型; # 后面跟first加到第一列的位置,after 列名,加到列后面
alter tableadd constraint 自定义名字 primary key(id);
alter tableadd primary key(id);# 给id添加主键
alter tableadd unique(座位);# 添加唯一建
alter tableadd foreign key(id) references 外表(id);# 添加外键"删除字段":drop column
alter tabledrop column 字段;
alter tabledrop primary key;# 删除表中主键
alter tabledrop foreign key;# 删除表中外键"修改字段类型,约束等":modify column
alter tablemodify column 字段 修改类型;
alter tablemodify column id int not null;# 修改成非空约束
alter tablemodify column age int default 18;# 默认18岁
alter tablemodify column id int primary key;# id修改为主键
alter tablemodify column id int primary key auto_increment;# 主键标识列"修改字段名";change
alter table 表 change column 字段 新字段名 新的类型;"修改表名":rename
alter tablerename to 新表名;# to可以省略

删除表:drop

# 可以加 if exists 表;存在就删除
drop table;
drop table if exists

复制表:copy表,创建一个复制的表(存在的表),使用like关键字复制

"复制表的结构,无数据": like
create table2 like1;"复制表部分结构":
create table2
select id,name
from1
where 1=2;# 直接让它的条件成立不了,这样就只有字段没有数据了"复制表中所有数据":copy表1所有数据
create table2
select * 
from1;"复制表中部分数据":
create table2
select id,name
from1
where 条件;

这篇关于MySQL -> DDL:数据库表的创建(create),修改(alter add/drop/modify/change/rename column),复制表(like,select子查询方式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/194787

相关文章

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保