MySQL对表的复制,修改及删除

MySQL表结构的修改——添加和删除字段 综上所述,我们可以使用ALTER TABLE语句来添加和删除MySQL表中的字段。通过使用适当的语法和参数,我们可以轻松地修改表结构以满足我们的需求。在MySQL数据库中,我们经常需要对表结构进行修改,其中包括添加和删除字段。要删除表中的字段,我们可以使用ALTER TABLE语句的DROP COLUMN子句。要添加字段到一个已存在的表中,我们可以使用ALTER TABLE语句。是可选的,用于指定更多的字段属性(例如,是否允许为空、默认值等)。替换为要添加的字段的名称,替换为要删除的字段的名称。 阅读详情

本来都不想写这节了,因为很麻烦,例子要多,且要有代表性,而且也知道大家都烦了。可是这节却是我们平时经常使用的,因为MySQL用的最多的就是对数据的操作,包括插入数据,更新数据,修改数据,删除数据。可是表才是存放数据的地方,一个表建的好坏直接影响你操作的性能,所以我认为有必要来简单介绍一下这节,MySQL对表的复制,修改和删除。包括从复制一个表结构到另一个表,修改表结构(例如:增加删除字段,增加索引等),还有,删除没用的表释放硬盘空间。
 

select * from nickname ;

/*
id   name      desc
1    simaopig  这本是给丫头起的名字
2    虫zi       不是一条龙就是一条虫,虫子是不用早起的
3    chongpig  这样可以说明虫zi是爱小猪的,呵呵
*/

假设有上面这个昵称表,本篇日志所讲都是以此表为基础,大家直接以此为参考即可。

MySQL表的复制

创建表的副本:

创建一个完全和上表表结构一样,数据也一样的新表,即直接复制原表的表结构可以用如下SQL语句

/*
用子查询,创建表,表的结构呢完全和nickname一致,并且数据也相同
*/

create table new_nickname select * from nickname ;

只创建含有特定字段的表副本:

有的时候呢,我需要一个新表,只需要有昵称表的name与desc两个字段即可,不需要id字段,同样使用子查询,不过不再是select * 而是直接select 想要的字段即可

/*
因为只想要name和desc字段,所以我只查询原表的这两个字段即可
*/

create table new_nickname select name , desc from nickname ;

只创建含有约束条件的值的表副本:

比如说,突然间我只想要那个id < 3的昵称表的所有数据咋办呢?(我不是 矫情啊,是为了举例啊!)这个时候,我们就需要为子查询加上条件限制,where 语句大家没有忘吧?

/*
限定条件,只要id<3的数据
*/

create table new_nickname select * from nickname where id < 3 ;

只复制表结构,咱爷们不要表数据:

有的时候呢,我只想复制旧表的表结构,至于里面的数据呢?已经old了,我是不想要的,即我只想复制一个表的表结构,这个时候咋办呢?别怕,我教你三种方法,均可解决此问题。

/*
和上面复制特定数据一样,只不过呢,咱这个条件弄个恶心点的,
当0=1的时候我才要你的数据,显然不会复制任何数据了
*/

create table new_nickname select * from nickname where 0 = 1 ;

上面的方法是取巧,因为没有合格的数据符合限制条件,所以被复制的当然只有表结构了。另外MySQL提供了一个现成的语法,那就是:create table new_talbe_name like old_table_name;

/*
应用create table like 语法,只复制表结构
*/

create table new_nickname like nickname ;

第三种方法就是用咱们之前取过外键key_id的方法,显示创建表时的SQL语句然后复制,显示建表语句的方法为:show create table table_name;

复制旧表部分结构,同时增加新字段:

人都要创新嘛,社会在进步,如果还停留不前的话是会淘汰的,所以咱也不能单纯的复制,也要有点自己的个性,在我的地盘听我的嘛。比如说复制昵称表的同时呢,我要创建一个新的字段,就是昵称创建日期字段。嗯。

/*
咱也个性点,新字段咋的也得先声明一下,再复制想要的那部分字段,嘿嘿
*/

