包含mysql數據庫精通的詞條

本文目錄一覽:

MySQL有什麼推薦的學習書籍

1、《MySQL技術內幕:InnoDB存儲引擎》

《MySQL技術內幕:InnoDB存儲引擎》的作者是姜承堯。本書從源代碼的角度深度解析了InnoDB

的體系結構、實現原理、工作機制,並給出了大量最佳實踐。

2、《MySQL完全手冊》

《MySQL完全手冊》詳細介紹了如何使用可定製的MySQL數據庫管理系統支持健壯的、可靠的、任

務關鍵的應用程序。

3、《深入淺出mysql》

《深入淺出mysql》從數據庫的基礎、開發、優化、管理維護4個方面對MySQL進行了詳細的介紹,

其中每一部分都獨立成篇。

基礎篇主要適合於MySQL的初學者,內容包括MySQL的安裝與配置、SQL基礎、MySQL支持的數

據類型、MySQL中的運算符、常用函數、圖形化工具的使用等。

4、《 數據庫索引設計與優化》

本文以MySQL數據庫為研究對象,討論與數據庫索引相關的一些話題。特別需要說明的是,MySQL

支持諸多存儲引擎,而各種存儲引擎對索引的支持也各不相同。

5、《高性能MySQL》

《高性能MySQL》是分享MySQL實用經驗的圖書。它不但可以幫助MySQL初學者提高使用技巧,

更為有經驗的MySQL DBA指出了開發高性能MySQL應用的途徑。

 擴展資料:

《MySQL技術內幕:InnoDB存儲引擎》是國內目前唯一的一本關於InnoDB的著作,由資深MySQL

專家親自執筆,中外數據庫專家聯袂推薦,權威性毋庸置疑。

它能為讀者設計和管理高性能、高可用的數據庫系統提供絕佳的指導。注重實戰,全書輔有大量的

案例,可操作性極強。全書首先全景式地介紹了MySQL獨有的插件式存儲引擎,分析了MySQL的各

種存儲引擎的優勢和應用環境。

參考資料:百度百科——MySQL技術內幕:InnoDB存儲引擎

有數據庫基礎,如何快速精通mysql?

本周內容:455字

閱讀時間:3~5分鐘

前言

MySQL 是一款免費開源、小型、關係型數據庫管理系統。隨着該數據庫功能不斷完善、性能的不斷提高,可靠性不斷增強。它雖然是免費,但與其他商業數據庫一樣,具有數據庫系統的通用性,提供了數據庫的存取、增加、修改、刪除或更加複雜的操作。同時MySQL所使用的 SQL 語言是用於訪問數據庫的最常用標準化語言。MySQL 軟件採用了雙授權政策,分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。

下面開始介紹搭建的過程

一、準備環境

系統:

Centos 6.5_64

二、安裝過程

1.yum -y install mysql-server

2.設置服務開機啟動

3.啟動數據庫服務

4.設置MySQLroot用戶

5.設置root用戶密碼為

6.登錄數據庫

7.創建數據庫test1

8.建立數據庫表格,xm姓名,xb性別,csny出生年齡

9增加數據庫條目記錄,姓名:李一,性別:男年齡:1988.9.01

書籍推薦

《MySQL 5.7從入門到精通》

本書主要包括MySQL的安裝與配置、數據庫的創建、數據表的創建、數據類型和運算符、MySQL函數、查詢數據、數據表的操作(插入、更新與刪除數據)、索引、存儲過程和函數、視圖、觸發器、用戶管理、數據備份與恢復、日誌以及性能優化等。最後通過兩個綜合案例的數據庫設計,進一步講述MySQL在實際工作中的應用。

本書注重實戰操作,幫助讀者循序漸進地掌握MySQL中的各項技術。本書共有480個實例和14個綜合案例,還有大量的經典習題。下載文件中贈送了近20小時培訓班形式的視頻教學錄像,詳細講解了書中每一個知識點和每一個數據庫操作的方法和技巧。同時下載文件中還提供了本書所有例子的源代碼,讀者可以直接查看和調用。

本書適合MySQL數據庫初學者、MySQL數據庫開發人員和MySQL數據庫管理員,同時也能作為高等院校相關專業師生的教學用書。

讓閱讀成為習慣

該怎麼學習MySQL數據庫,從基礎學起的哪種?

如果你沒有 MySQL 的基礎,建議可以看看以下書籍:

《MySQL 必知必會》:主要講 SQL 的寫法

《深入淺出 MySQL》:比較全面的講解了 MySQL 的基礎知識,也涉及了一些優化。

如果已經對 MySQL 比較熟悉了,可以看下面的書籍:

《高性能 MySQL》:裏面講了很多 MySQL 優化技巧。

