零基礎學Java之MySQL資料庫,第一講:基礎知識

2020-12-12 尚學堂java學院

資料庫基礎知識

資料庫基本概念1. 數據 所謂數據(Data)是指對客觀事物進行描述並可以鑑別的符號,這些符號是可識別的、抽象的。它不僅僅指狹義上的數字,而是有多種表現形式:字母、文字、文本、圖形、音頻、視頻等。現在計算機存儲和處理的數據範圍十分廣泛,而描述這些數據的符號也變得越來越複雜了。

2. 資料庫 資料庫(Database,DB)指的是以一定格式存放、能夠實現多個用戶共享、與應用程式彼此獨立的數據集合

3. 資料庫管理系統資料庫管理系統(Database Management System,DBMS)是用來定義和管理數據的軟體。如何科學的組織和存儲數據,如何高效的獲取和維護數據,如何保證數據的安全性和完整性,這些都需要靠資料庫管理系統完成。目前,比較流行的資料庫管理系統有:Oracle、MySQL、SQL Server、DB2等。

4. 資料庫應用程式 資料庫應用程式(Database Application System,DBAS)是在資料庫管理系統基礎上,使用資料庫管理系統的語法,開發的直接面對最終用戶的應用程式,如學生管理系統、人事管理系統、圖書管理系統等。

5. 資料庫管理員 資料庫管理員(Database Administrator,DBA)是指對資料庫管理系統進行操作的人員,其主要負責資料庫的運營和維護。

6. 最終用戶 最終用戶(User)指的是資料庫應用程式的使用者。用戶面向的是資料庫應用程式(通過應用程式操作數據),並不會直接與資料庫打交道。

7. 資料庫系統 資料庫系統(Database System,DBS)一般是由資料庫、資料庫管理系統、資料庫應用程式、資料庫管理員和最終用戶構成。其中DBMS是資料庫系統的基礎和核心。

資料庫類型 資料庫經過幾十年的發展,出現了多種類型。根據數據的組織結構不同,主要分為網狀資料庫、層次資料庫、關係型資料庫和非關係型資料庫四種。目前最常見的資料庫模型主要是:關係型資料庫和非關係型資料庫

1. 關係型資料庫 關係型資料庫模型是將複雜的數據結構用較為簡單的二元關係(二維表)來表示,如圖1-4所示。在該類型資料庫中,對數據的操作基本上都建立在一個或多個表格上,我們可以採用結構化查詢語言(SQL)對資料庫進行操作。關係型資料庫是目前主流的資料庫技術,其中具有代表性的資料庫管理系統有:Oracle、DB2、SQL Server、MySQL等。

2. 非關係型資料庫NOSQL NOSQL(Not Only SQL)泛指非關係型資料庫。關係型資料庫在超大規模和高並發的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題。NOSQL資料庫的產生就是為了解決大規模數據集合多重數據種類帶來的挑戰,尤其是大數據應用難題。常見的非關係型資料庫管理系統有Memcached、MongoDB等。

常見的關係型資料庫 雖然非關係型資料庫的優點很多,但是由於其並不提供SQL支持、學習和使用成本較高並且無事務處理,所以本書的重點是關係型資料庫。下面我們將介紹一下常用的關係型資料庫管理系統。

1. Oracle Oracle資料庫是由美國的甲骨文(Oracle)公司開發的世界上第一款支持SQL語言的關係型資料庫。經過多年的完善與發展,Oracle資料庫已經成為世界上最流行的資料庫,也是甲骨文公司的核心產品。

Oracle資料庫具有很好的開放性,能在所有的主流平臺上運行,並且性能高、安全性高、風險低;但是其對硬體的要求很高、管理維護和操作比較複雜而且價格昂貴,所以一般用在滿足對銀行、金融、保險等行業大型資料庫的需求上。

2. DB2 DB2是IBM公司著名的關係型資料庫產品。DB2無論穩定性,安全性,恢復性等等都無可挑剔,而且從小規模到大規模的應用都可以使用,但是用起來非常繁瑣,比較適合大型的分布式應用系統。

3. SQL Server SQL Server是由Microsoft開發和推廣的關係型資料庫,SQL Server的功能比較全面、效率高,可以作為中型企業或單位的資料庫平臺。SQL Server可以與Windows作業系統緊密繼承,無論是應用程式開發速度還是系統事務處理運行速度,都能得到大幅度提升。但是,SQL Server只能在Windows系統下運行,毫無開放性可言。