create table new_nickname (create_time date not null , status enum ( '1' , '2' ) ) select name , desc from nickname ;

MySQL表的修改

MySQL可以使用ALTER TABLE 语法来更改已存在的表,它允许在不重建整个表的情况下,添加删除或者修改表字段。其完整结构为:ALTER TABLE table-name (action field-definition, action field-definition, ….);

这里面的action包括关键字:ADD,DROP,ALTER或者是CHANGE中的任何一个,而且后面跟的是与创建表CREATE TABLE命令使用的相同的字段定义。这个定义包含要修改的字段的名字和由新字段名字、类型和约束组成的字段定义。

向表中添加新字段:

这回咱也不复制表了,搞的那么郁闷干什么?咱直接在昵称表上面更改,为昵称表添加新的字段创建时间——create_time

/*
我相信不用我说您也知道应该用上面说的action中的ADD,嗯,都是联明的孩子啊
*/

alter table nickname add create_time date not null ;

为表添加主键:

咱可不是仅能改表的字段描述,添加新字段啥的。咱还能为表添加主键及索引。不信咱就试一下,将昵称表的id添加为主键。

/*
主键的描述是PRIMARY KEY
*/

alter table nickname add primary key (id ) ;

修改字段名及类型:

把昵称表的字段name改为nick_name,嗯,说干咱就干。该出手时咱就得出手不是?要不软柿子都让别人捏走了。

alter table nick_name change name nick_name varchar ( 255 ) ;

在修改字段类型时,MySQL允许使用modify关键字来替换change。二者惟一的区别就是change需要同时指定新字段与旧字段的名字,而modify因为只能用在修改字段类型上,而不能改变字段名字,所以自然就没有新字段名称这一概念

/*
将nick_name表中的id由原来的int(3)改为bigint(18)
*/

alter table nick_name change id id bigint ( 18 ) auto_increment unique ;

alter table nick_name modify id bigint ( 18 ) auto_increment unique ;

删除字段:

呃,本来字段就不多,行啊,为了日志,删除id吧。嗯。

/*
聪明 的孩子这回都知道action应该选择DROP 了
*/

alter table nick_name drop id ;

给表重命名:

把昵称表的名字改为new_nickname,重命名表的名字,MySQL提供了一个方法RENAME TO,有两种用法,注意看示例

alter table nick_name rename to new_nickname ;

rename table nick_name to new_nickname ;

给表增加外键:

MySQL提供了一种给表增加外键的语法:ADD FOREIGN KEY

/*
把nick_name表中的name添加为外键,外键参照于user表
*/

alter tabgle nick_name add foreign key (name ) references users (user_name ) on delete cascade on update cascade ;

更改表类型:

前面的日志介绍了MySQL表的不同表类型,并简单谈了一下它们的区别,及何时应用哪种格式,现在让我们来看一下,如果不小心选错了MySQL的表类型,如何更改

/*
将nick_name表类型由InnoDB改为MyISAM
*/

alter table nick_name type = myisam ;

为字段设置或删除默认值:

表字段是可以设置默认值的,那么如何更改呢?假设我要把nick_name的desc设默认值为“丫头,我爱你”咋办呢?MySQL提供了设置和删除默认值的方法:SET DEFAULT 和 DROP DEFAULT,还有在我新增加字段的时候,比如我增加create_time字段,我想把这个字段放在name字段的后面咋办?MySQL提供给我们FIRST和AFTER子句控制字段的位置。

/*
为表增加默认值
*/

alter table nick_name alter desc set default = '丫头,我爱你' ;

/*
为表删除默认值
*/

alter table nick_name alter desc drop default ;

/*
将create_time字段放在name后面
*/

alter talbe nick_name add create_time datetime after name ;

/*
将create_time字段放在desc前面
*/

alter table nick_name add create_time datetime first desc ;

MySQL表的删除

此操作相当简单,但是一定要慎重,慎重,慎重!!! @_@

DROP TABLE table-name;

/*
删除nick_name表
*/

drop table nick_name ;

如果怕表不存在,导致系统报错的话可以用上IF EXISTS就像建表时可以用IF NOT EXISTS一样

