mysql資料庫技術實訓6(mysql資料庫技術實訓報告)

本文目錄一覽:

mysql 7.8本章習題work表怎麼建立

1.資料庫概述

簡而言之,資料庫(DataBase)就是一個存儲數據的倉庫。為了方便數據的存儲和管理,將數據按照特定的規律存儲在磁碟上。通過資料庫管理系統,可以有效的組織和管理存儲在資料庫中的數據。如今,已經存在的Oracle、SQLServer、MySQL等諸多優秀的資料庫。

詳解內容:

數據存儲方式

資料庫在開發中的作用

資料庫訪問技術

MySQL資料庫的介紹

資料庫泛型

SQL語言

常見資料庫系統

如果學習資料庫

1.1 資料庫理論基礎

資料庫能夠將數據按照特定的規律組織起來。那麼,數據是如何存儲的、資料庫要遵守什麼規則、資料庫在什麼地方使用,這些都是首先要了解的問題。

1.1.1 數據存儲方式

如今資料庫已經無處不在了。

一個網站需要有資料庫來存儲數據。

一個學校需要用資料庫來存儲學生和教師的信息。

一個公司需要用資料庫來存儲員工的信息和公司的資料。

要學習資料庫,必須先了解資料庫是如何存儲數據的。

數據發展分為三個階段:

1. 人工管理階段

2. 文件系統階段

3. 資料庫系統階段

1.1.2 資料庫泛型

資料庫泛型就是資料庫應該遵循的規則。資料庫泛型也稱為範式。目前關係資料庫最常用的四種範式分別是:

第一範式(1NF)

第二範式(2NF)

第三範式(3NF)

BCN範式(BCNF)

在設計資料庫時,資料庫需要滿足的最低要求的範式是第一範式。第一範式的要求表中不能有重複欄位,並且每個欄位不能再拆分。如果有一個資料庫連第一範式都不滿足的話,那就不能稱之為關係型資料庫了。只有滿足了第一範式的要求,才可能在這個關係資料庫中創建表。

在滿足第一範式的基礎上,可以將資料庫中進行一步的細化。細化後可以使資料庫滿足第二範式的要求。依次進行細化,可以得到第三範式、BCN範式。

1.1.3 資料庫在開發中作用

現在大部分的管理系統和軟體都需要使用資料庫來存儲數據。在開發過程中,資料庫已經成為必不可少的一部分。本小節將為讀者簡單介紹一下資料庫在開發中的作用。

在軟體開發過程中,經常需要使用資料庫來存儲數據。比如,一個學校的學生管理系統就需要資料庫來存儲學生的學籍信息、考試信息、教師的信息、課程信息等。再比如,銀行的管理系統也需要資料庫來存儲信息。用戶的銀行帳戶、存款量、存款和取款的記錄等信息都是存儲在資料庫中的。當用戶向自己的帳戶里存款時,管理系統會在資料庫中更新該用戶的存款量。

1.2 資料庫系統

1.2.1 資料庫系統

很多讀者認為資料庫就是資料庫系統(DataBase System, 簡稱為DBS)。其實,資料庫系統的範圍比資料庫大很多。資料庫系統不是一個單純的資料庫,而是由資料庫、資料庫管理系統、應用開發工具構成。很多時候,資料庫管理員和用戶可以當成資料庫系統的一份子。

資料庫就是存儲數據的地方。

資料庫管理系統(DataBase Management System, 簡稱為DBMS)是用來定義數據、管理和維護數據的軟體。它是資料庫系統的一個重要組成部分。應用系統是需要使用資料庫的軟體。比如學員管理系統就是一個應用系統,這個應用系統需要資料庫管理它的數據。應用開發工具就是用來開發應用系統的。

1.2.2 SQL語言

SQL(Structured Query Language)語言的全稱是結構化查詢語言。資料庫管理系統通過SQL語言來管理資料庫中的數據。

SQL語言分為三個部分:

數據定義語言(Data Definition Language, 簡稱為DDL)

數據操作語言(Data Manipulation Language, 簡稱為DML)

數據控制語言(Data Control Language, 簡稱為DCL)

數據查詢語言(Data Query Language, 簡稱DQL)

1.2.3 資料庫訪問技術

應用程序中,程序語言需要使用資料庫訪問技術來訪問資料庫。只有使用了資料庫訪問技術,程序中嵌入的SQL語句才會起作用。不同程序語言訪問資料庫的方式是不一樣的。

JDBC是一種用於執行SQL語句的Java API。通過JDBC可以訪問多種關係資料庫。JDBC由一組用Java語言編寫的類和介面組成。使用JDBC時,必須要安裝驅動程序Connector/J。

