MySQL表的操作(二)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 创建表test3,主键有id和name,id字段自动增长, Name字段不为空,且具有唯一属性, Password为字符串,字段不为空。 create table test3(id int auto_increment,name varchar(20) not null unique,password varchar(20) not null,primary key(id,

创建表test3,主键有id和name,id字段自动增长,

Name字段不为空,且具有唯一属性,

Password为字符串,字段不为空。

create table test3(id int auto_increment,
name varchar(20) not null unique,
password varchar(20) not null,
primary key(id,name)
);

创建表test4,id字段自动增长,

Name字段不为空,且具有唯一属性,

Password为字符串,字段不为空

Nameid和othername为外键,关联父表为test3,对应关联属性为父表中的id和name;

create table test4(id int auto_increment,
name varchar(20) not null unique,
password varchar(20) not null,
nameid int ,
othername varchar(20),
constraint testf foreign key(id,name)references test3(id,name)
);

现在数据库中所有表如图:



1,修改表名:

语法:alter table 旧表名rename 新表名;

例如,修改test2表名为test5;

alter table test2 rename test5;

如图,可以看到test2没有了,test5取代了它:

2,修改字段的数据类型:

语法:alter table 表名 modify 属性名数据类型;

例如,修改test5表中的password字段数据类型,原password数据类型为varchar(20),现在要修改为varchar(40);

alter table test5 modify passwordvarchar(40);

password数据类型已经变为varchar(40),如图:


3,修改字段名:

语法:alter table 表名 change 旧属性名新属性名 新数据类型;

例如修改test5中的password字段为sex 数据类型为boolean;

Password字段被sex字段所取代,数据类型也变为布尔型,如图:


4,增加字段:

语法:alter table 表名 add 属性1 数据类型[完整性约束条件] [first|after 属性名2];

例如为test5增加一个address字段,数据类型为varchar(20),位置放在name后面,sex前面,约束条件是不为空;

alter table test5 add address varchar(20)not null  after name;

执行之后test5表的详细结构如图:


5,删除字段:

语法:alter table 表名drop 属性名;

例如,把test5中的sex字段删除;

alter table test5 drop sex;

命令执行结果:


6,修改字段在表中位置:

语法:alter table 表名 modify 属性名数据类型 first|after 属性名2;

例如,修改test5中的address字段位置,使address放到name之前,id之后;

Alter table test5 modify addressvarchar(20) after id;

命令执行结果:


7,更改表的存储引擎:

语法:alter table 表名 engine=存储引擎名;

例如,修改test5表的存储引擎,修改为myisam;

alter table test5 engine=myisam;

命令执行结果:


8,删除表的外键约束:

语法:alter table 表名 drop foreign key 外键别名;

Test4表具有一个外键约束,外键别名为testf,父表为test3,test4表的详细结构如图所示:


删除test4的外键约束alter table test4 drop foreign key testf;

命令执行结果:


9,删除表:

Drop table 表名;

今天先学到这儿了~

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
Oracle 关系型数据库 MySQL
【mysql】—— 表的内连和外连
【mysql】—— 表的内连和外连
|
1月前
|
存储 关系型数据库 MySQL
【mysql】—— 表的增删改查
【mysql】—— 表的增删改查
|
17天前
|
存储 SQL 关系型数据库
【MySQL】4. 表的操作
【MySQL】4. 表的操作
19 0
|
30天前
|
SQL 关系型数据库 MySQL
|
16天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
16天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
16天前
|
缓存 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
|
17天前
|
关系型数据库 MySQL
【MySQL】12. 表的内连和外连(重点)
【MySQL】12. 表的内连和外连(重点)
12 0
|
1月前
|
存储 关系型数据库 MySQL
【mysql】—— 表的约束
【mysql】—— 表的约束
|
1月前
|
存储 SQL 关系型数据库
【mysql】—— 表的操作
【mysql】—— 表的操作