《MySQL 技術內幕》:講解了很多 MySQL 原理,強力推薦給想深入學習 MySQL 的同學。

《MySQL 內核:InnoDB 存儲引擎》:想深入研究 MySQL 內核及原理的可以看看。

《MySQL 運維內參》:對 MySQL 源碼感興趣,可以入手。

《MySQL Internals Manual》

《MySQL 5.7 Reference Manual》

如何更好地學習Mysql數據庫

UPDATE worker_view4 SET name=’hi’;

ERROR…………The target table worker_view4 of the UPDATE is not updatable.

(4)視圖中的SELECT中包含子查詢。

CREATE VIEW worker_view5(name)

AS SELECT (SELECT name FROM worker);

UPDATE worker_view5 SET name = ‘劉佳’;

該視圖中包含了子查詢,因此也是不能更新的。

(5)由不可更新的視圖導出的視圖。

CREATE VIEW worker_view6

AS SELECT * FROM worker_view5;

UPDATE worker_view6 SET name = ‘王仔’;

因為worker_view6是不可更新的視圖,所以worker_view6也不可以更新的視圖。使用UPDATE語句更新時,會出現系統報錯。

(6)創建視圖時,ALGORITHM為TEMPTABLE類型。

CREATE ALGORITHM=TEMPTABLE

VIEW worker_view7

AS SELECT * FROM worker;

UPDATE worker_view7 SET name = ‘王仔’;

因為該視圖ALGORITHM為TEMPTABLE類型,所以worker_view7不可以更新的視圖。TEMPTABLE類型就是臨時表類型。系統默認臨時表是不能更新的。

(7)視圖對應的表上存在沒有默認值的列,而且該列沒有包含在視圖裡。例如,表中包含的name字段沒有默認值,但是視圖中不包含該字段。那麼這個視圖是不能更新的。因為,在更新視圖時,這個沒有默認值的記錄將沒有值插入,也沒有NULL值插入。數據庫系統是不會允許這樣的情況出現的,數據庫系統將會阻止這個視圖更新。

注意:視圖中雖然可以更新數據,但是有很多的限制。一般情況下,最好將視圖作為查詢數據的虛擬表,而不要通過視圖來更新數據。因為,使用視圖更新數據時,如果沒有全面考慮在視圖中更新數據的限制,可能會造成數據更新失敗。

除了上述條件不能更新視圖以外,WITH[CASCADED|LOCAL]CHECK OPTION也將決定視圖能否更新。”LOCAL”參數表示更新視圖時要滿足該視圖本身的定義的條件即可;

8.6 刪除視圖

刪除視圖是指刪除數據庫中已經存在的視圖。刪除視圖時,只能刪除視圖的定義,不會刪除數據。MYSQL中,使用DROP VIEW語句來刪除視圖,不會刪除數據。MySQL中,使用DROP VIEW語句來刪除視圖。但是,用戶必須擁有DROP權限。

DROP VIEW[IF EXISTS] 視圖名列表 [RESTRICT|CASCADE]

實例一:

SELECT Drop_priv

FROM mysql.user

WHERE user=’root’;

CREATE VIEW worker_view_del1

AS SELECT * FROM worker;

CREATE VIEW worker_view_del2

AS SELECT * FROM worker;

CREATE VIEW worker_view_del3

AS SELECT * FROM worker;

DROP VIEW IF EXISTS worker_view_del2, worker_view_del3;

8.7 本章實例

在test數據庫中work_info表上進行視圖操作。

1. 在test數據庫中work_info表

2. 插入記錄

3. 創建視圖info_view

4. 查看視圖info_view的基本結構和詳細結構

5. 查看視圖info_view的所有記錄

6. 修改視圖info_view

7. 更新視圖

8. 刪除視圖

work_info表的結構

字段名 字段描述 數據類型 主鍵 外鍵 非空 唯一 自增

id 編號 INT(10) 是 否 是 是 否

name 姓名 VARCHAR(20) 否 否 是 否 否

gender 姓別 VARCHAR(4) 否 否 是 否 否

age 年齡 INT(5) 否 否 否 否 否

address 家庭住址 VARCHAR(50) 否 否 否 否 否

tel 電話號碼 VARCHAR(20) 否 否 否 否 否

work_info表中的內容

id name gender age address tel

1 張三 M 18 北市市海淀區 01-155151

2 李四 M 22 北京市昌平區 01-215151

3 王五 F 17 湖南省永州市 025-545845

4 趙六 F 25 遼寧省阜新市 0625-514545

(1) 創建work_info表

USE test;