PHP中為程序員提供了MySQL功能模塊,PHP5以後開始提供mysqli介面。PHP可以通過MySQL功能模塊和mysqli介面來訪問MySQL資料庫。

1.3 常見資料庫

1.3.1 常見資料庫系統

如今已經在很多優秀的商業資料庫

如甲骨文(Oracle)公司的Oracle資料庫

IBM公司的DB2資料庫

微軟公司的SQL Server資料庫和Access資料庫。

還有很多優秀的開源資料庫,如MySQL資料庫、PostgreSQL資料庫等。

1. 甲骨文的Oracle

2. IBM的DB2

3. 微軟的Access和SQL Server

4. 開源PostgreSQL

6. 開源MySQL

1.3.2 為什麼要使用MySQL

如今很多大型網站已經選擇MySQL資料庫來存儲數據。那麼,MySQL到底有什麼優勢呢?MySQL資料庫的使用非常廣泛,尤其是在Web應用方面。由於MySQL資料庫發展勢頭迅猛,SUN公司於2008年收購了MySQL資料庫。這筆交易的收購價格高達10億美元。這中以說明MySQL資料庫價值。

MySQL資料庫的優勢:

1. 開源代碼

2. 跨平台性

3. 價格優勢

4. 功能強大且使用方便

1.3.3 MySQL版本和獲取

MySQL資料庫可以在Windows、UNIX、Linux和Mac OS等操作系統上運行。因此,MySQL有不同操作系統的版本。而且,根據發布的先後順序,現在已經在開發MySQL的6.0版了。

根據MySQL的開發情況,可以將MySQL分為Alpha、Beta、Gamma和Generally Available(GA)等版本。

– Alpha(開發過程中)

– Beta(測試版)

– Gamma(比Beta版更高級)

– Generally Available(GA)(穩定版)

1.4 如果學習資料庫

資料庫已經成為軟體系統的一部分,那麼學好資料庫將是軟體開發的一個必要條件。如何才能學好資料庫,這個問題沒有確切的答案。

學好資料庫的方法:

1. 多上機實踐

2. 多編寫SQL語句

3. 通過Java或PHP程序語言操作資料庫

4. 資料庫理論知識不能丟

1.5 常見問題及解答

1. 如何選擇資料庫?

2. 如何選擇MySQL版本?

1.6 本章習題

1. 數據存儲的發展過程經歷了哪幾個階段?

2. 常用資料庫系統有哪些?

3. MySQL資料庫如何分類?

2.Windows平台下安裝與配置MySQL

在Windows系列的操作系統下,MySQL資料庫的安裝包分為圖形化界面安裝和免安裝(noinstall)這兩種安裝包。這兩種安裝包的安裝方式不同,而且配置方式也不同。圖形化界面安裝包有完整的安裝嚮導,安裝和配置很方便。免安裝的安裝包直接解壓即可使用,但是配置起來很不方便。

安裝MySQL資料庫

配置MySQL資料庫

常用圖形管理工具介紹

配置和使用免安裝的MySQL資料庫

2.1 安裝與配置MySQL

2.1.1 安裝MySQL

MySQL圖形化安裝包有一個完整的安裝嚮導,根據安裝嚮導可以很方便的安裝MySQL資料庫。在Windows操作系統下,有兩種MySQL圖形化安裝包。這兩種安裝包分別是”Windows Essentials”和”Windows MSI Installer”。前者包含了MySQL中最主要和最常用的功能,但是不包含一些不常用的功能。後者包含了MySQL全部功能,包括不常用的功能。

選擇Microsoft Windows選項

mysql-5.1.40-win32.msi(圖形界面安裝)

mysql-essential-5.1.40-win32.msi (圖形界面安裝)

mysql-noinstall-5.1.40-wind32.zip (免安裝)

安裝步驟:

1. Next

2. Typical Complete Custom(O)

3. MySQL Server

Client Programs

C Includes Files / Lib Files(X)

Change: ?????

4. Install

Setup Type: Custom

Destination Folder(程序安裝路徑):

Data Folder(數據存儲的路徑):

5. Next-Next-

(O)Configure the MySQL Serer now

(O)Register the MySQL Server now

6. Finish

2.1.2 配置MySQL

安裝完成時,選上了Configure the MySQL Server now選項,圖形化安裝嚮導將進入MySQL配置歡迎界面。通過配置嚮導,可以設置MySQL資料庫的各種參數。

1. Next

2. (O)Detailed Configuration

(X)Standard Configuration

3. (O)Developer Machine(開發者)

Server Machine(伺服器)

Dedicated MySQL Server Machine(專用的資料庫伺服器)

