[数据库系统] 二、表的基本操作(educoder)

news/2025/3/15 14:20:26/

目录

第一关:修改表名

一、知识点

        ①查看所有表:show tables;

        ②查看表基本结构:DESCRIBE 表名; 或 简写为 desc 表名;

        ③查看创建表的语句:SHOW CREATE TABLE

二、educoder

第二关: 修改表结构-1

一、知识点

        ①修改属性名

        ②修改属性数据类型

二、educoder

 第三关:修改表结构-2

一、知识点

①添加属性

②删除字段

二、educoder

 第四关:修改表结构-3

一、知识点

①修改属性的排列位置

二、educoder

 第五关:数据添加

一、知识点

①插入数据

②为表同时插入多条记录

③从逗号分隔的文件中读取所有数据插入表

二、educoder

 第6关:数据更新

一、知识点

①更新表中指定的内容

二、educoder

第7关:数据删除

一、知识点

①删除表中的指定元组。

②删除表中的所有行

二、educoder

第一关:修改表名

一、知识点

        ①查看所有表:show tables;

        ②查看表基本结构:DESCRIBE 表名; 或 简写为 desc 表名;

        ③查看创建表的语句:SHOW CREATE TABLE

使用 SHOW CREATE TABLE 语句,不仅仅可以返回给我们建表时所写的详细语句,而且还可以查看存储引擎和字符编码。 如果觉得返回的结果排版有点乱,加上\G后效果就会有所改善!

        ④修改表名:ALTER TABLE。 语法规则为:ALTER TABLE 旧表名 RENAME 新表名;

二、educoder

根据提示,在右侧编辑器补充代码:

  • 把数据表stu改名为student

  • 查看该数据库下数据表的列表;

  • 查看数据表student的基本结构。

第二关: 修改表结构-1

一、知识点

        ①修改属性名

           语法规则为: ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型 ;

小提示: 如果不需要修改属性的数据类型,可以把新字段的数据类型设置为和原来一样,但是!千万不要空着它!

        ②修改属性数据类型

           语法规则为: ALTER TABLE 表名 MODIFY 字段名 数据类型;

二、educoder

编程要求

根据提示,在右侧编辑器补充代码:

  • 把数据表student的属性Id改名为stuid,数据类型不变;

  • 把数据表student字段Name的数据类型改为varchar(30)

 第三关:修改表结构-2

一、知识点

①添加属性

语法规则:

ALTER TABLE 表名 ADD 新属性名 数据类型 [约束条件] [FIRST|AFTER] 已存在属性名;

MySQL 中常用的约束:

NOT NULL 约束:确保某列不能有 NULL 值。

DEFAULT 约束:当某列没有指定值时,为该列提供默认值。

UNIQUE 约束:确保某列中的所有值是不同的。

PRIMARY Key 约束:唯一标识数据库表中的各行/记录。

CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件。

不做[FIRST|AFTER]的位置说明,在添加属性时MySQL会默认把新属性加入到表的最后一列

如果我们想在第一列添加新的属性,只需做FIRST的位置说明。 如果我们想在某一列后面添加新的属性,只需做AFTER的位置说明,然后注明你想让它添加在哪个属性的后面即可。

②删除字段

语法规则为:

ALTER TABLE 表名 DROP 字段名;

二、educoder

编程要求

根据提示,在右侧编辑器补充代码:

  • 在数据表studentName属性后添加属性sex,数据类型为varchar(2),默认值

  • 删除数据表student中的属性Salary

 第四关:修改表结构-3

一、知识点

①修改属性的排列位置

在一个数据表被创建的时候,其属性的排列顺序就被确定了,之后可以通过ALTER TABLE来改变表中属性的相对位置。

语法规则为:

ALTER TABLE 表名 MODIFY 属性1 数据类型 FIRST | AFTER 属性2;

其中,

属性1指要修改位置的字段,

FIRST 与   AFTER 属性2 为可选参数。

FIRST表示把属性的位置调整到第一列 ,

用AFTER 属性2  选项,可将想调整的属性放在除了第一列的任何位置。

二、educoder

编程要求

根据提示,在右侧编辑器补充代码:

  • 将数据表studentName字段移至第一列,数据格式不变;

  • DeptId字段移至Salary字段的后边,数据格式不变。

 第五关:数据添加

一、知识点

①插入数据

向表中插入数据最简单的方法就是使用INSERT语句

语法规则为:

INSERT INTO 表名 (属性名) VALUES (内容);

在插入数据时指定属性名好处是:即使我们打乱了原本属性的排列顺序,只要插入的数据与之匹配,插入都不会出错。若不填属性名,就必须按属性顺序(且必须是所有属性按顺序)来填入相应的数据。

②为表同时插入多条记录

语法规则为:

INSERT INTO 表名 (属性名) VALUES (内容1), (内容2), (内容3);

