MySQL数据库 - 表基本操作

一、修改表名

本关任务:修改表名,并查询修改后表的结构。

查看所有表

show tables;

查看表基本结构

DESCRIBE 表名; 或 简写为 desc 表名;

查看创建表的语句

SHOW CREATE TABLE

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

修改表名

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

编程要求

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

  • 把数据表stu改名为student

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

  • 查看数据表student基本结构

答案

USE TestDb;#请在此处添加实现代码
########## Begin #################### modify the table name ##########
alter table stu rename student;########## show tables in this database ##########
show tables;########## describe the table ##########
describe student;########## End ##########

二、修改表结构-1

任务描述

本关任务:修改表中的属性名,并修改属性的数据类型。

相关知识

为了完成本关任务,你需要掌握:1.如何修改属性名;2.如何修改属性的数据类型。

修改属性名

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

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

修改属性数据类型

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

编程要求

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

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

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

答案

USE TestDb;#请在此处添加实现代码
########## Begin #################### change the column name ##########
alter table student change id stuid int;########## change the data type of column ##########
alter table student modify Name varchar(30);########## End ##########DESCRIBE student;

三、修改表结构-2

本关任务:分别在表的最后一列第一列指定列后添加新的属性,并删除表中的指定属性。

添加属性

语法规则: ALTER TABLE 表名 ADD 新属性名 数据类型 [约束条件] [FIRST|AFTER] 已存在属性名; MySQL 中常用的约束: NOT NULL 约束:确保某列不能有 NULL 值。 DEFAULT 约束:当某列没有指定值时,为该列提供默认值。 UNIQUE 约束:确保某列中的所有值是不同的。 PRIMARY Key 约束:唯一标识数据库表中的各行/记录。 CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件。

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

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

删除字段

语法规则为: ALTER TABLE 表名 DROP 字段名;

编程要求

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

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

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

答案

USE TestDb;#请在此处添加实现代码
########## Begin #################### add the column ##########
alter table student add sex varchar(2) default '男' after Name;########## delete the column ##########
alter table student drop Salary;########## End ##########DESCRIBE student;

四、修改表结构-3

任务描述

本关任务:修改表中某属性的顺序,分别将其排至表中的第一列或指定列之后。

修改属性的排列位置

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

语法规则为: ALTER TABLE 表名 MODIFY 属性1 数据类型 FIRST|AFTER 属性2;

其中,属性1指要修改位置的字段,FIRSTAFTER 属性2为可选参数。 FIRST表示把属性的位置调整到第一列 用AFTER 属性 选项,可将想调整的属性放在除了第一列的任何位置。

编程要求

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

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

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

答案

USE TestDb;#请在此处添加实现代码
########## Begin #################### modify the column to top ##########
alter table student modify Name varchar(25) first;########## modify the column to the rear of another column ##########
alter table student modify DeptId int(11) after Salary;########## End ##########DESCRIBE student;

五、数据添加

插入数据

向表中插入数据最简单的方法就是使用INSERT语句。 语法规则为: INSERT INTO 表名 (属性名) VALUES (内容);

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

为表同时插入多条记录

语法规则为: INSERT INTO 表名 (属性名) VALUES (内容1), (内容2), (内容3);

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

语法规则为: LOAD DATA LOCAL INFILE '文件名' INTO TABLE 表名 character set gbk fields terminated by ',' ;

编程要求

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

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

添加的内容为: X 5001 pc X 6009 laptop Y 7809 printer

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

答案

USE TestDb;#请在此处添加实现代码
########## Begin #################### bundle insert the value ##########
insert into product (maker,model,type) values('X',5001,'pc');
insert into product (maker,model,type) values('X',6009,'laptop');
insert into product (maker,model,type) values('Y',7809,'printer');load data local infile 'src1/step1/product.csv' into table product character set gbk fields terminated by ',';
########## End ##########
SELECT * FROM product;

六、数据更新

本关任务:根据要求修改数据。

更新表中指定的内容

语法规则为: UPDATE 表名 SET 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 WHERE 过滤条件;

编程要求

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

  • 已创建建了一个数据表product,并添加了一些数据; product(maker,model,type)

使用select * from product;查看已有数据,并将第一行maker为中文的数据删除,并将maker(A)改名为 JD; 将type(pc) 改为 computer