4. MySQL MySQL是一種開放原始碼的輕量級關係型資料庫,MySQL資料庫使用最常用的結構化查詢語言(SQL)對資料庫進行管理。由於MySQL是開放原始碼的,因此任何人都可以在General Public License的許可下下載並根據個人需要對其缺陷進行修改。

由於MySQL資料庫體積小、速度快、成本低、開放源碼等優點,現已被廣泛應用於網際網路上的中小型網站中,並且大型網站也開始使用MySQL資料庫,如網易、新浪等。

MySQL基礎知識

MySQL入門 MySQL資料庫最初是由瑞典MySQL AB公司開發,2008年1月16號被Sun公司收購。2009年,SUN又被Oracle收購。MySQL是目前IT行業最流行的開放原始碼的資料庫管理系統,同時它也是一個支持多線程高並發多用戶的關係型資料庫管理系統。MySQL之所以受到業界人士的青睞,主要是因為其具有以下幾方面優點:

1. 開放原始碼 MySQL最強大的優勢之一在於它是一個開放原始碼的資料庫管理系統。開源的特點是給予了用戶根據自己需要修改DBMS的自由。MySQL採用了General Public License,這意味著授予用戶閱讀、修改和優化原始碼的權利,這樣即使是免費版的MySQL的功能也足夠強大,這也是為什麼MySQL越來越受歡迎的主要原因。

2. 跨平臺 MySQL可以在不同的作業系統下運行,簡單地說,MySQL可以支持Windows系統、UNIX系統、Linux系統等多種作業系統平臺。這意味著在一個作業系統中實現的應用程式可以很方便地移植到其他的作業系統下。

3. 輕量級 MySQL的核心程序完全採用多線程編程,這些線程都是輕量級的進程,它在靈活地為用戶提供服務的同時,又不會佔用過多的系統資源。因此MySQL能夠更快速、高效的處理數據。

4. 成本低 MySQL分為社區版和企業版,社區版是完全免費的,而企業版是收費的。即使在開發中需要用到一些付費的附加功能,價格相對於昂貴的Oracle、DB2等也是有很大優勢的。其實免費的社區版也支持多種數據類型和正規的SQL查詢語言,能夠對數據進行各種查詢、增加、刪除、修改等操作,所以一般情況下社區版就可以滿足開發需求了,而對資料庫可靠性要求比較高的企業可以選擇企業版。

另外,PHP中提供了一整套的MySQL函數,對MySQL進行了全方位的強力支持。

總體來說,MySQL是一款開源的、免費的、輕量級的關係型資料庫,其具有體積小、速度快、成本低、開放源碼等優點,其發展前景是無可限量的。

MySQL安裝1. 安裝MySQL軟體 此種按照版本為MySQL8的Windows系統的安裝版,詳細安裝步驟請查看安裝的附件文檔。此處展示安裝過程中的關鍵步驟。

選擇Developer Default(開發默認)、Full(全部)或者Custom(自定義)

MySQL是基於C/S(Client/Server,客戶端—伺服器端)模式的,簡單的說如果要搭建MySQL環境,需要兩部分:伺服器端軟體和客戶端軟體。

伺服器端軟體為MySQL資料庫管理系統,它包括一組在伺服器主機上運行的程序和相關文件(數據文件、配置文件、日誌文件等),通過運行程序,啟動資料庫服務。

客戶端軟體則是連接資料庫伺服器,用來執行查詢、修改和管理資料庫中的數據的程序。

埠號:3306(Oracle是1521,SQL Server默認埠號為:1433)

此處輸入的是root用戶的密碼。root是MySQL的管理員帳號

2. 安裝圖形客戶端navicat 圖形客戶端有多個 還要SQLyog,MySQL workbench、navicat等。此處安裝navicat。詳細安裝步驟請查看安裝的附件文檔。此處展示安裝過程中的關鍵步驟。

3. MySQL配置文件my.ini 新版本下不在MySQL安裝目錄下,而在C盤的ProgramData文件夾。如果在C盤根目錄中並未找見ProgramData文件夾,則需要設置文件夾選項,選擇顯示隱藏的文件、文件夾和驅動器。

連接MySQL啟動MySQL服務 ★ net start (已經啟動的服務) ★ net start mysql 連接MySQL ★ mysql -h127.0.0.1 -uroot -p 退出MySQL ★ exit ★ quit 關閉MySQL服務 ★ net stop mysql

