HCIE-Security安全-SQL

SQL

基本概念

SQL(Structured Query Language)簡稱爲SQL,名爲結構化查詢語言,它是一種解釋型語言

  • 數據(Data):圖像、語音、文字等
  • 數據庫(Database):按照數據結構來組織、存儲和管理數據的“倉庫”。
  • 數據庫管理系統(DBMS)一種操縱和管理數據的軟件,用於建立、使用和維護數據庫。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。
  • 結構化查詢語句(SQL):一種數據庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係數據庫系統。

基本操作

這裏我用的是Metasploitable2虛擬機。

(1)進入MySQL監視器

mysql -u root

在這裏插入圖片描述

(2)修改支持中文

set names "utf8";

在這裏插入圖片描述

(3)查看所有數據庫名

show databases;

在這裏插入圖片描述

(4)進入某個數據庫

 use security;

在這裏插入圖片描述

(5)查看數據庫中的所有表

show tables;

在這裏插入圖片描述

一、查詢語句

(1)查詢users表中的所有數據
select * from users;

在這裏插入圖片描述

(2)查詢users表中“username”等於“admin”的數據
 select * from users where username="admin";

在這裏插入圖片描述

二、插入(增加)語句

往users表中增加一個用戶haofei,id爲15,密碼爲haofei123

insert into users value("15","haofei","haofei123");

在這裏插入圖片描述

三、修改(更新)語句

將haofei用戶的密碼改爲haofei666

update users set password="haofei666" where username="haofei";

在這裏插入圖片描述

四、刪除語句

刪除haofei用戶所在的行

delete from users where username="haofei";

在這裏插入圖片描述

五、order by語句

order by語句通常是用來做排序的,默認按照升序排序。

(1)以users表爲例,以按id進行排序(升序):

select * from users order by id;

在這裏插入圖片描述

(2)以users表爲例,以按id進行排序(降序):

select * from users order by id desc;

在這裏插入圖片描述

六、union聯合查詢

聯合查詢語句就是聯合多個表進行查詢。

這裏我們有兩個表:emails表和users表

emails表:
在這裏插入圖片描述
users表:
在這裏插入圖片描述
(1)利用聯合查詢把兩個表的數據合在一個表裏

select * from emails union all select username,password from users;

注意:聯合查詢時,一定要注意列數要一致
在這裏插入圖片描述

(2)假如我們不想看到users表裏面的內容,但是又需要用聯合查詢的方式

首先我們可以分析看到聯合查詢語句的格式爲:語句1 union all 語句2

所以只要將語句2的返回值爲false就可以只顯示語句1返回的內容了。

說白了就是在語句2後面加上一條限定語句where,限定本身不存在的字段。

 select * from emails union all select username,password from users where username=1;

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章