SQL注入——資料庫增刪改查語句

2020-08-28 信息安全教學

我們之前有講過資料庫是用來存儲數據的,那麼我們要如何才能從裡面去查詢到一些數據呢?如何才能把這些數據存儲進去呢?

那這就需要用到我們sql語句了。我們需要用這些語法去操作資料庫。


Sql,是一種特殊目的的程式語言,是一種資料庫查詢和程序設計語言,用於存取數據和查詢,更新還有管理資料庫,它分為三類:

1、 DDL數據定義語言 create,drop

2、 DML資料庫操作語言 select insert update

3、 DCL 數據控制語言 grant(授權)revoke(回收權限)


創建資料庫與刪庫

1) 創建資料庫

語法規則:create database 庫名;


2) 刪除資料庫

語法規則:drop database 庫名;



3) 創建指定編碼資料庫

語法規則:create database 庫名 character set utf8;



創建表


1) 語法規則create table 表名(

欄位1數據類型,

欄位2數據類型,(最後一個欄位後面的逗號省略)

...

);



刪除表

語法規則:drop table 表名;


1、插入數據SQL語法

語法規則:

Insert into 表名(欄位1,欄位2,欄位3,...)values (值1,值2,值3...);

註:插入數據的時候,表後面跟的欄位名字可以省略,但是後面插入的值需要與欄位的數量對應。


2、插入數據sql語法

語法規則:insert into 表名 set 欄位1=值1,欄位2=值2.....;


4、 同時插入多條數據

語法規則:insert into 表名(欄位1,欄位2,欄位3,...)values(值1,值2,值3...),(值1,值2,值3...),

(值1,值2,值3...);



刪除數據

語法規則:delete from 表名 where 欄位=值



關係運算符

> = ,>= ,< ,<= ,!=(不等於)


查詢數據

語法規則:select 欄位1,欄位2,欄位3...from 表名 where 條件;



查詢起別名

語法規則:select username a from 表名 where 條件;其中a就是username的別名



修改語句

語法語句:updata 表名 set 欄位1=值1,欄位2=值2...where條件



最後咱們的增(insert) 刪(delete)改(updata)查(select)就講完了,我們學習sql注入對於這幾個是一定要熟悉。


