MySQL數據庫基礎

數據庫基礎html


什麼是數據庫?mysql

數據庫是保存有組織的數據的容器(通俗來講,就是能夠保存在硬件設備上的文件)。注意與數據庫管理系統(DBMS)的區別,咱們不是直接訪問數據庫,而是使用數據庫管理系統對數據庫進行訪問。sql


什麼是SQL?數據庫

SQL是一種結構化查詢語言,用來與數據庫通訊的語言。spa


什麼是MySQL?code

前面介紹了數據庫和SQL,數據的全部存儲、檢索、管理是由數據庫管理軟件完成的。MySQL就是一種數據庫管理軟件。htm

說白了咱們平時作的工做就是:在MySQL管理軟件中使用SQL語言與數據庫進行通訊(通常包括數據庫的增刪改查)。blog


什麼是表?事務

表是某種特定類型數據的結構化清單。支付寶

同一個數據庫下的表,名字不能相同;不一樣數據庫下的表,名字能夠相同;

列:表中的一個字段;行:表中的一條記錄;


什麼是主鍵?

可以惟一區分每一行的一列或多列

例如,在學校裏面每個學生有且僅有一個學號,因此經過學號就能夠直接定位一個學生,因此學號能夠做爲主鍵,可是名字不能夠,由於會有重名的狀況發生。

注意:主鍵能夠是一列,也能夠多列的組合(使用多列組合做爲主鍵時,通常是由於表中的任意一列都不能肯定一條記錄,而多列組合通常能夠)

表的任何一列均可以做爲主鍵,只要知足如下條件:

  • 1. 任意兩行都不具備相同的主鍵
  • 2. 每一行都有一個主鍵值,主鍵值不得爲NULL

建議:

  • 老是定義主鍵
  • 不更新主鍵列中的值
  • 不重用主鍵列中的值
  • 不在主鍵列中使用可能會更改的值

 

事務處理


什麼是事務?

事務通俗來講就是咱們須要作的事情,例如,你使用支付寶轉帳就是事務。

在MySQL裏面是完成一項事務即表現爲執行一系列指令,最終達到完成事務的目的。


事務有什麼特性?

  • A: 原子性
  • C: 一致性
  • I: 隔離性
  • D: 持久性

MySQL哪一種引擎支持事務?

  • Innodb(也是推薦的,最經常使用的引擎) 
  • NDB Cluster

有關事務的幾個關鍵詞:

START TRANSACTION: 事務,表示開始一項事務;

ROLLBACK: 回滾,撤銷指定SQL語句的執行過程;

COMMIT: 提交,將結果寫入數據庫表;

SAVEPOINT: 保留點,指設置的事務佔位符,與ROLLBACK配合使用;


ROLLBACK能夠回滾一切語句嗎?

  • ROLLBACK只能夠在執行START TRANSACTION指令後使用,即只能夠在事務中使用;
  • ROLLBACK能夠回滾INSERT , UPDATE, DELETE指令
  • ROLLBACK不能夠回滾DROP, CREATE, SELECT指令

 參考文章:

對mysql事務提交、回滾的錯誤理解

使用JDBC進行數據庫的事務操做

 

 

檢索數據


 檢索一列: 

SELECT column_name FROM table_name;

檢索多列:

SELECT column1_name, column2_name, column3_name FROM table_name;

檢索全部列:

SELECT * FROM table_name;

限制檢索結果的行數

SELECT column_name FROM table_name

LIMIT M, N ;

檢索從第M行開始的N行數據(注意: 數據庫表從第0行開始, LIMIT 0, 1 表示檢索第0行數據

DISTINCT限制:

SELECT DISTINCT column_name FROM table_name;

表示檢索column_name字段不重複的列

注意:當使用DISTINCT檢索多列數據時,DISTINCT應用於全部列。

 SELECT DISTINCT a,b,c FROM table;   -- 此時是將a,b,c三列全部不一樣的組合所有列出來,而不單單只是DISTINCT a 

相關文章
相關標籤/搜索