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 这几张表

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

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

相关文章

【强化学习的数学原理-赵世钰】课程笔记(九)策略梯度方法(Policy Gradient Method)

目录 一.policy gradient 的基本思路(Basic idea of policy gradient) 二.定义最优策略的 metrics,也就是 objective function 是什么 三.objective function 的 gradient 四.梯度上升算法(REINFORCE) 五.总结 上…

企业常用命令(touch/别名/重定向/Linux字符)7368字详谈

企业高薪思维: 企业(工作/学习中)操作前备份,操作后检查 最小化原则 1.安装软件最小化 2.参数选项最小化 3.登录用户权限最小化(不用root登录) 要想成功/学习上/工作上 永远比别人多做一点点(别…

幻兽帕鲁老板公开发声:腾讯正在制作幻兽帕鲁克隆版

昨天,Pocketpair的老板出来指责中国游戏公司抄袭了他们的游戏Palworld,说这简直是太不可思议了。 Pocketpair的CEO Takuro Mizobe发布了一个叫Auroria的游戏的截图,然后说:“腾讯正在制作Palworld的克隆游戏!在中国&a…

Python根据主播直播时间段判定订单销售额归属

写在前面:最近在群里看到一个这样的直播电商的场景觉得还是挺有趣的,于是就想用Python来实现。 需求描述:根据主播直播时间段结合销售订单的付款时间判断所属销售的归属 生成主播在线直播时间段数据 from datetime import datetime, time…

zabbix监控配置(添加主机、主机组和添加监控项等)

zabbix监控配置 文章目录 zabbix监控配置1.添加主机组2.添加主机(linux)3.添加主机(windows)4.监控项配置(通过模板添加)5.监控项配置(手动添加) 1.添加主机组 2.添加主机&#xff0…

学习Rust的第5天:控制流

Control flow, as the name suggests controls the flow of the program, based on a condition. 控制流,顾名思义,根据条件控制程序的流。 If expression If表达式 An if expression is used when you want to execute a block of code if a condition …

自定义vue-cli 实现预设模板项目

模板结构 主要包括四个部分: preset.jsonprompts.jsgenerator/index.jstemplate/ 项目最终结构 preset.json preset.json 中是一个包含创建新项目所需预定义选项和插件的 JSON 对象,让用户无需在命令提示中选择它们,简称预设;…

openGauss学习笔记-265 openGauss性能调优-TPCC性能调优测试指导-操作系统配置

文章目录 openGauss学习笔记-265 openGauss性能调优-TPCC性能调优测试指导-操作系统配置265.1安装openEuler操作系统265.2 修改操作系统内核PAGESIZE为64KB。265.3 关闭CPU中断的服务irqbalance openGauss学习笔记-265 openGauss性能调优-TPCC性能调优测试指导-操作系统配置 本…

2011年认证杯SPSSPRO杯数学建模C题(第二阶段)你的爱车入保险了吗全过程文档及程序

2011年认证杯SPSSPRO杯数学建模 C题 你的爱车入保险了吗 原题再现: 近几年,国内汽车销售市场异常火爆,销售量屡创新高。车轮上的世界,保险已经与我们如影随形。汽车保险,简称车险,是指对机动车辆由于自然…

计算机考研都将采用408!?

这个根本不可能,高考还没做到全国统一考试呢 每个学校对于计算机招生的需求是不一样的,比如清华大学,专业课912,算的上是最难的计算机专业课了,那他为什么搞这么难啊,还不是因为那群敢考清华的卷王们太变态…

Python数据结构【二】查找

前言 可私聊进一千多人Python全栈交流群(手把手教学,问题解答) 进群可领取Python全栈教程视频 多得数不过来的计算机书籍:基础、Web、爬虫、数据分析、可视化、机器学习、深度学习、人工智能、算法、面试题等。 🚀&a…

C++奇迹之旅:构造函数

文章目录 📝类的6个默认成员函数🌠 构造函数🌉 概念🌉特性🌉三种默认构造函数 🚩总结 📝类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗&am…

【重磅开源】一款可以生成SpringBoot+Vue代码的轻量级项目

基于SpringBootVue3开发的轻量级快速开发脚手架 🍁项目简介 一款通用的前、后端项目模板 一款快速开发管理系统的项目 一款可以生成SpringBootVue代码的项目 一款持续迭代的开源项目 一个程序员的心血合集 度过严寒,终有春日&#xff…

Nginx内存池相关源码剖析(一)总览

剖析nginx的内存池源码,讲解原理实现以及该内存池设计的应用场景 介绍 Nginx内存池是Nginx为了优化内存管理而引入的一种机制。在Nginx中,每个层级(如模板、TCP连接、HTTP请求等)都会创建一个内存池进行内存管理。当这些层级的…

Linux下redis的安装过程与配置详细教程【5.0.5为例子】

Linux下redis的安装过程与配置方法【5.0.5为例子】 下载redis redis下载地址 https://download.redis.io/releases/ 也可以自行去官网下载 提示:此处安装的为redis-5.05的版本 上传redis安装包(我的安装目录为/data/tool/redis-5.0.5) 创建目录/data/local/tool并…

Day20-【Java SE高级】单元测试 反射 注解 动态代理

一、单元测试 就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试。 1. 咱们之前是如何进行单元测试的?有啥问题? 只能在main方法编写测试代码,去调用其他方法进行测试。无法实现自动化测试,一个方法测试失败,可能…

Day 23 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结篇

修剪二叉搜索树 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 ​ 最直接的想法&#xff0…

最强解释!Python 包的依赖管理,有解了!

之前一直比较抵触用 Python ,很大一部分原因是觉得 Python 项目的环境管理比较混乱。Node.js 有 Npm 包管理工具,通过 package.json 配置项目依赖,最多再通过 nvm 来进行环境切换;Java 有 Maven Gradle 来进行包管理和项目依赖配置…

今天刷两题(day2)

题目一:最长公共前缀 题目描述: 给你一个大小为 n的字符串数组 strs ,其中包含n个字符串 , 编写一个函数来查找字符串数组中的最长公共前缀,返回这个公共前缀。输入输出描述: 输入:"abca","…

MyBatis 源码分析 - SQL 的执行过程

MyBatis 源码分析 - SQL 的执行过程 * 本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程。该过程本身比较复杂,牵涉到的技术点比较多。包括但不限于 Mapper 接口代理类的生成、接口方法的解析、SQL 语句的解析、运行时参数的绑定、查询结果自动映射、延…