/*
如果nick_name表存在就删除它
*/

drop table if exists nick_name ;

PS:这篇写完了,好长啊,好累啊。嗯。。

原文:http://www.xiaoxiaozi.com/2009/07/16/1191/

【Unity】Unity 跨平台及编译过程 早期的Unity跨平台是基于MONO运行时的,又通过CLS实现了跨语言。其基本思路是将各个版本的语言统一编译成CIL语言,在不同平台运行时使用CLR进行解释。有点类似于Java的jdk和jvm。 CLS(Common Language System)通用语言规范:CLS是一种规范,类似于schema,当文件被指定遵守CLS规范后,在某语言中写出不符合通用规范的代码后将被警告或报错。 MONO是一个开源工程,其中包含C#编译器,CLR运行时,以及一组类库。该工程常见了一系列符合ECMA标准的.NET工具,MO 阅读详情

相关推荐

2.6 SST的核心性能指标体系

本文构建了固态变压器(SST)的核心性能指标体系,涵盖电气性能、可靠性、经济性和环境适配性四大类指标。电气性能指标包括运行效率(≥97%)、功率密度(≥900kVA/m³)、谐波畸变率(≤3%)等关键参数;可靠性指标设定MTBF≥43800h、年均故障率≤1.2次/年等标准;经济性指标对比分析了初始购置成本(45-55万元)和全生命周期成本(48-55万元);环境适配性指标则明确了温度、海拔等工况要求。该体系采用量化公式和国标限值,为SST的性能测试、选型和优化提供了统一标准。

技术工作者 597

mysql替换表结构数据被清空了6_数据库

1. 什么是数据库?数据库: database,存储数据的仓库数据库:高效的存储和处理数据的介质(介质主要是两种:磁盘和内存)2. 数据库的分类?数据库基于存储介质的不同:进行了分类分为两类:关系型数据库(SQL)和非关系型数据库(NoSQL: Not Only SQL,不是关系型的数据库都叫做非关系型数据库)3.不同的数据 库阵营中的产品有哪些?关系型数据库大型: Oracle, DB2中型: ...

weixin_33550394的博客 464

html2canvas 返回的toDataURL()数据为 data:,的解决方法

html2canvas 返回的toDataURL()数据为 data:,的解决方法 我在使用html2canvas的使用, 发现toDataURL() 返回的数据为data:, 而且将数据设置为img的src属性,图片也不能正常显示,我尝试了很多方法,也没有解决出来,经过我不断的百度+自己尝试,终于解决了这个问题。 代码: 这段代码是没有任何问题的,标准html2canvas的demod代码,但就是无法正常将图片previewImg 渲染出来,dataURL 我打印的结果为 data:, 错误的原因是,

java123_PB的博客 5024

MySQL将一个字段内的一部分内容清除掉

/ 将c字段中的第二个开始长度为二的字符去掉。SELECT RIGHT(内容,257) // 从右边开始查询字段"内容"的第两百五十七个字符。SUBSTRING(内容,5,3) 截取这个字段”内容“ 从第五个字符开始 只截取之后的3个字符。SELECT LEFT(内容,100) // 从左边开始查询字段"内容"的第一百个字符。

m0_56467966的博客 5740

Doris副本修复实战:从状态机到手动修复的完整指南

在分布式数据库系统中,多副本机制是实现高可用与数据一致性的核心技术。其原理是通过在不同节点存储数据的多个拷贝,确保部分节点故障时服务仍可继续。这项技术的核心价值在于保障数据可靠性,并支撑在线分析处理(OLAP)等对数据一致性要求高的应用场景。当副本出现损坏、丢失或版本不一致时,系统通常依赖自动修复机制,但在元数据损坏、多副本同时故障等复杂场景下,自动修复可能失效,需要深入理解副本状态机并借助手动工具介入。本文将聚焦Doris数据库,解析Tablet副本状态流转(如BAD、VERSION_ERROR),并详细

weixin_32288959的博客 457

Silvaco TCAD | GaN HEMT器件仿真与高频功率应用实战

