深入理解MySQL---資料庫知識最全整理,這些你都知道了嗎?

深入理解MySQL---資料庫知識最全整理,這些你都知道了嗎?

來自專欄 輪子工廠

對於後端開發人員來說,經常會和數據打交道,今天總結下資料庫相關的知識。包括MySQL,JDBC基礎,JDBC進階,MongoDB,性能優化等知識點。

MySQL

資料庫的概述

  • DBMS:關係型資料庫管理系統
    • 庫管+N個倉庫
  • 常見的資料庫管理系統
    • MySQL
    • Orcale
    • DB2
    • SQL Server
    • Sybase

MySQL介紹

  • 安裝後目錄結構
    • mysql.exe:客戶端
    • mysqld.exe:伺服器
    • my.ini:總配置文件
  • 在windows下開戶和關閉mysql伺服器
    • net start mysql
    • net stop mysql
  • 登錄和退出mysql客戶端
    • mysql -u用戶名 -p密碼 -hIP
    • exit或quit

SQL

  • 解釋:結構化查詢語言
  • ISO:國際標準化組織
  • ISO定義了很多SQL標準,例如:SQL99
  • 各個資料庫廠商需要遵循這個標籤!但各個廠商也有自己的方言
  • SQL的分類
    • DDL:數據定義語言
    • DML:數據操作語言
    • DCL:數據控制語言
    • DQL(不在標準中):數據查詢語言

DDL:數據定義語言

  • 資料庫的操作
    • create database
    • show databases
    • use mydb1
    • alter database
    • drop database
  • 表的操作
    • create table
    • show tables
    • desc mytable1
    • drop table
    • alter table
      • add
      • modify
      • change
      • drop
      • rename to

DML:數據操作語言

  • 插入記錄
  • 修改記錄
  • 刪除記錄
    • delete
    • truncat

DCL:數據控制語言

  • 創建用戶
  • 授權
  • 撤消許可權
  • 查看許可權
  • 刪除用戶

DQL:數據查詢語言

  • 基本查詢
    • 查看整張表
      • select * from 表名
    • 列控制

      • 列運算:select sal * 1.5 from emp
      • 列運算:連接字元串:select concat(『我的名稱是』, ename) from emp
      • 處理NULL值:select sal + IFNULL(comm, 0) from emp
      • select ename 姓名 from emp
      • 去除完全重複的行:select distinct comm from emp
  • 條件查詢
    • 模糊查詢
      • 下劃線
      • 百分號
  • 排序
    • 降序:desc
    • 升序:asc
  • 聚合函數
    • 數量:count
    • 求最小值:min
    • 求最大值:max
    • 求和:sum
    • 求平均:avg
  • 分組
    • group by
    • having
    • limit

約束

  • 約束保證數據的完整性和一致性
  • 約束分為表級約束和列級約束
    • 對一個數據列建立的約束,列級約束
    • 對多個數據列建立的約束,表級約束
  • 約束類型包括:
    • NOT NULL
    • PRIMARY KEY
    • UNIQUE KEY
    • DEFAULT
    • FOREIGN KEY

中文無法插入解決辦法

  • dos 下不支持直接使用utf8;
  • set names gbk,再插入即可。

連接類型

  • 內連接
    • 顯示左表及右表符合連接條件的記錄
  • 左外連接
    • 顯示左表的全部記錄及右表符合連接條件的記錄
  • 右外連接
    • 顯示右表的全部記錄及左表符合連接條件的記錄
  • 自身連接
    • 同一個數據表對其自身進行連接

為你推薦一下文章:

譚慶波:25個大廠內推名額先到先得 | 可內推阿里、騰訊、百度等十多家互聯網大廠?

zhuanlan.zhihu.com圖標譚慶波:八大排序演算法–Java實現?

zhuanlan.zhihu.com圖標譚慶波:100多本計算機類圖書無套路免費送?

zhuanlan.zhihu.com圖標

微信搜索公眾號【輪子工廠】,後台回復關鍵字:

1.回復【內推】:幫你在找工作和找實習的時候,免筆試和簡歷篩選內推到國內一流互聯網大廠;

2.回復【早起】:每天早上7點準時叫你起床;

3.回復【ps教程】:獲取ps視頻免費教程;

4.回復【圖書】:獲取15本新手自學編程,零基礎入門經典學習教材;

5.回復【我要造輪子】:獲取100多本我根據知乎上面關於計算機問題的高贊回答裡面的介紹整理出來的書籍;

6.回復【開發工具】:獲取幾大主流編程語言的開發工具;

希望能幫助到你~

推薦閱讀:

mysql如何解決評論遞歸查詢?
DAY17:配置mac開發環境
MySQL5.7.9,怎樣永久設置client、connection、results這三項為utf8?
淺談MySQL SQL優化
第五課 資料庫之MongoDB

TAG:資料庫 | MySQL | SQL |