SQL資料庫
資料庫概述
學習目的
- 瞭解資料庫的相關概念、分類、關係型資料庫的特點
- 瞭解MySQL資料庫的安裝、配置、相關管理工具的使用
- 掌握MySQL資料庫的基礎操作命令(建庫、建表、插入查詢資料)等熟悉MySQL資料庫information_schema系統表
- 瞭解資料庫安全風險,為後續web安全打好基礎
資料庫概述
- 資料庫(Database ):按照資料結構來組織、儲存和管理資料的倉庫。
- 資料庫管理系統(Database Management System,DBMS)∶對資料進行管理的軟體系統。
- 為什麼要使用資料庫﹖我們也可以將資料儲存在檔案中,但是讀寫資料速度相對較慢。所以,使用資料庫管理系統來儲存和管理大資料量,從而方便資料的儲存、訪問、安全控制等。
- 常見資料庫型別∶關係型資料庫和非關係型資料庫。
- 常見關係型資料庫:MySQL,SQLserver , oracle , access·常見非關係型資料庫:MongoDB、Redis、HBase
- 關係型資料庫是建立在關係模型基礎上的資料庫,把複雜的資料結構歸結為簡單的二元關係
(即二維表格形式),通過SQL結構化查詢語言訪問和處理資料。 - 關聯式資料庫管理系統(Relational Database Management System,RDBMS)用於對關係型資料庫進行管理,其特點如下∶1.資料以表格的形式出現;2.每行為一條資料記錄;3.每列資料型別相同﹔4.許多的行和列組成一張資料表;5.若干資料表組成資料庫。
##Mysql概述##
- MySQL是最流行的開源關係型資料庫管理系統,在WEB應用方面MySQL是最好的
- RDBMS(關聯式資料庫管理系統)應用軟體之一。MySQL由瑞典MySQL AB公司開發,目前屬於Oracle旗下產品。
- SQL語言用於訪問資料庫的最常用的標準化語言。
- SQL語言詳細教程請參考: https://www.runoob.com/sql/sql-tutorial.htmlMySQL默
- 認埠號:3306l
- MySQL的安裝︰
1.官網下載: https:lldev.mysql.com/downloads/mysql
2.安裝phpstudy,自帶MySQL(建議)。
MySQL環境變數配置:https://www.php.cn/mysql-tutorials-419508.html
- 配置環境變數的好處是任意位置開啟cmd均可執行mysql命令,無需切換至bin目錄下。
- mysql管理工具: sqlyog、 Navicat等
Mysql基本術語
- 資料庫︰由多個資料表組成的集合。
- 資料表︰由表名、表中的欄位和表的記錄三個部分組成的。設計資料表結構就是定義資料表檔名,確定資料表包含哪些欄位,各欄位的欄位名、欄位型別、及寬度,並將這些資料輸入到計算機當中。
- 主鍵:用於唯一標識表中的某一條記錄,主鍵不能為空。
- 索引∶使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄。
Mysql常用命令
-
啟動mysql服務,開啟 Windows 命令視窗(cmd)並進入MySQL安裝目錄的bin目錄(若已配置環境變數,則無需進入bin目錄)執行∶
-
mysql -u使用者名稱-p,輸入密碼,進入MySQL控制檯,用於對MySQL資料庫進行各類操作。
-
顯示所有資料庫: show databases
-
使用某個資料庫:use 資料庫名
-
顯示資料庫下的所有資料表:show tables>查
-
看某資料表結構:desc資料表名
-
清空某資料表資料: truncate table資料表名
-
刪除資料表:drop table資料表名
-
刪除資料庫:drop database
-
資料庫名≥退出mysql控制檯:lq(或quit、exit)
-
Mysql常用命令
-
建立資料庫:create database資料庫名
-
建立資料表: create table資料表名(column_name column_type);
-
插入資料:insert into資料表名( column_name1,column_name2…column_nameN )values
( value1, value2…valueN ); -
查詢資料: select column_name1,column_name2 , …column_nameN from
資料表名
[where Clause] [limit N] -
聯合查詢: select …union select …用於連線兩個以上的 SELECT 語句的結果組合到一個結果集合中,多個SELECT語句會刪除重複的資料
-
mysql函式: concat . group_concat、 substring函式
mysql自帶有四個資料庫,分別是:mysql、information_schema、test、performance_schema。
mysql自帶有四個資料庫,分別是:mysql、information_schema、test、performance_schema。>mysql庫主要儲存各類許可權相關資訊及幫助資訊
mformation_schema庫主要儲存資料庫物件相關概要( schema )資訊>test是個測試用的空資料庫;)
performance_schemg主要儲存配置及效能資訊。 -
資料庫紫統裝結構—information_schema庫
information_schema
l_schemata
所有資料庫的名字
l_schema_name
資料庫名
l__tab1es
所有表的名字
l__ tab1e_schema
表所屬資料庫的名字
l_ tab1e_name
表的名字
l_columns
所有欄位的名字
l_ table_schema
欄位所屬資料庫的名字
l__ table_name
欄位所屬表的名字
l__ co1umn_name欄位的名字
SQL隱碼攻擊是黑客對資料庫進行攻擊的常用手段之一。
SQL隱碼攻擊的攻擊原理就是攻擊者通過Web應用程式利用SQL語句或字串將非法的資料插入到伺服器端資料庫中,獲取資料庫的管理使用者許可權,然後將資料庫管理使用者許可權提升至作業系統管理使用者許可權,控制伺服器作業系統,獲取重要資訊及機密檔案。
SQL隱碼攻擊能夠通過構建惡意的SQL語句來實現攻擊者想要達到的目的,而並不是按照開發者的意圖去執行SQL語句。
相關文章
- SQL:清空資料庫所有資料SQL資料庫
- Sql Server 資料庫學習-常用資料庫 物件SQLServer資料庫物件
- SQL Server資料庫安全SQLServer資料庫
- 資料庫-SQL 語法資料庫SQL
- 資料庫優化SQL資料庫優化SQL
- 【資料庫】SQL語句資料庫SQL
- 資料庫效能 常用SQL資料庫SQL
- SQL Azure雲資料庫SQL資料庫
- SQL Server 資料庫映象SQLServer資料庫
- SQL Server 資料庫索引SQLServer資料庫索引
- 資料庫雲--sql雲資料庫SQL
- 資料庫映象 (SQL Server)資料庫SQLServer
- 資料庫_SQL-MongoDB資料庫SQLMongoDB
- 資料庫_SQL-PostgreSQL資料庫SQL
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- Sql Server資料庫資料匯入到SQLite資料庫中Server資料庫SQLite
- 【資料庫學習】資料庫平臺:mysql,sql server資料庫MySqlServer
- 在SQL Server資料庫中匯入MySQL資料庫Server資料庫MySql
- ORACLE資料庫裡表匯入SQL Server資料庫Oracle資料庫SQLServer
- SQL SERVER收集資料庫使用增量資料SQLServer資料庫
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- SQL Server收縮資料庫SQLServer資料庫
- 管理SQL Server資料庫安全SQLServer資料庫
- MYSQL資料庫------SQL優化MySql資料庫優化
- 資料庫——慢sql的原因資料庫SQL
- Oracle資料庫跟蹤SQLOracle資料庫SQL
- SQL建立資料庫和表SQL資料庫
- 資料庫常用sql 語句資料庫SQL
- SQL Server資料庫遷移SQLServer資料庫
- 還原SQL Server資料庫SQLServer資料庫
- sql server跟蹤資料庫SQLServer資料庫
- SQL - 常用資料庫分頁SQL資料庫
- SQL Server資料庫監控SQLServer資料庫
- 資料庫及SQL優化資料庫SQL優化
- 資料庫例項 (SQL Server)資料庫SQLServer
- Sql Server系列:資料庫操作SQLServer資料庫
- Sql Server系列:資料庫物件SQLServer資料庫物件
- 資料庫SQL拼接語句資料庫SQL