mysql——修改表名、修改字段名、修改字段数据类型、增加字段、删除字段、修改字段排列位置、修改存储引擎、删除表 (示例)
一、创建表和插入数据:
create table cr01 ( sx int(50),
mz varchar(50),
bz varchar(50)
); insert into cr01 ( sx,mz,bz ) values (1,'sww','sww01'); insert into cr01 values (2,'aww','aww02'); insert into cr01 values (3,'qww','qww03'),
(4,'eww','eww04'),
(5,'rww','rww05'); insert into cr01 ( sx,mz,bz ) values (6,'yww','yww06'),
(7,'uww','uww07'); select * from cr01;

==========================================================
二、查看表结构
查看表结构是指:查看数据库中已经存在的表的定义
1、查看表基本结构的语句:describe
describe语句可以查看表的基本定义:其中包括字段名、字段数据类型、是否为主键和默认值等;
describe语句的语法格式如下: describe 表名;
describe可以缩写为desc,格式如下: desc 表名;
describe cr01; 或者 desc cr01;

=======================================================
三、查看表的详细结构语句show create table
该语句可以查看表的字段名、字段的数据类型、完整性约束条件等信息。除此之外还可以查看表的默认的存储引擎和字符编码
show create table的语法格式如下: show create table 表名;
以整洁的格式显示的语法格式如下: show create table 表名 \G;
CREATE TABLE `cr01` (
`sx` int(50) DEFAULT NULL, `mz` varchar(50) DEFAULT NULL, `bz` varchar(50) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1

==================================================
四、修改表名
语法格式:alter table 旧表名 rename [to] 新表名;
举例:alter table example1 rename user;
注释:修改后example1表就不存在了,只存在名为user的新表,但是其内容是一致的,只是换了个名称
执行前: show tables;

执行:alter table cr01 rename to jss;

执行后:show tables;

注意:PS:为了不影响示例,执行下面的语句会把之前修改过的表名再改过来:alter table jss rename to cr01;
====================================================================================================
五、修改字段的数据类型
语法格式:alter table 表名 modify 属性名 数据类型; 注释:表名指所要修改数据类型的字段的表的名称;
属性名指:所要修改数据类型字段的名称;
数据类型指:修改后的新的数据类型
举例:alter table user modify name varchar(30);
修改前先desc user 修改后再desc user 就会发现name字段的数据类型改变了
执行前:describe cr01; ----------查看原来的表结构类型

执行:alter table cr01 modify mz varchar(40);

执行后:describe cr01; -----------------------------执行后,再次查看表结构,看是否改变

注意:PS,还原:alter table cr01 modify mz varchar(50);
===========================================================================================
六、修改字段名
语法格式:alter table 表名 change 旧属性名 新属性名 新数据类型;
举例:alter table example1 change stu_sex sex int(2);
注释:新数据类型指修改后的数据类型,如不需要修改,则将新数据类型设置成与原来一样
注意:修改整数类型时可能会影响表中的数据,特别注意的是字符类型的字段最好不要修改成整数类型或者浮点数类型
执行前:describe cr01;

执行:alter table cr01 change mz mzdd varchar(50);

执行后:describe cr01;

备注:PS:还原:alter table cr01 change mzdd mz varchar(50);
===========================================================================
七、增加字段
语法格式:alter table 表名 add 属性名1 数据类型 [完整性约束条件] [first | after 属性名2];
完整性约束条件:是可选参数,用来设置新增字段的完整性约束条件
first:是可选参数,其作用是将新增字段设置为表的第一个字的;
after:是可选参数,其作用是将新增字段添加到“属性名2”所指的字段后;
如果执行的SQL语句中没有“first”或者“after 属性名2”参数指定新增字段的位置,则新增字段默认为表的最后一个字段;
(1)增加无完整性约束条件的字段
举例:alter table user add phone varchar(20);
(2)增加有完整性约束条件的字段
举例:alter table user add age int(4) not null;
(3)表的第一个位置增加字段
举例:alter table user add num int(8) primary key first;
(4)表的指定位置之后增加字段
举例:alter table user add address varchar(20) not null after phone;
执行前:describe cr01;

执行:
alter table cr01 add js varchar(40) unique after mz;
alter table cr01 add jss varchar(50); ----------分别依次执行

执行后:describe cr01;(select * from cr01;)


注意:PS:下面删除新增的两个字段,以便还原。
===============================================================================
八、删除字段
删除字段是删除表中已经定义好的表中的某个字段,删除后其字段所属的数据都会被删除。
语法格式:alter table 表名 drop 属性名;
执行前:describe cr01;

执行:
alter table cr01 drop js;
alter table cr01 drop jss; -------------------分别依次执行;

执行后:describe cr01;

注意:PS:被还原为初始状态了
=============================================================
九、修改字段的排列位置
语法格式:alter table 表名 modify 属性名1 数据类型 first|after 属性名2;
(1)字段修改到第一个位置
举例:alter table user modify name varchar(20) first;
(2)字段修改到指定位置
举例:alter table user modify sex tinyint(1) after age;
执行前:describe cr01;

执行:alter table cr01 modify bz varchar(50) after sx;

执行后:describe cr01;

注意:PS:还原:alter table cr01 modify mz varchar(50) after sx;
=====================================================================
十、更改表的存储引擎
语法格式:alter table 表名 engine=存储引擎名;
此处不示例;
======================================================
十一、删除表的外键约束
**********************************************************************
十二、删除表
(1)删除没有被关联的普通表
语法格式:drop table 表名;
(2)删除被其它表关联的父表
删除子表的外键约束,再删除父表
执行前:show tables;

执行:drop table cr01;

执行后:show tables;

mysql——修改表名、修改字段名、修改字段数据类型、增加字段、删除字段、修改字段排列位置、修改存储引擎、删除表 (示例)的更多相关文章
- MySQL怎么用命令修改字段名
一.SQL MySQL怎么用命令修改字段名的 -- alter table 表名 change 旧属性 新属性 新的数据类型 ==>(可以不写) COMMENT '备注' ALTER TABLE ...
- 存储引擎和表的操作(mysql中的数据类型、完整性约束)
一.存储引擎 .概念 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力. 通过选择不同的技术 ...
- 浅谈MySql的存储引擎(表类型)
来源:http://www.cnblogs.com/lina1006/archive/2011/04/29/2032894.html 什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到 ...
- 浅谈MySql的存储引擎(表类型) (转)
什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等等其实是 ...
- (转)浅谈MySql的存储引擎(表类型)
原文:http://www.cnblogs.com/lina1006/archive/2011/04/29/2032894.html 什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到 ...
- mysql 库操作、存储引擎、表操作
阅读目录 库操作 存储引擎 什么是存储引擎 mysql支持的存储引擎 如何使用存储引擎 表操作 创建表 查看表结构 修改表ALTER TABLE 复制表 删除表 数据类型 表完整性约束 回到顶部 一. ...
- [MySQL数据库之表的详细操作:存储引擎、表介绍、表字段之数据类型]
[MySQL数据库之表的详细操作:存储引擎.表介绍.表字段之数据类型] 表的详细操作 存储引擎 mysql中建立的库======>文件夹 库中建立的表======>文件 用来存储数据的文件 ...
- Mysql不同存储引擎的表转换方法
Mysql不同存储引擎的表转换方法 1.Alter table直接修改表的存储引擎,但是这样会导致大量的系统开销,Mysql为此要执行一个就表向新表的逐行复制.在此期间,转换操作可能会占用服务器的所有 ...
- InnoDB存储引擎的表空间文件,重做日志文件
存储引擎文件:因为MySQL表存储引擎的关系,每个存储引擎都会有自己的文件来保存各种数据.这些存储引擎真正存储了数据和索引等数据. 表空间文件 InnoDB存储引擎在存储设计上模仿了Oracle,将存 ...
- MySQL数据库 存储引擎,创建表完整的语法,字段类型,约束条件
1.存储引擎 - 存储引擎是用于根据不同的机制处理不同的数据. - 查看mysql中所有引擎: - show engines; - myisam: 5.5以前老的版本使用的存储引擎 - blackho ...
随机推荐
- Can't specify target table for update in FROM clause
UPDATE tbl SET col = ( SELECT ... FROM (SELECT.... FROM) AS x); 额外嵌套了一个 SELECT 语句 例如LeetCode 中的 Dele ...
- linux中telnet后退出连接窗口
[root@a cron]# telnet www.baidu.com 80Trying 115.239.211.112...Connected to www.baidu.com. #显示conn ...
- 【UOJ#228】 基础数据结构练习题
题目描述 sylvia 是一个热爱学习的女孩子,今天她想要学习数据结构技巧. 在看了一些博客学了一些姿势后,她想要找一些数据结构题来练练手.于是她的好朋友九条可怜酱给她出了一道题. 给出一个长度为 n ...
- 从零开始入门 K8s | Kubernetes 调度和资源管理
作者 | 子誉 蚂蚁金服高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词"入门",即可下载从零入门 K8s 系列文章 PPT. Kubernetes 调 ...
- Latex里引用多个公式,如何将公式合并?
如果是想要的效果:(1)-(3),怎么操作?类似于用\cite引用多个文献那样吗? 1. \eqref{lable 1, lable 2, label 3}? 得到的结果:3个问号 ??? 2.\eq ...
- Unity常用API备忘录
UnityEditor 复制文本到剪切板 GUIUtility.systemCopyBuffer 获取资源路径 AssetDatabase.GetAssetPath 选择节点 Selection.a ...
- Amaple.js框架详细介绍
Amaple · 体验优先的JavaScript单页框架 Amaple (点此查看Github仓库)是专为单页web应用而设计的基于页面模块化的JavaScript框架,它可使开发者快速开发单页web ...
- HailStone序列
目前HailStone序列还未被证明是否有穷,所以它未必是一个算法. * HailStone序列* n=1时,返回1:* n>1时且为偶数时,{n} ∪ {n/2}* n>1时且为奇数时, ...
- LeetCode 73. 矩阵置零(Set Matrix Zeroes)
题目描述 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1 ...
- LeetCode 114. 二叉树展开为链表(Flatten Binary Tree to Linked List)
题目描述 给定一个二叉树,原地将它展开为链表. 例如,给定二叉树 1 / \ 2 5 / \ \ 3 4 6 将其展开为: 1 \ 2 \ 3 \ 4 \ 5 \ 6 解题思路 二叉树转化为链表的基本 ...