CREATE TABLE IF NOT EXISTS work_info (

id INT(10) NOT NULL UNIQUE PRIMARY KEY,

name VARCHAR(20) NOT NULL,

gender VARCHAR(4) NOT NULL,

age INT(5),

address VARCHAR(50),

tel VARCHAR(20)

) DEFAULT CHARSET=utf8;

(2)向work_info表中插入幾條記錄。

INSERT INTO work_info VALUES

(1, ‘張三’, ‘M’, 18, ‘北市市海淀區’,’01-155151′),

(2,’李四’, ‘M’, 22, ‘北京市昌平區’, ’01-215151′),

(3,’王五’,’F’,17,’湖南省永州市’,’025-545845′),

(4,’趙六’,’F’,25,’遼寧省阜新市’,’0625-514545′);

(3) 創建視圖info_view。從work_info表中選出age20的記錄來創建視圖。視圖的字段包括id、name、gender和address。ALGORITHM設置為MERGE類型。加上WITH LOCAL CHECK OPTION條件。

CREATE ALGORITHM=MERGE

VIEW info_view(id, name, gender, address)

AS SELECT id, name, gender, address

FROM work_info

WHERE age20

WITH LOCAL CHECK OPTION;

(4)查看視圖info_view的基本結構和詳細結構。

SHOW CREATE VIEW info_view \G

(5)查看視圖info_view的所有記錄。

SELECT * FROM info_view;

(6)修改視圖info_view,使其顯示age20的信息,其他條件不變。

ALTER ALGORITHM=MERGE

VIEW info_view(id, name, gender, address)

AS SELECT id, name, gender, address

FROM work_info

WHERE age20

WITH LOCAL CHECK OPTION;

(7)更新視圖,將id為3的記錄進行更新。設置其gender為M。

UPDATE info_view SET gender=’M’ WHERE id=3;

(8)刪除視圖。

DROP VIEW info_view;

8.8 上機實踐

題目要求:

(1)在數據庫example下創建college表。

(2)在college表上創建視圖college_view。視圖的字段包括student_num、student_name、student_age和department。ALGORITHM設置為UNDEFINED類型。加上WITH LOCAL CHECK OPTION條件。

(3)查看視圖college_view的詳細結構。

(4)更新視圖。向視圖中插入三條記錄。

(5)修改視圖,使其顯示專業為”計算機”的信息,其他條件不變。

(6)刪除視圖college_view。

college表的結構

字段名 字段描述 數據類型 主鍵 外鍵 非空 唯一 自增

number 學號 INT(10) 是 否 是 是 否

name 姓名 VARCHAR(20) 否 否 是 否 否

major 專業 VARCHAR(20) 否 否 是 否 否

age 年齡 INT(5) 否 否 否 否 否

college_view表的內容

student_num student_name student_age department

0901 張三 20 外語

0902 李四 22 計算機

0903 王五 19 計算機

USE example;

CREATE TABLE college(

number INT(10) NOT NULL UNIQUE PRIMARY KEY,

name VARCHAR(20) NOT NULL,

major VARCHAR(20) NOT NULL,

age TINYINT(3)

) DEFAULT CHARSET=utf8;

CREATE ALGORITHM=UNDEFINED

VIEW college_view(student_num, student_name, student_age, department)

AS SELECT number, name, age, major

FROM college

WITH LOCAL CHECK OPTION;

SHOW CREATE VIEW college_view \G

INSERT INTO college_view VALUES

(0901, ‘張三’, 20, ‘外語’),

(0902, ‘李四’, 22, ‘計算機’),

(0903, ‘王五’, 19, ‘計算機’);

CREATE OR REPLACE ALGORITHM=UNDEFINED

VIEW college_view(student_num, student_name, student_age, department)

AS SELECT number, name, age, major

FROM college

WHERE major=’計算機’

WITH LOCAL CHECK OPTION;

mysql數據庫應用從入門到精通怎麼樣

你可以看看這本書《mysql數據庫應用從入門到精通》,這本書共分為3篇。其中第一篇為MySQL數據庫基礎篇,內容包括數據庫涉及到的基本概念、MySQL數據庫的安裝與配置。第二篇為標準SQL語句編程和應用篇,內容包括操作數據庫對象、操作表對象、操作索引對象、操作視圖對象、操作觸發器對象和操作數據。第三篇為MySQL數據庫管理篇,內容包括MySQL數據庫的用戶管理和權限管理、MySQL數據庫的日誌管理、MySQL數據庫的性能優化和PowerDesigner數據庫設計軟件。

求《mysql數據庫從入門到精通》電子版,要完整的

這種書盡量買紙質的,因為以後好多都要再繼續翻,弟子當的不適合使用

原創文章,作者:GUHZ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/134011.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
GUHZ的頭像GUHZ
上一篇 2024-10-04 00:03
下一篇 2024-10-04 00:03

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論