MySQL修改数据表的结构

创建数据库

-- create database 创建的数据库名;
create database test;

这里创建了一个名为 test 的数据库 

选择需要使用的数据库

-- use 数据库名;
use test;

这里使用 test 数据库 

 创建数据表 

-- create table 表名(字段名1 数据类型(长度) 约束,字段名2 数据类型(长度) 约束...);
create table stu(id int(12) primary key,name varchar(12) not null);

这里在 test 数据库中创建了一个名为 stu 的数据表 ,其字段有 id 其类型为int 长度为12 且为主键,name 其类型为 varchar  长度为12 不能为空

 查看数据表结构

desc是describe的简写

-- describe 表名;
describe stu;

-- desc 表名;
desc stu;

查看了stu 表的表结构 

 修改数据表结构

添加字段

追加字段

alter table 表名 add 字段名 数据类型(长度); 

--  alter table 表名 add 字段名 数据类型(长度); 
alter table stu add sex int(2);

这里为 stu 表中追加了 sex 字段(类型为int,长度为2),然后用 desc 查看 stu 表的结果查看追加 sex 字段的情况

 字段添加在最前面

alter table 表名 add 字段名 数据类型(长度) first

-- alter table 表名 add 字段名 数据类型(长度) first;
alter table stu add sid int(18) first;

这里为 stu 表中添加了 sid 字段(类型为int,长度为18)用 first 关键字将 sid 字段添加在第一个,最后用 desc 查看 stu 表的结果查看添加 sid 字段的情况

 

字段添加在某个字段的后面

alter table 表名 add 字段名 数据类型(长度)  after 在哪个字段的后面;

-- alter table 表名 add 字段名 数据类型(长度) after 在id字段的后面;
alter table stu add age int(2) after id;

 这里为 stu 表中添加了 age 字段(类型为int,长度为2)用 after 关键字将 age 字段添加指定 id 字段的后面 ,最后用 desc 查看 stu 表的结果查看添加 age 字段的情况

修改字段

alter table 表名 change 改之前的字段 改之后的字段 字段类型(长度);

-- alter table 表名 change 改之前的字段 改之后的字段 字段类型(长度);
alter table stu change name stuName varchar(12);

这里为 stu 表中将name 字段改成了stuName,并修改了类型和长度,最后用 desc 查看 stu 表的结果查看字段修改的情况 

删除字段

alter table stu drop 删除的字段名;

-- 删除stu表中的sid字段
-- alter table 表名 drop 删除的字段名;
alter table stu drop sid;

这里为 stu 表中删除了 sid 字段,用 desc 查看 stu 表的结果查看删除字段的情况 

修改表名

alter table 表名 rename 修改之后的表名;

-- alter table 表名 rename 修改之后的表名;
alter table stu rename student;

1.这里将 stu 表的名字修改成 student 

2.查看当前数据库中全部的表

show tables;

 复制表

复制表结构及数据到新表

准备:由于student表中没有数据现添加几条数据,然后在对student表进行复制

create table 新表名 select * from 源表名;

-- create table 新表名 select * from 源表名;
create table one select * from student;

 这里将 student 表 结构和数据全部复制到 one 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 one 表的结构和 select 语句查询 one 表的全部数据,对比复制的student 表的结构和数据一样

只复制表结构到新表


create table 新表名 select * from 源表名 where false;

-- create table 新表名 select * from 源表名 where false;
create table two select * from student where false;

这里将 student 表 结构 two 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 two 表的结构, select 语句查询 two 表的没有数据,说明只复制了 student 表的结构

 

使用关键字 LIKE 复制表结构

CREATE TABLE 新表名 LIKE 源表名;

-- CREATE TABLE 新表 LIKE 源表;
CREATE TABLE three LIKE student;

这里用 like 关键字,将 student 表 结构 three 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 three 表的结构, select 语句查询 three 表的没有数据,说明只复制了 student 表的结构

复制表的部分字段及数据到新表

create table four as (select 字段1,字段2,... from student);

-- create table 新表名 as (select 字段 1,字段 2,...... from 源表名);
create table four as (select id,stuName from student);

这里将 student 表的 id 和 stuName 字段复制到 four 表中,用 show tables; 命令查看当前数据库中的所有数据表,用 desc 查看 four 表的结构和 select 语句查询 four 表的全部数据,

删除表

drop table 表名;


-- 删除一个表
-- drop table 表名;
drop table one;

-- 删除多个表
-- drop table 表名1,表名2,....;
drop table two,three,four;

删除 one表

同时删除 two , three , four 这几张表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/564065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

辽宁梵宁教育设计培训:赋能大学生,新技能学习再升级

辽宁梵宁教育设计培训:赋能大学生,新技能学习再升级 在当今这个日新月异、信息爆炸的时代,大学生们面临着前所未有的挑战与机遇。为了帮助他们更好地适应社会的快速变化,提升个人的综合素质和竞争力,辽宁梵宁教育设计…

【Node.js】01 —— fs模块全解析

🔥【Node.js】 fs模块全解析 📢 引言 在Node.js开发中,fs模块犹如一把万能钥匙,解锁着整个文件系统的操作。从读取文件、写入文件、检查状态到目录管理,无所不能。接下来,我们将逐一揭开fs模块中最常用的那…

高级数据结构—树状数组

引入问题: 给出一个长度为n的数组,完成以下两种操作: 1. 将第i个数加上k 2. 输出区间[i,j]内每个数的和 朴素算法: 单点修改:O( 1 ) 区间查询:O( n ) 使用树状数组: 单点修改&#xff1a…