本文详细介绍了使用Silvaco TCAD进行GaN HEMT器件仿真的全流程,涵盖器件结构设计、极化效应建模、高频特性分析及功率损耗优化。通过实战案例展示了GaN HEMT在电动汽车电驱和快充模块等高频功率应用中的性能优势与效率提升策略,为工程师提供可靠的仿真方法与设计验证手段。

desk3的博客 183

SQL-通过复制另一张表结构创建新表(关键字create table,as,like)

最基本的创建表的方式 create table 表名( 列名1 数据类型, 列名2 数据类型, … ) 例如:(设置id为int型,非空,主键,自增) CREATE TABLE test3 ( id INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) , age INT(10), phone INT(20) ) 通过关键字l...

MelanceXin的博客 1万+

STA 静态时序分析 第三章——标准单元库中的高级功耗建模与优化策略

本文深入探讨了STA静态时序分析中标准单元库的高级功耗建模与优化策略。详细解析了动态功耗和漏电功耗的精细建模技术,包括基于波形敏感的CCS模型和温度敏感的漏电模型,并介绍了多工艺角功耗建模及低功耗设计优化策略,为纳米级芯片设计提供关键能效解决方案。

weixin_29290863的博客 224

mysql 对表修改_MySQL对表的复制,修改及删除

