#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除 原创

不想赖床
发布于 2022-10-30 23:48
浏览
0收藏

@[toc]

1. 创建数据库

数据表属于数据库,在创建数据库之前,应该使用use <数据库名称>指定操作是在哪个数据库中进行。

1.1使用create语句创建数据表

举例如下

首先创建并选择数据库

create database company;
use company;
create table emp
(
id int,
name varchar(25),
sex tinyint,
salary float
);

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

2. 查看数据表结构

2.1 查看表基本结构

使用describe/desc语句可以查看表字段信息。

举例说明

输入下列代码

desc company;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

2.2 查看表详细结构

show create table emp;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

3. 修改数据表

数据表创建完成后,还可以根据实际需要对数据表进行修改

3.1 修改数据表名称

表名在一个数据库中是唯一确定的,数据库系统通过表名来区分不同的表

数据表更新代码格式

alter table <旧表名> rename to <新表名>

例如

将company数据库中的emp表修改为emps

输入sql语句

show tables;
alter table emp rename to emps;
show tables;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

3.2 修改字段数据类型

修改字段的数据类型,就是把字段的数据类型转换成另一种数据类型。在 MySQL中修改字段数据类型的语法格式如下:

ALTER TABLE<表名>MODIFY<字段名><数据类型>;

主要参数介绍如下。
表名:指要修改数据类型的字段所在表的名称。

字段名:指需要修改的字段。

数据类型:指修改后字段的新数据类型。

举例

在操作之前查看数据表name类型

desc emps;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PYGyzSsb-1644943645344)(C:/Users/19867/AppData/Roaming/Typora/typora-user-images/image-20220215234709213.png)]

修改name

alter table emps modify name varchar(20);

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

3.3 修改数据表的字段名

数据表中的字段名称定好之后,它不是一成不变的,可以根据需要对字段名称进行修改。MySQL中修改表字段名的语法格式如下:

ALTER TABLE<表名>CHANGE<旧字段名><新字段名><新数据类型>;

主要参数介绍如下。

表名:要修改的字段名所在的数据表。旧字段名:指修改前的字段名。
新字段名:指修改后的字段名。

新数据类型:指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样即可,但数据类型不能为空。

举例

将数据表emps中的name修改为newname

alter table emps change newname varchar(28);

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

再次查看数据表

desc emps;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

3.4 在数据表中添加字段

数据表创建完成后,如果字段信息不能满足要求,可以根据需要在数据表中添加新的字段。格式如下:

ALTER TABLE<表名>ADD<新字段名><数据类型>[约束条件][FIRST /AFTER已经存在的字段名];

主要参数介绍如下:
表名:要添加新字段的数据表名称。

新字段名:需要添加的字段名称。

约束条件:设置新字段的完整约束条件。

FIRST:可选参数,其作用是将新添加的字段设置为表的第一个字段。

AFTER:可选参数,其作用是将新添加的字段添加到指定的“已存在字段名”的后面。

alter table emps add city varchar(20);

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

alter table emps add age int after sex;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

3.5 修改字段的排序方式

对于已经创建好的数据表,用户可以根据实际需要,来修改字段的排列顺序"
在MySQL中,可以通过ALTER TABLE来改变表中字段的相对位置。语法格式如下:

ALTER TABLE<表名>MODIFY<字段1><数据类型>FIRST|AFTER<字段2>;

主要参数介绍如下:
字段1:指要修改位置的字段。

数据类型:指“字段1”的数据类型。

FIRST:为可选参数,指将“字段1”修改为表的第一个字段。

AFTER字段2:指将“字段1”插入到“字段2”后面。

举例说明

将数据表emps的sex字段修改为第一个字段

alter table emps modify sex int first;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

4. 删除数据表

4.1 删除没有被关联的表

在MySQL中,使用DROP TABLE可以一次删除一个或多个没有被其他表关联的数据表。语法格式如下:

DROP TABLE <数据表名称>;

举例说明

DROP TABLE emps;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

4.2 删除被其他表关联的主表

在数据表之间存在外键关联的情况下,加果直接删除父表,结果会显示失败。原因是直接删除,将破坏表的参照完整性。加果必须要删除,可以牛删除与它关联的子表,再删除父表,只是这样会同时删除两个表中的数据。加里相要单独删除父表,只需将关联的表的外键约束条件取消,然后再删除父表即可。

举例说明

在数据库中创建两个关联表

CREATE TABLE tb_1(
id
INT PRIMARY KEY,
name
VARCHAR (22)
);
CREATE TABLE tb_2(
id
INT
PRIMARY KEY,
name
VARCHAR(25),
age
INT,
CONSTRAINT fk tb dt FOREIGN KEY (id)REFERENCES tb_1(id));

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

查看tb_2的外键约束

show create table tb_2;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

执行结果如图示,从结果可以看到,在数据表tb_2上创建了一个名称为fk_tb_dt的外键约束。

下面直接删除父表tb_1,输入删除语句如下:

DROP TABLE tb_1;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

执行结果如图4-31所示,可以看到,如前面所述,在存在外键约束时,父表不能被直接删除。接下来,解除关联子表tb_2的外键约束,SQL语句如下:

ALTER TABLE tb 2 DROP FOREIGN KEY fk_tb_dt;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

再次删除tb_1

DROP TABLE tb_1;

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

#冲刺创作新星#《MySQL入门很轻松》第4章:数据表的创建修改删除-鸿蒙开发者社区

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
收藏
回复
举报
回复
    相关推荐