答案

USE TestDb;#请在此处添加实现代码
########## Begin #################### update the value ##########
delete from product where model = '1001';
update product set maker = 'JD' where maker = 'A';
update product set type='computer' where type='pc';########## End ##########SELECT * FROM product;

七、数据删除

任务描述

本关任务:删除表中的指定元组。

语法规则为: DELETE FROM 表名 WHERE 条件语句;

删除表中的所有行

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

编程要求

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

  • 已经创建了表productprinter并添加了数据内容; product(maker,model,type) 代表厂商,型号,类型:取值有pc,laptop,printer三种 printer(model,color,type,price) 代表型号,是否彩色,类型:取值:laser,ink-jet;单价

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

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

答案

USE TestDb;#请在此处添加实现代码
########## Begin #################### delete the value ##########
delete from printer where price>800;delete from product where model not in(select model from printer);########## End ##########SELECT * FROM product;
SELECT * FROM printer;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 怎么处理get请求,接收url地址栏参数

一般来说&#xff0c;vue直接处理url参数请求的几率比较小&#xff0c;但是有时动态路由会用得到。 在vue2中较为简单&#xff0c;直接用this.$route.query.参数名称&#xff0c;即可获取。如下&#xff1a; <template><div>{{userid }}</div> </templa…

MySql实战--行锁功过:怎么减少行锁对性能的影响

在上一篇文章中&#xff0c;我跟你介绍了MySQL的全局锁和表级锁&#xff0c;今天我们就来讲讲MySQL的行锁。 MySQL的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁&#xff0c;比如MyISAM引擎就不支持行锁。不支持行锁意味着并发控制只能使用表锁&#xf…

通天星CMSV6 车载定位监控平台 任意文件上传漏洞复现(XVE-2023-23454)

0x01 产品简介 通天星CMSV6车载定位监控平台拥有以位置服务、无线3G/4G视频传输、云存储服务为核心的研发团队,专注于为定位、无线视频终端产品提供平台服务,通天星CMSV6产品覆盖车载录像机、单兵录像机、网络监控摄像机、行驶记录仪等产品的视频综合平台。 0x02 漏洞概述 …

【Chiplet】技术总结

Chiplet基本知识点汇总 1. Wafer, die, chip, cell的区分2. MCM, SiP, SoC, Chiplet的区别4. Chiplets的先进封装5. Chiplet发展阶段 Chiplet基本知识点汇总 1. Wafer, die, chip, cell的区分 Wafer: 晶圆&#xff0c;指一整个晶圆硅片。 Die: 从晶圆上切分下来的小方格&a…

PHP中常见的CRUD函数

PHP中常见的CRUD函数 创建&#xff08;Create&#xff09;&#xff1a;创建一个新的数据记录 function create($name, $age, $email) {$conn mysqli_connect("localhost", "username", "password", "myDB");$sql "INSERT INT…

Vue3+.NET6前后端分离式管理后台实战(十)

1&#xff0c;Vue3.NET6前后端分离式管理后台实战&#xff08;十&#xff09;已经在订阅号发布有兴趣的可以关注一下&#xff01; 感兴趣请关注订阅号谢谢&#xff01; 代码已经上传gitee

C++--内联函数

当调用一个函数时&#xff0c;程序就会跳转到该函数&#xff0c;函数执行完毕后&#xff0c;程序又返回到原来调用该函数的位置的下一句。 函数的调用也需要花时间&#xff0c;C中对于功能简单、规模小、使用频繁的函数&#xff0c;可以将其设置为内联函数。 内联函数&#xff…

【SQL】1667. 修复表中的名字(UPPER()、LOWER()、SUBSTRING()、CONCAT())

前述 SQL中字符串截取函数(SUBSTRING) SQL 字母大小写转换函数UPPER()、UCASE()、LOWER()和LCASE() 题目描述 leetcode题目&#xff1a;1667. 修复表中的名字 Code select user_id, concat(upper(substring(name, 1, 1)),lower(substring(name, 2)) ) as name from Users o…

基于springboot+vue+Mysql的篮球论坛系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

adc123456

DMA主要用于协助CPU完成数据转运的工作 DMA&#xff0c;英文全称Direct Memory Access&#xff0c;DMA这个外设是可以直接访问STM32内部存储器的&#xff0c;包括运行内存SRAM&#xff0c;程序存储器flash和寄存器等等&#xff0c;DMA都有权限访问&#xff0c;所以DMA能完成数据…

