SQL补充2:数据库的增操作

news2025/1/20 21:52:07

数据库的增操作

数据库的增操作主要涉及数据库的增加、数据表的增加、表记录增加以及表字段增加等:

  • 数据库的增加非常简单,就是新创建一个数据库;
  • 表记录的增加指的就是新增表的数据行,可以是在已有表的基础上增加记录,也可以是将查询结果保存为新的表;
  • 字段的增加是指在原有表的基础上新增一些字段。

新建数据库

CREATE DATABASE <database_name>;

新建表

CREATE TABLE table_name_ (column_name column_type);

在原有表的基础上增加记录

INSERT INTO stu_info( iname,department) VALUES
("十九","管理系"),
("小北","生物系");

将查询返回的结果插入到新表中

尝试将之前的商品表goods_orders中支付方式为"1,2,3"的记录插入到新表orders_sub(表结构与goods_orders表一致)中

-- 新建orders_sub表,并且表结构与goods_orders表一致
CREATE TABLE orders_sub LIKE goods_orders;

-- 将查询结果插入到数据表orders_sub中
INSERT INTO orders_sub
SELECT * FROM goods_orders
WHERE Pay_Type IN (1,2,3);

将查询结果直接生成一张新表

将学生信息表stu_info和学生成绩表stu_score合并之后的结果生成一张新表student

CREATE TABLE student AS
SELECT t1.* , t2.Excel,t2.Tableau,t2.MySQL
FROM stu_info AS t1
LEFT JOIN stu_score AS t2
ON t1.id = t2.id;

增加表字段

在上述表student中增加一个新字段Python,并设置为整型,默认值为0

ALTER TABLE student ADD COLUMN Python INT DEFAULT 0

数据库的改操作

数据库的改操作主要是指:

  • 修改表中错误记录
  • 修改字段类型
  • 修改表名称、字段名称

修改表名称

将学生表student的名称修改为stu_summary

ALTER TABLE student RENAME TO stu_summary;

修改字段名

查看学生表stu_summary所有字段类型,再将学生表stu_summary中gender改成sex

ALTER TABLE stu_summary CHANGE gender sex varchar(10);

修改字段类型

将学生表stu_summary 年龄字段age的字段类型修改为VARCHAR(10)

-- 查看学生表stu_summary所有字段类型
DESC stu_summary;

-- 将学生表stu_summary 年龄字段age的字段类型修改为VARCHAR(10)
ALTER TABLE stu_summary MODIFY COLUMN age varchar(10);
-- 也可以使用CHANGE关键词
-- ALTER TABLE stu_summary CHANGE age age varchar(10);

修改数据表中的某个记录

将学生表student中张勇的邮箱地址改为zhangyong@163.com

SELECT * FROM student;

UPDATE student SET email = "zhangyong@163.com"
WHERE iname = "张勇";

如果学生表中有多个名字叫“张勇”的学生,那么所有满足条件的记录都会被修改

数据库的删操作 (慎用!!! )

数据库的删操作主要包含数据库的删除、数据表的删除、表记录删除、字段删除三种类型:

  • 数据库的删除就是直接删掉整个数据库;
  • 表记录的删除是指按照某些条件删除数据表中的记录,或者直接清空数据表的所有记录;
  • 字段的删除与字段的增加恰好相反,就是根据实际情况将表中某些字段删掉。

数据库的删除

DROP DATABASE <database_name>;

在实际工作中,大部分数据分析师是没有权限对整个数据库进行删除的,公司进行权限管理也是为了数据的安全,防止有人删库跑路,给公司带来经济损失。

数据表的删除

DROP TABLE <table_name_>;

按条件删除表记录

删除学生表student中,名为“十九”和“小北”的记录

DELETE FROM student
WHERE iname IN ("十九","小北");

如果出现报错Error Code: 1175 ,这是Workbench的安全设置导致的,可以通过降低安全等级解决

set sql_safe_updates =0;
SELECT * FROM student; # 查看删除后的数据

删除表字段

删除学生表student中的email字段

ALTER TABLE student DROP email;

清空数据表

对于数据表的清空操作,这里会涉及到两个关键词:DELETE关键词 和 TRUNCATE 关键词。这两个关键词都可以清空数据表,但是两者之间还是有一些差异:

  • DELETE不会清空自增变量的记忆,也就是再次更新数据时,自增变量的序号不是从1开始的
  • TRUNCATE可以根本性删除表记录,新增数据时,自增变量的序号从1开始
  • 在运行速度方面,TRUNCATE要比 DELETE快