文档分享怎么用二维码?扫码获得文档的制作方法

现在日常工作和生活中,经常会看到可以用于展示文件的二维码图片,使用这种方式可以向其他人传递一些资料、通知、数据等情况。比如常见的内容有企业介绍、产品内容、使用说明、活动流程等类型的内容,那么这些不同类型的文件该如何制作二维码呢…

医学图像三维重建与可视化系统 医学图像分割 区域增长

医学图像的三维重建与可视化,这是一个非常有趣且具有挑战性的课题!在这样的项目中,可以探索不同的医学图像技术,比如MRI、CT扫描等,然后利用这些图像数据进行三维重建,并将其可视化以供医生或研究人员使用。…

el-select多选非空校验

一、首先是前端版本(不建立在版本上的bug修改就是耍流氓!): 二、原来页面是下拉单选,新需求要改成下拉多选,改成多选后就发现非空校验失效了。 三、el-select多选,绑定v-model的就是一个数组了…

Unity导出package

C#代码导出后为一个dll,原有的不同平台的库不变。 以下操作均在build PC 平台下操作。 1.在要导出的文件夹下建assembly definition (Any platform) 2.将项目文件夹下的\Library\ScriptAssemblies中的相应assembly definition的dll复制到要导出的文件夹下 3.在uni…

【ES】springboot集成ES

1. 去Spring官方文档确认版本兼容性 这一版的文档里没有给出springboot的版本对应,但我在一个博主的文章里看到的es8.0以前的官方文档中就有给出来,所以还需要再去寻找spring framework和springboot的对应关系??? 还…

17-软件脉冲宽度调制(SW_PWM)

ESP32-S3的软件脉冲宽度调制(SW_PWM) 引言 ESP32-S3 LED 控制器LEDC 主要用于控制 LED,也可产生PWM信号用于其他设备的控制。该控制器有 8 路通道,可以产生独立的波形,驱动 RGB LED 等设备。LED PWM 控制器可在无需C…

227基于matlab的作业调度问题

基于matlab的作业调度问题。采用遗传算法,解决作业调度问题。一共三个作业,每个作业有不同的时间长度和紧急程度,超过时间会有惩罚措施。通过遗传算法计算出最好的作业安排,使得惩罚最小,获益最大。最终结果通过GUI用甘…

JavaScript 数据类型 对象概述

对象代表两个人,一个是你和你的对象,对于程序来说也是这个样子,一个键,一个值组成。 什么是对象?对象(object)是JavaScript语言的核心概念,也是最重要的数据类型简单说,对象就是一组“键值对”(key-value…

DC学习笔记

视频 数字逻辑综合工具实践 DC 01_哔哩哔哩_bilibili 一、DC工作模式(此小节为搬运内容) 原链接:Design_Compiler User Guide 随手笔记(9)Using Floorplan Information - 知乎 DC拥有四种工作模式: 工…

SQL优化——全自动SQL审核

文章目录 1、抓出外键没创建索引的表2、抓出需要收集直方图的列3、抓出必须创建索引的列4、抓出SELECT * 的SQL5、抓出有标量子查询的SQL6、抓出带有自定义函数的SQL7、抓出表被多次反复调用SQL8、抓出走了FILTER的SQL9、抓出返回行数较多的嵌套循环SQL10、抓出NL被驱动表走了全…

vue3的getCurrentInstance获取当前组件实例

vue3的setup中没有this时需要使用getCurrentInstance()来获取。 在 Vue 3 中,getCurrentInstance 方法可以在组合式 API(Composition API)中获取当前组件实例。这个方法返回一个包含了组件实例的对象,你可以用它来访问组件的 pro…

【刷题】代码随想录算法训练营第二十天|654、最大二叉树,617、合并二叉树,700、二叉搜索树中的搜索,98、验证二叉搜索树

目录 654、最大二叉树617、合并二叉树700、二叉搜索树中的搜索98、验证二叉搜索树 654、最大二叉树 讲解:https://programmercarl.com/0654.%E6%9C%80%E5%A4%A7%E4%BA%8C%E5%8F%89%E6%A0%91.html 最大二叉树的规则: 二叉树的根是数组中的最大元素。左子…

电商数据采集API接口系列|请求示例测试方式丨商品详情,详情图,sku价格等

电商数据采集API接口系列是用于从电商平台收集各种商品信息的工具,包括商品详情、详情图、SKU价格等。以下是一般情况下使用电商API接口进行数据采集的步骤和测试方式: 1.请求方式:HTTP POST GET (复制薇:Anzexi58 获…

VS安装教程

文章目录 VS安装步骤 VS安装步骤 (1) 下载VS2022社区版(根据情况选择自己需要的版本下载),下载的方式,可以通过微软官方下载。https://visualstudio.microsoft.com/zh-hans/downloads/?cidlearn-onpage-d…

uniapp——授权报错,选择合适的基础库

说明 我的小程序开发版本点击选择头像报错 更换基础库就好了

4.9 启动系统任务❤❤❤

有一些特殊的任务需要在系统启动时执行,例如配置文件加载、数据库初始化等操作。 Spring Boot对此提供了两种解决方案:CommandLineRunner和ApplicationRunner。 CommandLineRunner和ApplicationRunner基本一致,差别主要体现在参数上。 1. Co…

vue详解(3)

1. Vue 生命周期总结 四个阶段,八个钩子 -> 三个常用 created,mounted,beforeDestroy 2. 工程化开发 & 脚手架 Vue CLI 基本介绍: Vue CLI 是 Vue 官方提供的一个全局命令工具。 可以帮助我们快速创建一个开发 Vue 项目…