4. (O)Multifunctional Database(多功能型資料庫)

Transactional Database Only(事務型的資料庫, InnoDB)

Non-Transactional Database Only(只支持MyISaM類型資料庫,非事務)

5. InnoDB Tablespace Settings (配置表空間)

6. 設置伺服器的連接數

Decision Support(DSS) / OLAP

Online Transaction Processing(OLTP)

(O)Manual Setting

Concurrent Connections: 10

7. MySQL服務的埠號:

(O)Add firewall exception for this port(允許防火牆)

(X)Enable Strict Mode(是區分大寫)

8. 設置字符集

Standard Character Set

Best Support for Multilingualism

(O)Manual Selected Default Character Set / Collation

utf-8

9. Install As Windws Service 服務選項

Service Name: MySQL

(O)Lanch the MySQL Server automatically(服務是否自動啟動)

(O)Include Bin Directory in Windows PATH(添加到path路徑當中)

10. Modify Security Setting:

New root password:

confirm:

(X)Enable root access from remote machines(不否遠程訪問root)

11. Execute

12. Finish

2.2 啟動服務並登錄MySQL資料庫

MySQL資料庫分為伺服器端(Server)和客戶端(Client)兩部分。只有伺服器端的服務開戶以後,才可以通過客戶端來登錄到MySQL資料庫。

2.2.1 啟動MySQL服務

開始-設置-控制面板-管理工具-服務

2.2.2 登錄MySQL伺服器

1. 開始-運行-cmd

mysql -h localhost -u root -p

mysql

2. 開始-運行-mysql -h 127.0.0.1 -u root -p

2.2.3 配置path變數

如果MySQL的應用程序的目錄沒有添加到Windows系統的path環境變數中,可以手工的將MySQL的目錄添加到path中。

將MySQL的應用程序的目錄添加到Windows系統的path環境變數中,可以使以後的操作更加方便。例如,可以直接從運行對話框輸入MySQL資料庫命令。而且,以後在編程時也會更加方便。配置path路徑很簡單,只要將MySQL的應用程序的目錄添加到系統的path環境變數中就可以了。

1. 右擊【我的電腦】-【屬性】

2. 在系統環境變數中選中path變數,然後單擊編輯按鈕進入編輯環境變數的對話框。

3. 把MySQL應用程序的目錄添加到path環境變數名值的後面。已經存在的目錄用分號隔開。

2.3 更改MySQL的配置

MySQL資料庫安裝好了以後,可能根據實際情況更改MySQL的某些配置。一般可以通過兩種方式來更改。一種是通過配置嚮導來更改配置,另一種是手工來更改配置。

計算機二級mysql無法找到資料庫

計算機二級mysql無法找到資料庫的解決方法如下:

1、關閉mysql,service mysqld stop。

2、啟動mysql:mysqld_safe –skip-grant-tables。

3、再打開一個ssh連接伺服器,進行mysql操作。

二級MySQL資料庫程序設計是全國計算機等級考試的一個二級考試項目。

考試大綱(2013版)如下:

1、掌握資料庫技術的基本概念和方法。

2、熟練掌握MySQL的安裝與配置。

3、熟練掌握MySQL平台下使用SQL語言實現資料庫的交互操作。

4、熟練掌握MySQL的資料庫編程。

5、熟悉PHP應用開發語言,初步具備利用該語言進行簡單應用系統開發的能力。

6、掌握MySQL資料庫的管理與維護技術。

提高MySQL資料庫查詢效率有哪些技巧?

1.合理使用索引

索引是資料庫中重要的數據結構,它的根本目的就是為了提高查詢效率。現在大多數的資料庫產品都採用IBM最先提出的ISAM索引結構。索引的使用要恰到好處,其使用原則如下:

●在經常進行連接,但是沒有指定為外鍵的列上建立索引,而不經常連接的欄位則由優化器自動生成索引。

●在頻繁進行排序或分組(即進行group by或order by操作)的列上建立索引。

●在條件表達式中經常用到的不同值較多的列上建立檢索,在不同值少的列上不要建立索引。比如在僱員表的「性別」列上只有「男」與「女」兩個不同值,因此就無必要建立索引。如果建立索引不但不會提高查詢效率,反而會嚴重降低更新速度。

●如果待排序的列有多個,可以在這些列上建立複合索引(compound index)。

●使用系統工具。如Informix資料庫有一個tbcheck工具,可以在可疑的索引上進行檢查。在一些資料庫伺服器上,索引可能失效或者因為頻繁操作而使得讀取效率降低,如果一個使用索引的查詢不明不白地慢下來,可以試著用tbcheck工具檢查索引的完整性,必要時進行修復。另外,當資料庫表更新大量數據後,刪除並重建索引可以提高查詢速度。