本来都不想写这节了,因为很麻烦,例子要多,且要有代表性,而且也知道大家都烦了。可是这节却是我们平时经常使用的,因为MySQL用的最多的就是对数据的操作,包括插入数据,更新数据,修改数据,删除数据。可是表才是存放数据的地方,一个表建的好坏直接影响你操作的性能,所以我认为有必要来简单介绍一下这节,MySQL对表的复制,修改和删除。包括从复制一个表结构到另一个表,修改表结构(例如:增加删除字段,增加索引...

weixin_42548752的博客 320

用Arduino和FS-i6X遥控器,从零开始打造你的第一只仿生扑翼蝴蝶(附完整代码解析)

本文详细介绍了如何利用Arduino和FS-i6X遥控器从零开始制作仿生扑翼蝴蝶,包括硬件准备、电路连接、代码解析和调试技巧。通过完整的代码示例和参数说明,帮助读者快速掌握仿生机器人的制作要点,实现蝴蝶的自然飞行效果。

weixin_28727975的博客 309

【科研建模】Pycaret自动机器学习框架使用流程及多分类项目实战案例详解

对pycaret的使用流程进行梳理,并详细介绍了基于多分类预测的案例

lys_828的博客 780

mysql 删除复制_MySQL对表的复制,修改及删除

本来都不想写这节了,因为很麻烦,例子要多,且要有代表性,而且也知道大家都烦了。可是这节却是我们平时经常使用的,因为MySQL用的最多的就是对数据的操作,包括插入数据,更新数据,修改数据,删除数据。可是表才是存放数据的地方,一个表建的好坏直接影响你操作的性能,所以我认为有必要来简单介绍一下这节,MySQL对表的复制,修改和删除。包括从复制一个表结构到另一个表,修改表结构(例如:增加删除字段,增加索引...

weixin_35501678的博客 255

基于Qt C++开发一个体测数据管理系统

advice.dietAdvice = "饮食建议:\n1. 控制总热量摄入,每天减少300-500大卡\n2. 减少精制碳水(白米饭、白面包、甜食)\n3. 增加优质蛋白和膳食纤维摄入\n4. 烹饪方式以蒸、煮、烤、凉拌为主,减少油炸\n5. 晚餐适量减少,睡前3小时避免进食";dataTable->setHorizontalHeaderLabels({"ID", "用户名", "身高(cm)", "体重(kg)", "BMI", "体脂率(%)", "记录时间"});

寒寒豆豆软件公司的博客 192

mysql 删除复制信息_MySQL对表的复制,修改及删除

本文为转载。本来都不想写这节了,因为很麻烦,例子要多,且要有代表性,而且也知道大家都烦了。可是这节却是我们平时经常使用的,因为MySQL用的最多的就是对数据的操作,包括插入数据,更新数据,修改数据,删除数据。可是表才是存放数据的地方,一个表建的好坏直接影响你操作的性能,所以我认为有必要来简单介绍一下这节,MySQL对表的复制,修改和删除。包括从复制一个表结构到另一个表,修改表结构(例如:增加删除字...

weixin_39718460的博客 152

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MySQL 表的创建、复制、修改与删除

MySQL中如何利用代码完成表的创建、复制、修改和删除。

我的博客 2326

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MySQL数据库表的管理(修改表,复制,新增、修改列,删除表列)

关系型数据库的数据通常都是以表的形式存储和展现,因此可以简单而粗暴地讲,一个关系就是一个表。在创建表格后,在后期对数据库表的管理工作中,表的维护、修改是重要工作,如增加一个新列,删除一列,修改某属性的数据类型等,本篇文章总结表管理的基本操作。包括复制和删除表,新增、修改、删除列。

moxigandashu的博客 7902

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MySQL基础总结(四)- 建表、插入数据、表的复制、修改数据、删除数据

一、建表 MySQL当中常见的字段数据类型 字段名称 说明 int 整数型(java中的int) bigint 长整型(java中的long) float 浮点型(java中的float double) char 定长字符串(String) varchar 可变长字符串(StringBuffer/StringBuilder) date 日期类型 (对应Java中的java.sql.Date类型) BLOB 二进制大对象(存储图片、视频等流媒体信息) Binary La

竹蜻蜓飞行的博客 1419

MySQL入门 DDL语言之十三:表属性的创建、修改、删除和表的复制和备份 数据库管理

MySQL入门 DDL语言之十三:表属性的创建、修改、删除和表的复制和备份 数据库管理 #DDL /* 数据定义语言 库和表的管理 一、库的管理 创建、修改、删除 二、表的管理 创建、修改、删除 创建:create 修改:alter 删除:drop */ #一、库的管理 #1、库的创建 /* 语法: create database [IF NOT EXISTS] 库名; */ #案例:创建库...

码农回顾 339

知识积累2:Mysql对表的修改,复制与删除

MySQL表的复制 创建表的副本: 创建一个完全和上表表结构一样,数据也一样的新表,即直接复制原表的表结构可以用如下SQL语句 /* 用子查询,创建表,表的结构呢完全和nickname一致,并且数据也相同 */ create table new_nickname select * from nickname; 只创建含有特定字段的表副本: 有的时候呢,我需要一个新表,只需要有昵称表

shixing_11的专栏 1195

Mysql 表的创建、修改、删除、复制

一、表的创建 create table 表名( 列名 列的类型【(长度) 约束】, 列名 列的类型【(长度) 约束】, 列名 列的类型【(长度) 约束】 ); 二、表的修改 1.修改列名 alter table 表名 change column 列名 新列名 2.修改列的类型或约束 alter table 表名 modify co...

Stillboring的博客 178

(mysql学习笔记8)表的创建、复制,数据的插入、修改、删除

表 创建表 建表语句的语法格式: create table 表名( 字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型, ··· ··· ); mysql中常见的数据类型 int 整数型(java中的int) bigint 长整型(Java中的long) float 浮点型(Java中的float double) char 定长字符串(string) varchar 可变长字符串(stringbuffer/stringbuilder) data 日期类型(对应Jav

qq_43791665的博客 412

MySQL表的基本操作-----查询、创建、删除、修改、复制数据库和表

使用mysql -uroot -p$tmp_pwd,输入密码进入mysql页面 创建 创建数据库 create database+数据库名; create database sq1; 查看 查看数据库 在Linux系统中,在结束的命令后面要以分号结尾(;),表示命令结束 show databases; 这里就可以看见我们之前创建的数据库了 查看数据库中表 SHOW TABLES[FROM 数据库名][LIKE wild]; 功能:显示当前数据库中已有的数据表的信息 show tables from

PEABRAIND的博客 1116
上一篇: FP-Growth算法介绍
下一篇: Spark RDD API详解(一) Map和Reduce
heming621
博客等级 码龄15年 9粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值