数据准备

# 新建数据表
CREATE TABLE user_info(
    id INT AUTO_INCREMENT PRIMARY KEY,
    iname VARCHAR(10),
    gender TINYINT,
    age TINYINT
);

# 手工插入记录
INSERT INTO user_info(iname,gender,age) VALUES
('张三',1,22),
('李四',1,27),
('王二',0,25),
('丁一',0,32),
('赵五',0,28);

SELECT * FROM user_info;

尝试用DELECT 清空数据表,并增加三条记录

# 使用DELETE关键词清空数据表
DELETE FROM user_info;

# 插入记录
INSERT INTO user_info(iname,gender,age) VALUES
('张三',1,22),
('李四',1,27),
('王二',0,25);

# 查看数据表
SELECT * FROM user_info;

image-20240213145743322

尝试用TRUNCATE 清空数据表,并增加三条记录

# 使用TRUNCATE关键词清空数据表
TRUNCATE TABLE user_info;

# 插入一条记录
INSERT INTO user_info(iname,gender,age) VALUES
('张三',1,22),
('李四',1,27),
('王二',0,25);

# 查看数据表
SELECT * FROM user_info;

CATE 清空数据表,并增加三条记录

# 使用TRUNCATE关键词清空数据表
TRUNCATE TABLE user_info;

# 插入一条记录
INSERT INTO user_info(iname,gender,age) VALUES
('张三',1,22),
('李四',1,27),
('王二',0,25);

# 查看数据表
SELECT * FROM user_info;

image-20240213145822137

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

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

相关文章

菜刀HTTPTCP后门分析+防范

本文由掌控安全学院 - aj545302905 投稿 “菜刀”对于渗透测试者来说耳熟能详&#xff0c;但是大家用的菜刀真的安全吗&#xff1f;你能保证你所使用的工具不会被别人偷偷的塞入后门吗&#xff1f; 如果菜刀中被塞入后门 那我们岂不是成了别人的苦力。辛辛苦苦打下的shell就这…

简单介绍数据结构的基本概念

数据结构的基本概念 常用术语 数据 数据&#xff08;Data&#xff09;是客观事物的符号表示&#xff0c;是所有能输入到计算机中并被计算机程序处理的符号的总称。例如&#xff1a;整数、字符串、图形、图像、声音和动画等 数据元素 数据元素&#xff08;Data Element&…