Day1 - Hive基础知识

Hive 简介 概述 Hive是由Facobook开发的后来贡献给了Apache的一套用于进行数据仓库管理的工具&#xff0c;使用类SQL语言来对分布式文件系统中的PB级别的数据来进行读写、管理以及分析Hive基于Hadoop来使用的&#xff0c;底层的默认计算引擎使用的是MapReduce。Hive利用类SQ…

jQuery的作用及入口函数

一、jQuery的作用 (1) jQuery &#xff1a;简洁、快速、灵活跨浏览器的JavaScript库&#xff0c;即js文件&#xff0c;由John Resig在2006年1月正式发布。 (2) jQuery强调的理念是“write less,do more” (3) 进入jQuery官方网站http://jquery.com下载最新的jQuery库文件。 (4)…

K8S之Configmap的介绍和使用

Configmap Configmap概述Configmap的简介Configmap能解决的问题Configmap应用场景局限性 Configmap创建方法通过命令行直接创建通过文件创建指定目录创建编写Configmap资源清单Yaml文件 Configmap的使用案例通过环境变量引入&#xff1a;使用configMapKeyRef通过环境变量引入&a…

零刻sei12 windows10 限制cpu最高频率,降低cpu功耗,调整风扇转速

为什么要降低cpu功耗 虽然风扇声音本身不大,但是我想在自习室用电脑,突然的风扇声音还是会影响到他人. 由于迷你主机集成度比较高不太可能换散热器,所以只能降低cpu功耗. 我的系统 版本 Windows 10 IoT 企业版 LTSC 版本号 21H2 安装日期 ‎2023/‎12/‎18 操作系统…

数据分析之Tebleau 的度量名称和度量值

度量名称 包含所有的维度 度量值 包含所有的度量 度量名称包含上面所有的维度&#xff0c;度量值包含上面所有的度量 当同时创建两个或两个以上度量或维度时&#xff0c;会自动创建度量名称和度量值 拖入省份为行(这会是还没有值的) 可以直接将销售金额拖到数值这里 或者将销售…

Android笔记(三十):PorterDuffXfermode实现旋转进度View

背景 核心原理是使用PorterDuffXfermode Path来绘制进度&#xff0c;并实现圆角 效果图 Android笔记(三十)效果演示 进度条绘制步骤 将ImageView矩形七个点的坐标存储起来&#xff08;configNodes&#xff09; 他们对应着7个不同的刻度&#xff0c;每个刻度的值 i * &#…

JAVAEE之网络编程

1.网络编程 网络编程&#xff0c;指网络上的主机&#xff0c;通过不同的进程&#xff0c;以编程的方式实现网络通信&#xff08;或称为网络数据传输&#xff09;。 当然&#xff0c;我们只要满足进程不同就行&#xff1b; 所以即便是同一个主机&#xff0c;只要是不同进程&am…

【MATLAB源码-第173期】基于matlab的RS编码的2FSK通信系统误码率仿真,通过AWGN信道输出误码率曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 通信系统的基本框架 在现代通信系统中&#xff0c;数据的传输通常涉及四个基本步骤&#xff1a;源编码、信道编码、调制和传输。源编码主要负责压缩数据&#xff0c;减少传输的数据量。信道编码则通过添加冗余信息来提高传输…

扫雷(蓝桥杯)

题目描述 小明最近迷上了一款名为《扫雷》的游戏。其中有一个关卡的任务如下&#xff0c; 在一个二维平面上放置着 n 个炸雷&#xff0c;第 i 个炸雷 (xi , yi ,ri) 表示在坐标 (xi , yi) 处存在一个炸雷&#xff0c;它的爆炸范围是以半径为 ri 的一个圆。 为了顺利通过这片土…

HANA中的内存及磁盘使用统计

1. 引言 在实际使用中&#xff0c;通过HANA的admin控制台&#xff0c;确实可以得到很多重要的信息。但有的时候不如人愿&#xff0c;你需要提供相应的SQL语句得到具体的信息。 比如&#xff0c;我要得到所有的行表的内存及磁盘占用信息&#xff1b;我需要得到所有列表的内存及…