sql注入原理与实战(四)数据表操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: sql注入原理与实战(四)数据表操作

数据表操作是指对关系型数据库中的数据表进行创建、修改、删除等操作的过程。以下是一些常见的数据表操作及其示例:

创建数据表

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   .....
);

修改数据表

-- 添加列
ALTER TABLE table_name ADD column_name datatype;
-- 删除列
ALTER TABLE table_name DROP COLUMN column_name;
-- 修改列名和数据类型
ALTER TABLE table_name CHANGE old_column_name new_column_name new_datatype;

删除数据表

DROP TABLE table_name;

克隆数据表

-- 克隆表结构
CREATE TABLE new_tbl LIKE orig_tbl;
-- 克隆表结构并拷贝数据
CREATE TABLE new_tbl LIKE orig_tbl;
INSERT INTO new_tbl SELECT * FROM orig_tbl;

修改表中数据

-- 更新数据
UPDATE table_name SET column_name = new_value WHERE some_column = some_value;
-- 删除数据
DELETE FROM table_name WHERE some_column = some_value;

创建数据表

image.png

创建数据表

mysql> CREATE TABLE qiuzhi_test(

查看此数据库所有表

mysql> show tables; 查看此数据库所有表

查看此数据表

mysql> desc qiuzhi_test; 查看此数据表

查看创建此表的配置文件  

mysql > show create table sectest; 查看创建此表的配置文件

多表查询

内连接

隐式内连接:select * from emp e1, dept d1 where e1.deptno = d1.deptno;

显示内连接:select * from emp e1 inner join dept d1 on e1.deptno = d1.deptno;

外连接

左外连接

隐式左外连接:select * from emp e1,dept d1 where e1.deptno = d1.deptno(+);

显示左外连接:select * from emp e1 left outer join dept d1 on e1.deptno = d1.deptno;

右外连接

隐式右外连接:select * from emp e1,dept d1 where e1.deptno(+) = d1.deptno;

显示右外连接:select * from emp e1 right outer join dept d1 on e1.deptno = d1.deptno;

全外连接:select * from emp e1 full outer join dept d1 on e1.deptno = d1.deptno;

交叉连接

隐式交叉连接:select * from emp, dept;

显示交叉连接:select * from emp e1 cross join dept d1;

数据列操作

image.png

删除列

image.png

删除数据

image.png


数据操作  

数据库数据操作主要包括增加、删除、修改和查询四种类型。以下是每种类型的简要介绍:

1.增加数据:使用INSERT语句向数据库中插入新的数据。例如,下面的SQL语句可以向名为“students”的表中插入一条新的学生记录:

INSERT INTO students (name, age, gender) VALUES ('Tom', 18, 'male');

2.删除数据:使用DELETE语句从数据库中删除数据。例如,下面的SQL语句可以删除名为“students”的表中所有年龄小于18岁的学生记录:

DELETE FROM students WHERE age < 18;

3.修改数据:使用UPDATE语句修改数据库中的数据。例如,下面的SQL语句可以将名为“Tom”的学生的年龄修改为20岁:

UPDATE students SET age = 20 WHERE name = 'Tom';

4.查询数据:使用SELECT语句从数据库中查询数据。例如,下面的SQL语句可以查询名为“students”的表中所有学生的姓名和年龄:

SELECT name, age FROM students;

image.png

简单查询

数据库查询操作是指从数据库中检索所需数据的过程。常见的查询操作包括简单查询、条件查询、排序查询、分组查询和分页查询等。以下是一些常见的数据库查询操作及其示例:

简单查询

简单查询是指从数据库中检索所有数据的操作。例如,以下SQL语句将从名为“students”的表中检索所有数据:

SELECT * FROM students;

条件查询

条件查询是指从数据库中检索符合特定条件的数据的操作。例如,以下SQL语句将从名为“students”的表中检索年龄大于18岁的学生数据:

SELECT * FROM students WHERE age > 18;

排序查询

排序查询是指从数据库中检索数据并按照特定顺序排序的操作。例如,以下SQL语句将从名为“students”的表中检索所有数据,并按照年龄从小到大的顺序排序:

SELECT * FROM students ORDER BY age ASC;

分组查询

分组查询是指从数据库中检索数据并按照特定分组方式进行分组的操作。例如,以下SQL语句将从名为“students”的表中检索所有数据,并按照性别进行分组:

SELECT sex, COUNT(*) FROM students GROUP BY sex;

分页查询

分页查询是指从数据库中检索数据并按照特定分页方式进行分页的操作。例如,以下SQL语句将从名为“students”的表中检索第2页的数据,每页显示10条数据:

SELECT * FROM students LIMIT 10 OFFSET 10;

image.png

进阶操作

以下是关于分组查询和联合查询的介绍和演示:

分组查询

分组查询是指将数据按照某个字段进行分组,并对每个分组进行聚合操作,例如求和、平均值等。常用的关键字包括GROUP BY和HAVING。

例如,我们有一个学生表,其中包含学生的姓名、班级和成绩三个字段。现在我们想要按照班级对学生进行分组,并计算每个班级的平均成绩,可以使用如下SQL语句:

SELECT class, AVG(score) as avg_score
FROM student
GROUP BY class;

上述SQL语句中,我们使用了GROUP BY关键字对class字段进行分组,并使用AVG函数计算每个班级的平均成绩。最终的结果将会按照班级分组,并显示每个班级的平均成绩。

联合查询

联合查询是指将多个查询结果合并成一个结果集。常用的关键字包括UNION和UNION ALL。

例如,我们有两个学生表,分别为学生表A和学生表B,其中包含学生的姓名、班级和成绩三个字段。现在我们想要将这两个表的数据合并,并按照成绩进行排序,可以使用如下SQL语句:

SELECT name, class, score
FROM student_A
UNION
SELECT name, class, score
FROM student_B
ORDER BY score DESC;

上述SQL语句中,我们使用了UNION关键字将学生表A和学生表B的数据合并,并使用ORDER BY关键字按照成绩进行降序排序。最终的结果将会是一个包含所有学生信息的结果集,并按照成绩从高到低排序

image.png

image.png

image.png
























相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
49 5
|
1月前
|
SQL 监控 安全
SQL注入公鸡分类及原理
SQL注入公鸡分类及原理
|
1月前
|
SQL 关系型数据库 MySQL
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
|
1月前
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
42 0
|
1月前
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
76 0
|
1月前
|
SQL 数据处理 数据库
SQL语句优化与查询结果优化:提升数据库性能的实战技巧
在数据库管理和应用中,SQL语句的编写和查询结果的优化是提升数据库性能的关键环节
|
1月前
|
SQL 监控 关系型数据库
SQL语句性能分析:实战技巧与详细方法
在数据库管理中,分析SQL语句的性能是优化数据库查询、提升系统响应速度的重要步骤
|
1月前
|
SQL 存储 Java
sql注入原理与实战(二)数据库原理
sql注入原理与实战(二)数据库原理
|
1月前
|
SQL 前端开发 安全
sql注入原理与实战(一)
sql注入原理与实战(一)
|
1月前
|
SQL 安全 关系型数据库
sql注入原理和sqlmap命令的基础命令以及使用手法
sql注入原理和sqlmap命令的基础命令以及使用手法