基于SSM的宁夏旅游网站平台(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的宁夏旅游网站平台&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring …

解决updatexml和extractvalue查询显示不全

报错注入是一种常见的SQL 注入方式&#xff0c;通过注入代码&#xff0c;触发数据库的错误响应&#xff0c;并从错误信息中获取有用的信息。 updatexml和extractvalue updatexml和extractvalue 是常用的两个报错注入函数 http://localhost/sqli/Less-5/?id1%27and%20updat…

树莓派登录方式

目录 1.串口登录树莓派 1.1 USB-TTL连接树莓派串口 1.2 修改系统配置&#xff0c;启用串口登录树莓派 1.3 启动树莓派 2.网络方式登录树莓派 2.1 使树莓派接入网络 2.2 网络SSH 方式登录树莓派 2.2.1 打开ssh功能&#xff0c; 输入命令&#xff1a; 1.串口登录树莓派 1…

循环语句及对应练习

一、循环语句 echo命令 echo -n 表示不换行输出 echo -e 表示输出转义符 常用的转义符 选项作用\r光标移至行首&#xff0c;并且不换行\s当前shell的名称&#xff0c;如bash\t插入Tab键&#xff0c;制表符\n输出换行\f换行&#xff0c;但光标仍停留在原处\表示插入“\”本身…

OpenAI视频生成模型Sora的全面解析:从扩散Transformer到ViViT、DiT、NaViT、VideoPoet

前言 真没想到&#xff0c;距离视频生成上一轮的集中爆发(详见《视频生成发展史&#xff1a;从Gen2、Emu Video到PixelDance、SVD、Pika 1.0、W.A.L.T》)才过去三个月&#xff0c;没想OpenAI一出手&#xff0c;该领域又直接变天了 自打2.16日OpenAI发布sora以来&#xff0c;不…

IO进程线程day1作业

1、使用fgets统计给定文件行数 代码&#xff1a; #include<stdio.h> #include<string.h> #include<stdlib.h> int main(int argc, const char *argv[]) {if(argc ! 2){printf("inputs file error\n");printf("usage:./a.out filename\n&quo…

ruoyi低版本shiro反序列化解决

解决方式如下&#xff1a; 方案一.升级shiro至最新版本方案二.保持shiro版本不变,修改rememberMe默认密钥,改为自定义密钥获取 com.msunsoft.framework.config.ShiroConfig: 将其改为以下内容: // 设置cipherKey密钥Value("${shiro.cookie.cipherKey}")private Str…

有关光猫、路由器、交换机、网关的理解

前提 在了解计算机网络的过程中&#xff0c;出现了这四个名词&#xff1a;光猫、路由器、交换机、网络。有点模糊&#xff0c;查阅互联网相关资料&#xff0c;进行整理。如有错误&#xff0c;欢迎大家批评指正。 光猫 首先光猫是物理存在的&#xff0c;大家在家里应该都可以…

『 C++ 』海量数据处理

文章目录 &#x1f996; 快速找出海量数据中是否存在该整型数据&#x1f996; 有限内存情况下两个文件(海量query)中找出交集&#x1f996; 海量数据中找出只出现1次的数据&#x1f996; 有限内存情况下两个文件(整型)找出交集&#x1f996; 海量数据中找出出现次数不超过2次的…

CleanMyMac X好不好用?如何下载2024最新版本

CleanMyMac X是一款好用的系统优化软件&#xff0c;具有简洁的界面和多样的功能&#xff0c;能够支持系统垃圾、图片、邮件、iTunes清理&#xff0c;移除恶意软件&#xff0c;优化系统和释放多余空间等。 CleanMyMac X全新版下载如下: https://wm.makeding.com/iclk/?zoneid4…

Python算法题集_随机链表的复制

Python算法题集_随机链表的复制 题138&#xff1a;随机链表的复制1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【双层循环】2) 改进版一【字典哈希】3) 改进版二【单层哈希】4) 改进版三【递归大法】 4. 最优算法 本文为Python算法题集之一的…

Open CASCADE学习|TopoDS_Vertex与gp_Pnt相互转化

目录 gp_Pnt TopoDS_Vertex 关系和转换 使用场景 在Open CASCADE Technology (OCCT)中&#xff0c;TopoDS_Vertex和gp_Pnt是两种不同的数据类型&#xff0c;用于表示三维空间中的点。它们有不同的用途和特性&#xff1a; gp_Pnt gp_Pnt是OCCT几何库&#xff08;Geom&…

使用RegNet替换YOLOX中原始的Backbone

使用mmdetection 中的RegNet bcakbones替换YOLOX中原始的Backbone 将mmdet/models/backbones/regnet.py中相关的代码复制到YOLOX中&#xff0c;并进行适配 注意通道数要适配 in_channels [64, 160, 384] &#xff0c;可以通过调试后&#xff0c;先运行到后后端输出结果出&a…

算法练习-01背包问题【含递推公式推导】(思路+流程图+代码)

难度参考 难度&#xff1a;困难 分类&#xff1a;动态规划 难度与分类由我所参与的培训课程提供&#xff0c;但需 要注意的是&#xff0c;难度与分类仅供参考。且所在课程未提供测试平台&#xff0c;故实现代码主要为自行测试的那种&#xff0c;以下内容均为个人笔记&#xff0…

阿里云香港轻量应用服务器网络线路cn2?

阿里云香港轻量应用服务器是什么线路&#xff1f;不是cn2。 阿里云香港轻量服务器是cn2吗&#xff1f;香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器&#xff0c;通过mtr traceroute测试了一下&#xff0c;最后一跳是202.97开头的ip&#xff0c;1…

RK3399平台开发系列讲解(USB篇)U盘等存储类设备

🚀返回专栏总目录 文章目录 一、什么是U盘等存储类设备二、U盘设备传输数据结构三、U盘识别需要打开的宏沉淀、分享、成长,让自己和他人都能有所收获!😄 📢介绍U盘等存储类设备。 一、什么是U盘等存储类设备 USB Mass Storage Device Class(USB MSC/UMS) USB大容量存…

如何在Linux系统中配置并优化硬盘的RAID

在Linux系统中配置和优化硬盘的RAID技术可以帮助提高数据存储性能和安全性。RAID&#xff08;Redundant Array of Independent Disks&#xff09;技术通过将多个硬盘组合起来&#xff0c;以增加性能、容量或冗余度&#xff0c;提高数据的可靠性和可用性。本文将介绍如何在Linux…

嵌入式学习-C++-Day6

思维导图 作业 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&#xff0c;动物园里有一…