2.避免或簡化排序

應當簡化或避免對大型表進行重複的排序。當能夠利用索引自動以適當的次序產生輸出時,優化器就避免了排序的步驟。以下是一些影響因素:

●索引中不包括一個或幾個待排序的列;

●group by或order by子句中列的次序與索引的次序不一樣;

●排序的列來自不同的表。

為了避免不必要的排序,就要正確地增建索引,合理地合併資料庫表(儘管有時可能影響表的規範化,但相對於效率的提高是值得的)。如果排序不可避免,那麼應當試圖簡化它,如縮小排序的列的範圍等。

3.消除對大型錶行數據的順序存取

在嵌套查詢中,對錶的順序存取對查詢效率可能產生致命的影響。比如採用順序存取策略,一個嵌套3層的查詢,如果每層都查詢1000行,那麼這個查詢就要查詢10億行數據。避免這種情況的主要方法就是對連接的列進行索引。例如,兩個表:學生表(學號、姓名、年齡……)和選課表(學號、課程號、成績)。如果兩個表要做連接,就要在「學號」這個連接欄位上建立索引。

還可以使用並集來避免順序存取。儘管在所有的檢查列上都有索引,但某些形式的where子句強迫優化器使用順序存取。下面的查詢將強迫對orders表執行順序操作:

SELECT * FROM orders WHERE (customer_num=104 AND order_num;1001) OR order_num=1008

雖然在customer_num和order_num上建有索引,但是在上面的語句中優化器還是使用順序存取路徑掃描整個表。因為這個語句要檢索的是分離的行的集合,所以應該改為如下語句:

SELECT * FROM orders WHERE customer_num=104 AND order_num;1001

UNION

SELECT * FROM orders WHERE order_num=1008

這樣就能利用索引路徑處理查詢。

4.避免相關子查詢

一個列的標籤同時在主查詢和where子句中的查詢中出現,那麼很可能當主查詢中的列值改變之後,子查詢必須重新查詢一次。查詢嵌套層次越多,效率越低,因此應當盡量避免子查詢。如果子查詢不可避免,那麼要在子查詢中過濾掉儘可能多的行。

5.避免困難的正規表達式

MATCHES和LIKE關鍵字支持通配符匹配,技術上叫正規表達式。但這種匹配特別耗費時間。例如:SELECT * FROM customer WHERE zipcode LIKE 「98_ _ _」

即使在zipcode欄位上建立了索引,在這種情況下也還是採用順序掃描的方式。如果把語句改為SELECT * FROM customer WHERE zipcode ;「98000」,在執行查詢時就會利用索引來查詢,顯然會大大提高速度。

另外,還要避免非開始的子串。例如語句:SELECT * FROM customer WHERE zipcode[2,3] ;「80」,在where子句中採用了非開始子串,因而這個語句也不會使用索引。

6.使用臨時表加速查詢

7.用排序來取代非順序存取

有資料庫基礎,如何快速精通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資料庫管理員,同時也能作為高等院校相關專業師生的教學用書。

讓閱讀成為習慣

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SMI01的頭像SMI01
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

  • 如何修改mysql的埠號

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

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

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

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

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

    編程 2025-04-29
  • Python爬蟲文檔報告

    本文將從多個方面介紹Python爬蟲文檔的相關內容,包括:爬蟲基礎知識、爬蟲框架及常用庫、爬蟲實戰等。 一、爬蟲基礎知識 1、爬蟲的定義: 爬蟲是一種自動化程序,通過模擬人的行為在…

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

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

    編程 2025-04-28
  • Python貪吃蛇遊戲設計報告

    本文將從遊戲設計的目標、實現思路、技術要點、代碼實現等多個方面對Python貪吃蛇遊戲進行詳細闡述。 一、遊戲設計的目標 貪吃蛇是一款經典的遊戲,我們的遊戲設計不僅要實現基本的玩法…

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

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

    編程 2025-04-28
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27
  • Python管理系統設計報告

    本文將從系統設計、數據存儲、界面設計、安全性等多個方面,詳細闡述Python管理系統的設計,為讀者提供完整且系統的解決方案。 一、系統設計 Python管理系統的設計需要考慮到系統…

    編程 2025-04-27
  • 如何使用MySQL欄位去重

    本文將從多個方面為您詳細介紹如何使用MySQL欄位去重並給出相應的代碼示例。 一、SELECT DISTINCT語句去重 MySQL提供了SELECT DISTINCT語句,通過在…

    編程 2025-04-27

發表回復

登錄後才能評論