③从逗号分隔的文件中读取所有数据插入表

语法规则为:

LOAD  DATA  LOCAL  INFILE  '文件名'  INTO  TABLE  表名  character  set  gbk  fields terminated  by  ',' ;

二、educoder

编程要求

根据提示,在右侧编辑器Begin-End处补充代码:

1.

  • 我们为你新建了一个空数据表product,请你为它同时添加3条数据内容;
  • product(maker,model,type)属性均为字符型

添加的内容为: X  5001  pc 

                          X  6009  laptop 

                          Y  7809  printer

2.请从文件中将数据都读入到product表 文件名src1/step1/product.csv

 第6关:数据更新

一、知识点

①更新表中指定的内容

语法规则为:

UPDATE 表名 SET 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 WHERE 过滤条件;

二、educoder

编程要求

根据提示,在右侧编辑器Begin-End处补充代码:

已创建建了一个数据表product,并添加了一些数据;

product(maker,model,type)

使用select * from product;查看已有数据,

将第一行maker为中文的数据删除,(delete from 婊名 WHERE 主键 = ‘具体值')

将maker(A)改名为 JD;

将type(pc) 改为 computer

 

第7关:数据删除

一、知识点

①删除表中的指定元组。

语法规则为:

DELETE FROM 表名 WHERE 条件语句;

②删除表中的所有行

语法规则为:

DELETE FROM 表名;
小提示: TRUNCATE TABLE 语句也可以用来删除表中的所有记录。但是与 DELETE 不同的是,TRUNCATE TABLE 语句直接删除的是表,而不是表中的内容,删除结束后还会重新创建一个表。所以它的执行速度会比 DELETE 语句快。 语法为:TRUNCATE TABLE 表名;

二、educoder

根据提示,在右侧编辑器Begin-End处补充代码:

  • 已经创建了表productprinter并添加了数据内容;

  • product(maker,model,type) 代表厂商,型号,类型(pc,laptop,printer)

  • printer(model,color,type,price) 代表型号,是否彩色,类型(laser,ink-jet),单价

  • 请将单价大于800的printer删除

  • 请将型号不在printer中的型号对应的元组从product表删除。

 

文章来源:https://blog.csdn.net/m0_61709053/article/details/130542482
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/61665.html

相关文章

如何在Jetpack Compose中设置渐变背景

如何在Jetpack Compose中设置渐变背景 只需几步即可通过平滑渐变增强应用程序的用户界面 虽然它经常出现在网络前端的世界中,但渐变背景可以为您的移动应用程序增添专业和美观的触感,使其对您的用户更具吸引力。 第 1 步:创建渐变画笔 为…

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard源码安装并更换logo 文章目录 Thingsboard源码安装并更换logo1. 源码拉取2. 导入项目3. 项目编译4. 项目启动5. 修改logo6. 部署(rpm deb方式) 1. 源码拉取 本教程按照3.4发行版本行进 git clone https://github.com/thingsboard/thingsboa…

SQLite安装配置

1.什么是 SQLite? SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite源代码不受版权限制。 SQLite是…

java获取文件夹下所有文件名

在进行 Java编程的过程中,我们会经常使用到文件夹下的所有文件名。有时候可能不太熟悉 Java编程的小伙伴们会发现,在代码中没有获取到所有的文件名,那么这个时候我们应该怎么去获取到这些文件呢?在进行 Java编程的过程中&#xff…

得物直播低延迟探索 | 得物技术

1.背景 直播的时效性保证了良好的用户体验,根据经验在交易环节,延迟越低转化效果也会越好。传统的直播延迟问题已经成为了一个不容忽视的问题,高延迟不仅破坏了用户的观看体验,也让主播难以实时获取到用户的反馈。为了进一步优化…

《算经》中的百钱买百鸡问题,你会做吗?试下看看(39)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 欢迎和猫妹一起,趣味学Python。 今日主题 你知道我国历史上有个王朝叫北魏吗? 北魏(386年—534年),南北朝时期北…

SimpleDateFormat和DateTimeFormatter的区别及使用详解

目录 1.简介2.区别3.SimpleDateFormat3.1 字符串转日期3.2 日期转字符串 4.DateTimeFormatter4.1 字符串转日期4.2 日期转字符串 扩展 1.简介 DateTimeFormatter 和 SimpleDateFormat 都是用于格式化日期和时间的类,但是它们有一些区别。 SimpleDateFormat 是 Jav…

【UE】高级载具插件-02-坦克开火

1. 添加开火的操作映射 2. 创建一个actor蓝图类,添加一个静态网格体组件 添加发射物移动组件 设置初始速度和最大速度 发射物重力范围设为0.05 添加音频组件 设置音效 3. 打开炮管的静态网格体 在插槽管理器中创建插槽 将创建的插槽放到炮口位置 4. 打开“BP_BaseT…