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

farsun發表於2021-09-09

對於後端開發人員來說,經常會和資料打交道,今天總結下資料庫相關的知識。包括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,再插入即可。

連線型別

  • 內連線

  • 顯示左表及右表符合連線條件的記錄

  • 左外連線

  • 顯示左表的全部記錄及右表符合連線條件的記錄

  • 右外連線

  • 顯示右表的全部記錄及左表符合連線條件的記錄

  • 自身連線

  • 同一個資料表對其自身進行連線



作者:在北方玩彈子球
連結:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4289/viewspace-2812201/,如需轉載,請註明出處,否則將追究法律責任。

相關文章