相關焦點

  • JDBC+MySQL入門增刪改查實戰
    通過本篇你可以掌握以下內容:MySQL資料庫的創建JDBC+MySQL項目的創建JDBC成功對MySQL增刪改查案例分析就web方面,MySQL是最好的RDBMS(關係資料庫管理系統:Relational Database Management System)之一:MySQL的sql語句是常用關係資料庫的標準之一,具有速度快、體積小、成本低等優勢,是中小企業以及學習使用的最好方式之一。
  • Python操作MySQL基本環境搭建及增刪改查實現
    利用Mysql WorkBench可視化資料庫 對於資料庫,如果用命令行的話有時可能會比較麻煩,這時可以考慮使用GUI界面代替CLI。官方提供了MySql WorkBench( 點擊下載 )。使用WorkBench我們可以輕易地查看本地資料庫的一些狀態、資料庫的操作等等,具體使用不多說了,這裡只說一下新建資料庫和數據表。
  • 第02篇:SQL資料庫的四種基本操作「增刪改查」
    操作資料庫使用的是SQL語言,其全稱:結構化查詢語言(Structured Query Language)。這是一門標準的計算機語言,用來訪問和操作資料庫系統。01為什麼要使用SQL應用程式需要通過SQL語句才能與資料庫打交道。
  • 記一些Python(Pymysql)建表、增刪改查等基礎操作
    1、讀取sql文件創建數據表有一個形如下圖的sql文件,使用python讀取文件並在資料庫中創建所有的表。文件名稱和資料庫名稱即可創建,執行成功或失敗時都會有列印哪條sql語句執行成功或失敗import pymysqldef CreateTables(document,database): try: db = pymysql.connect(host=&39;, user=&39;, password=&39;, database=database, charset
  • 第6章 Django對資料庫的增刪改查,只學這一篇足以?
    models設計好後,在命令行窗口,運行python3 manage.py makemigrations 為模型的改變生成遷移文件;運行 python3 manage.py migrate 對應用資料庫進行遷移。
  • laravel框架實戰,資料庫的增刪改查,facade的使用
    laravel框架實戰,資料庫的增刪改查,facade的使用!在上一篇的文章中,我們學習了如何讓在laravel中創建視圖和模型的操作,今天我們將來學習如何在laravel中對資料庫進行增刪改查,通過facade來實現,具體操作如下:前提:首先我們需要在laravel中配置好資料庫,進入laravel的目錄,找到.env這個文件,在裡面對資料庫的主機名,資料庫名,用戶名,密碼進行配置,配置成功之後,我們才能夠對資料庫進行設置
  • 資料庫常用的sql語句匯總(2)
    資料庫相關查所有資料庫 show databases;創建資料庫 create database db1;查看資料庫 show create database db1;創建資料庫指定字符集 create database db1 character set utf8/gbk刪除資料庫
  • Python資料庫:MYSQL講解介紹
    語句2、創建數據表create_table_sql4、數據增刪查改#插入單條數據insert_sql由於Sql語句是解釋性語言,所以在拼接Sql語句的時候,容易被注入惡意的Sql語句。語句編譯過程中,關鍵字被解析過,所以向編譯後的sql語句傳入參數,都被當字符串處理,資料庫不會解析其中注入的sql語句。
  • 使用mybatis框架,完成增刪改查操作
    資料庫無外乎就是增刪改查,所以使用mybatis做一個完整的crud操作。最後使用動態代理對代碼優化,具體底層實現原理就不仔細深究了,大致知道怎麼回事就行。一、mybatis使用步驟回顧主要是涉及到配置文件的編寫,其中又包含核心配置文件和映射文件。創建mybatis-config.xml核心配置文件。
  • python web開發(四)Django ORM 實現簡單的增刪查改
    Django ORM優缺點分析優點: 1.簡單,不用些sql語句 2.開發效率高缺點: 1.相對與直接寫的sql語句,執行效率上有差距資料庫相關配置在setting.py中配置:DATABASES= { 'default': { #資料庫類型 'ENGINE': 'django.db.backends.mysql', #資料庫連接地址 'HOST':"127.0.0.1", #埠 'PORT':'3306', #資料庫名稱 'NAME': 'Django_Book', #用戶 'USER':"root", #密碼 'PASSWORD':'qwer1234' }}告訴Django
  • 手擼Mysql原生語句-增刪改查
    mysql資料庫的增刪改查有以下的幾種的情況,1、DDL語句 資料庫定義語言: 資料庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER SHOW2、DML語句 資料庫操縱語言: 插入數據INSERT、刪除數據DELETE、更新數據UPDATE、查詢數據SELECT3、DCL語句 資料庫控制語言: 例如控制用戶的訪問權限
  • 精講Mybatis框架對資料庫增刪改查操作
    這種佔位符,它是預編譯的,防sql注入的,${}就是單純的字符串拼接,是不防sql注入的,所以這兩個一定要注意區分,用在合適的場合。另外${}裡面的變量必須是value,${value}是固定格式。那麼如果你覺得用${}這種方法不能防止sql注入,這裡也可以使用#{}來完成。
  • 白帽子:SQL注入之堆疊注入
    在SQL語句中,語句的結束都是以`;`結尾,但是如果我們在`;`後面再加上一條SQL語句,兩條語句會一起執行嗎?這也就是造成堆疊注入的原因了最簡單的語句`select * from users;DELETE FROM test`先查詢user表,然後再從test資料庫裡刪除user表。
  • SQL注入
    SQL 注入頁也是一種常見的 Web 攻擊方式,主要是利用後端程序的漏洞,針對資料庫(主要是關係型資料庫)進行攻擊。攻擊者通常通過輸入精心構造的參數,繞過伺服器端的驗證,來執行惡意 SQL 語句,SQL注入會造成拖庫(原始數據表被攻擊者獲取),繞過權限驗證,或者串改、破壞、刪除數據。
  • Spring4基礎三一-資料庫篇-JDBC模板-3
    JDBC模板的使用:增刪改查一、數據準備1.資料庫定義表productinfo/**JDBC模板對DB的增、刪、改、查都可以通過update()方法實現,常用的兩個重載方法為public int update(String sql);public int update(String sql, Object... args); 其中,第一個參數String
  • Python資料庫編程
    創建Cursor對象樣例代碼如下:cursor = conn.cursor()Cursor類模塊執行SQL命令對資料庫的訪問主要是對資料庫表記錄的增刪改查,增刪改查都需要執行SQL命令。調用Cursor對象的execute方法可以執行SQL命令。下表是調用execute方法時,需要傳入的參數。
  • mybatis如何防止SQL注入?
    sql注入發生的時間,sql注入發生的階段在sql預編譯階段,當編譯完成的sql不會產生sql注入一、採用jdbc操作數據時候String sql = &34;+id; PreparedStatement prepareStatement
  • SQL注入續篇(Web漏洞及防禦)
    延時注入(sleep)沒有任何報錯信息輸出,無法判斷SQL注入測試語句是否正確,通過構造sleep注入的SQL測試語句,根據頁面的返回時間判斷資料庫中存儲了哪些信息堆疊查詢注入結束了一個sql語句後(;),繼續構造下一條語句,但會不會執行取決於相應的資料庫系統是否支持!
  • 網站怎麼防止SQL注入
    一、SQL注入簡介SQL注入是比較常見的網絡攻擊方式之一,它不是利用作業系統的BUG來實現攻擊,而是針對程式設計師編程時的疏忽,通過SQL語句,實現無帳號登錄,甚至篡改資料庫。二、SQL注入攻擊的總體思路1.尋找到SQL注入的位置2.判斷伺服器類型和後臺資料庫類型3.針對不通的伺服器和資料庫特點進行SQL注入攻擊三、SQL注入攻擊實例比如在一個登錄界面,要求輸入用戶名和密碼:可以這樣輸入實現免帳號登錄:用戶名: 'or1
  • Python資料庫操作技巧
    在日常的程序序開發過程中,經常要跟關係資料庫打交道。python異步連接資料庫用aiomysql,筆者就在使用此庫過程中的一些心得和技巧記錄如下。['db'], loop=loop,charset=kw.get('charset', 'utf8'), autocommit=kw.get('autocommit', True),maxsize=kw.get('maxsize', 10), minsize=kw.get('minsize', 1))return _mysql_pool 封裝增刪改查