資料庫相關操作創建資料庫 ★ create database stumgr; 顯示所有資料庫 ★ show databases; 切換資料庫 ★ use stumgr;顯示資料庫下的資料庫表 ★ show tables;刪除資料庫 ★ drop database stumgr;

SQL語言入門

我們都知道,資料庫管理人員(DBA)通過資料庫管理系統(DBMS)可以對資料庫(DB)中的數據進行操作,但具體是如何操作的呢?這就涉及到我們本節要講的SQL語言。

SQL(Structured Query Language)是結構化查詢語言的簡稱,它是一種資料庫查詢和程序設計語言,同時也是目前使用最廣泛的關係型資料庫操作語言。在資料庫管理系統中,使用SQL語言來實現數據的存取、查詢、更新等功能。SQL是一種非過程化語言,只需提出「做什麼」,而不需要指明「怎麼做」。

SQL是由IBM公司在1974~1979年之間根據E.J.Codd發表的關係資料庫理論為基礎開發的,其前身是「SEQUEL」,後更名為SQL。由於SQL語言具有集數據查詢、數據操縱、數據定義和數據控制功能於一體,類似自然語言、簡單易用以及非過程化等特點,得到了快速的發展,並於1986年10月,被美國國家標準協會(American National Standards Institute,ANSI)採用為關係資料庫管理系統的標準語言,後為國際標準化組織(International Organization for Standardization,ISO)採納為國際標準。

SQL語言分為五個部分:

數據查詢語言(Data Query Language,DQL):DQL主要用於數據的查詢,其基本結構是使用SELECT子句,FROM子句和WHERE子句的組合來查詢一條或多條數據。數據操作語言(Data Manipulation Language,DML):DML主要用於對資料庫中的數據進行增加、修改和刪除的操作,其主要包括:INSERT:增加數據UPDATE:修改數據DELETE:刪除數據 數據定義語言(Data Definition Language,DDL):DDL主要用針對是資料庫對象(資料庫、表、索引、視圖、觸發器、存儲過程、函數)進行創建、修改和刪除操作。其主要包括:CREATE:創建資料庫對象ALTER:修改資料庫對象DROP:刪除資料庫對象 數據控制語言(Data Control Language,DCL):DCL用來授予或回收訪問資料庫的權限,其主要包括:GRANT:授予用戶某種權限REVOKE:回收授予的某種權限 事務控制語言(Transaction Control Language,TCL):TCL用於資料庫的事務管理。其主要包括:START TRANSACTION:開啟事務COMMIT:提交事務ROLLBACK:回滾事務SET TRANSACTION:設置事務的屬性

