本文记录数据库和表的基本操作,包括数据的插入,更新,删除等操作。
MySQl-数据库和表的基本操作(一)
第三关,添加和删除字段
任务描述
本关任务:分别在表的最后一列、第一列和指定列后添加新的字段,并删除表中的指定字段。
相关知识
为了完成本关任务,你需要掌握:
1.如何在指定位置添加新的字段,
2.如何删除指定的字段。
添加字段
因为甲方的业务需求是不停变化的,所以在数据库操作中,添加字段可是常有的事。一个完整的字段包括:字段名、数据类型和完整性约束。
语法规则为: ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] [FIRST|AFTER] 已存在字段名; 。
以下是在 MySQL 中常用的约束。
NOT NULL 约束:确保某列不能有 NULL 值。
DEFAULT 约束:当某列没有指定值时,为该列提供默认值。
UNIQUE 约束:确保某列中的所有值是不同的。
PRIMARY Key 约束:唯一标识数据库表中的各行/记录。
CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件。
在表的最后一列添加字段
只要不做[FIRST|AFTER]的位置说明,在添加字段时MySQL会默认把新字段加入到表的最后一列。
举个例子:
现在我们要把字段prod_country添加到表Mall_products的最后一列。表结构如下:
输入命令:
ALTER TABLE Mall_products ADD prod_country varchar(30);
执行结果如下所示:
在表的第一列添加字段
如果我们想在第一列添加新的字段,只需做FIRST的位置说明。
举个例子:
现在我们要把字段prod_country添加到表Mall_products的第一列。
输入命令:
ALTER TABLE Mall_products ADD prod_country varchar(30) FIRST;
执行结果如下所示:
在表的指定列后添加字段
如果我们想在某一列后面添加新的字段,只需做AFTER的位置说明,然后注明你想让它添加在哪个字段的后面即可。
举个例子:
现在我们要把字段prod_country添加到表Mall_products的 prod_name字段的后面。
输入命令:
ALTER TABLE Mall_products ADD prod_country varchar(30) AFTER prod_name;
执行结果如下所示:
总之,想要添加新的字段,记住绿色框里的语法规则就能记住三种位置的添加方式。
删除字段
有添加的需求就会有删除的需求。删除一个字段就是将数据表中的某个字段从表中移除。
语法规则为: ALTER TABLE 表名 DROP 字段名; 。
举个例子:
现在我们要把字段prod_price从表Mall_products中删除。表结构如上图结果所示。
输入命令:
ALTER TABLE Mall_products DROP prod_price;
执行结果如下所示:
字段prod_price成功删除!
接下来你们可以自行体验一下了!
编程要求
根据提示,在右侧编辑器补充代码:
在数据表tb_emp的Name字段后添加字段Country,数据格式为varchar(20);
删除数据表tb_emp中的字段Salary。
数据表结构如下:
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:
如果我们想在第一列添加新的字段,只需做FIRST的位置说明。
举个例子:
现在我们要把字段prod_country添加到表Mall_products的第一列。
输入命令:
ALTER TABLE Mall_products ADD prod_country varchar(30) FIRST;
开始你的任务吧,祝你成功!
1 | USE Company; |
1. 在 tb_emp
表的 Name
字段后添加 Country
字段
要在 Name
字段后添加 Country
字段,并将其数据类型设置为 varchar(20)
,可以使用 AFTER
关键字指定位置:
1 | ALTER TABLE tb_emp ADD Country VARCHAR(20) AFTER Name; |
2. 删除 tb_emp
表中的 Salary
字段
要删除 tb_emp
表中的 Salary
字段,可以使用以下命令:
1 | ALTER TABLE tb_emp DROP COLUMN Salary; |
这
第四关
根据提示,在右侧编辑器补充代码:
将数据表tb_emp的Name字段移至第一列,数据格式不变;
将DeptId字段移至Salary字段的后边,数据格式不变。
数据表结构如下:
1 | ALTER TABLE tb_emp MODIFY COLUMN Name VARCHAR(50) FIRST; |
第五关:删除表的外键约束
编程要求
我们已经为你建立了主表tb_dept和子表tb_emp,在表tb_emp上添加了名称为emp_dept的外键约束,外键名称为DeptId,依赖于表tb_dept的主键Id,下面那是两张表的结构展示:
请你根据提示,在右侧编辑器Begin-End中补充代码:
删除数据表tb_emp的外键约束emp_dept。
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:
1 | USE Company; |
MySQl-数据库和表的基本操作(二)
第1关:插入数据
插入语句
1 | INSERT INTO 表名 (字段名) VALUES (内容); |
应用
1 | USE Company; |
第2关:更新数据
更新语句
1 | UPDATE 表名 SET 字段名=内容 WHERE 限制条件; |
应用
1 | USE Company; |
第3关:删除数据
删除语句
1 | DELETE FROM 表名 WHERE 限制条件; |
TRUNCATE TABLE 语句也可以用来删除表中的所有记录。但是与 DELETE 不同的是,TRUNCATE TABLE 语句直接删除的是表,而不是表中的内容,删除结束后还会重新创建一个表。所以它的执行速度会比 DELETE 语句快。 语法为:
TRUNCATE TABLE 表名;
应用
1 | USE Company; |