相關焦點

  • 面試被問:JDBC底層是如何連接資料庫的?|sql|mysql|數據源|java|...
    條件:要求 Driver 能與訪問的資料庫交互。  機制:用戶命令傳給資料庫或其他數據源,隨之結果被返回。  部署:數據源可以在另一臺機器上,用戶通過網絡連接,稱為 C/S配置(可以是內聯網或網際網路)。  三層  側架構特殊之處在於,引入中間層服務。  流程:命令和結構都會經過該層。
  • java連接mysql資料庫的五種方式
    Jdbc-----資料庫的五種連接方式第一種方式:將用戶名和密碼封裝在Properties類中首先,導入資料庫連接包這個是毋庸置疑的。創建一個jdbc驅動dirver。將資料庫(以MySQL為例)的url保存在所創建的字符串url中。
  • 「零基礎學JAVA」基礎篇 第二章 JAVA編程初體驗
    JAVA【零基礎學編程】系列今天給大家帶來基礎篇 第二章 JAVA編程初體驗本節的部分編碼操作需要先安裝JDK開發工具「零基礎學JAVA」工具篇 JDK的安裝教程(WINDOWS版)和環境變量的配置「零基礎學JAVA」工具篇
  • Java開發工程師如何在Mysql資料庫中創建表
    首先我們需要在資料庫中創建兩張表用來學習MyBatis對資料庫增刪改查的使用方法。如果是新安裝的資料庫可以直接複製我下面的sql進行表創建,如果是已使用中的資料庫可能表明會與我的表名衝突,需要創建一個新的database再執行sql,也可以直接刪除原來的表,如果表有外鍵關聯需要先解除外鍵約束再刪除。
  • MySQL 資料庫「十宗罪」(十大經典錯誤案例)
    目前是進入不了資料庫的情況,所以我們要考慮是不是可以跳過權限。因為在資料庫中,mysql資料庫中user表記錄著我們用戶的信息。/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf  --skip-grant-tables &這樣啟動,就可以不用輸入密碼,直接進入 mysql 資料庫了。
  • SQL Server資料庫基礎知識第一講:資料庫(操作部分)
    SQL Server資料庫基礎知識:資料庫我們理解了資料庫的基本概念以後,就要進行資料庫的基本操作了。對於資料庫這門技術,在軟體開發的實際應用中,對資料庫的操作就顯得更為重要。今天我們學習SQL Server資料庫基礎知識第一講的內容:資料庫。請大家在學習了第一講理論部分之後,再來學習本次操作部分的內容。
  • java中資料庫:JDBC的使用
    JDBC是java中提供的一套資料庫編程API,它定義了一套用來訪問資料庫的標準Java類庫(位於java.sql和javax.sql
  • Mysql資料庫備份和還原常用的命令
    備份MySQL資料庫的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql備份MySQL資料庫為帶刪除表的格式備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫
  • 學好java,掌握java編程思想很重要!學習java分三步
    浮雲我是一個剛剛畢業的大學生,專業是學的java,但是由於在大學時期貪玩,打遊戲,導致專業技術不過關,因此,在做了一番思想鬥爭過後,我決定了在我所在的城市找了一個培訓學校,所以我也就從頭學習java了。
  • 從零開始學 MySQL -- 創建資料庫並插入數據
    介紹 MySQL 新建資料庫,新建表,插入數據以及基本數據類型的相關知識。在 Linux 環境裡創建一個名為 mysql_shiyan 的資料庫。在資料庫創建兩張表 employee 和 department,分別表示員工表和部門表。
  • MySQL教程之MySQL定時備份資料庫
    一、MySQL數據備份1.1、 mysqldump命令備份數據在MySQL中提供了命令行導出資料庫數據以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實現資料庫內容的導出dump,首先我們簡單了解一下mysqldump命令用法:
  • 資源|2017Java學習路線圖:完整Java自學視頻教程+工具+API+源碼
    > (▲點擊閱讀)很多零基礎開始接觸計算機專業的學生
  • 學習java需要會哪些知識才能夠去應聘工作?
    應該知道先學哪些再學哪些 !不是盲目的去亂學去!溫馨提示:想報班學習的話可以聯繫小編給你建議(本公眾號純屬個人公眾號!與培訓機構無關)★請轉發給身邊需要的朋友!您的每一次轉發都是對我的一份支持!!幫忙你我他!(關注本公眾號獲取更多學習視頻與作業資料!)
  • day06-python資料庫-mysql之安裝
    基礎部分資料庫是什麼?
  • 沒遇到過這十個MySQL資料庫經典錯誤,你一定不是個好工程師
    點擊上方「程式設計師共讀」,選擇「置頂公眾號」關鍵時刻,第一時間送達!
  • 「詳細」MySQL資料庫與JDBC編程
    Class.forName("com.mysql.ch.hdbc.Driver");Class.forName("oracle.jdbc.driver.OracleDriver");2、通過DriverManager獲取資料庫連接DriverManager.getConnection("jdbc:mysql
  • 實例講解:.NET如何訪問MySQL資料庫
    .NET的資料庫天然支持MSSQLServer,但是並非其他資料庫不支持,而是微軟基於自身利益需要,在支持、營銷上推自己的資料庫產品;但是作為平臺戰略,他並非排斥其他資料庫,而是參考java體系提出了一套資料庫訪問規範,讓各個第三方進行開發,提供特定的驅動。
  • Java資料庫連接性簡介
    JDBC驅動程序支持JDBC管理器和資料庫驅動程序之間的通信。JDBC是您的應用程式代碼與之交互的通用API。下面是您正在使用的資料庫的JDBC兼容驅動程序。圖1是Java持久層中JDBC的體系結構概述。
  • 總結零散的 MySQL 基礎知識
    來自:CSDN(作者:Sicimike)原文連結(底部連結可直達):https://blog.csdn.net/Baisitao_/article/details/104714764前言在日常開發中,一些不常用且又比較基礎的知識
  • Mysql資料庫的使用方法
    你們讚賞就是對小編的鼓勵,都是你們的心意,小編收到了,在這邊感謝你們,謝謝    現在看軟體測試的招聘要求,基本都是要求會資料庫這一塊的,薪水越高所具備的技能也要越多,而資料庫知識則是一項必備技能了,所以今天小編就好好的普及下資料庫知識方面的基本使用方法!