




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
MySQL
數據庫應用與開發
--姜桂洪制作
2025/6/51/第01章MySQL數據庫概述22025/6/5認識MySQL數據庫1MySQL數據庫軟件的使用4關系型數據庫理論3內容提要數據庫的基本概念2數據庫技術是計算機科學的重要組成部分,也是信息管理的技術依托,主要用于研究如何向用戶提供具有共享性、安全性和可靠性數據的方法。數據庫技術解決了計算機信息處理過程中有效地組織和存儲海量數據的問題。而大數據的發展更是將數據庫技術的應用平臺推上一個新的高度。數據庫的建設規模、數據信息的存儲量度和處理能力已成為衡量一個國家現代化程度的重要標志。數據庫技術包括數據庫系統、SQL語言、數據庫訪問技術等。像MySQL、Oracle、SQLServer和DB2等都是目前常用的數據庫管理系統軟件。尤其是MySQL已經成為目前軟件行業市場份額提高最快的數據庫軟件。信息技術的發展極大地促進了數據庫技術向各行各業的滲透,數據庫與其他學科技術結合先后出現了各種形式的數據庫系統分支。認識MySQL數據庫MySQL是一個開放源碼的小型、跨平臺數據庫管理系統,被廣泛地應用在Internet上的中小型網站中。由于MySQL具有體積小、運行速度快、總體擁有成本低、開放源碼的優勢,許多中小型網站都為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。1.MySQL數據庫的發展背景1996年發布了能夠在小范圍內使用的MySQL1.0版。1999年MySQLAB公司在瑞典成立。MySQL數據庫從此能夠支持事務處理了。認識MySQL數據庫1.MySQL數據庫的發展背景2000年MySQL數據庫集成了存儲引擎InnoDB,該引擎是最為成功的MySQL事務存儲引擎。2003年12月,MySQL5.0版本發布,提供了視圖和存儲過程等功能。2008年11月,MySQL5.1發布,它提供了分區、事件管理,同時修復了大量的Bug。2009年4月,甲骨文公司收購Sun公司,自此MySQL數據庫進入Oracle時代。2013年2月,甲骨文公司宣布MySQL5.6正式版發布,首個正式版本號為5.6.10。2013年4月發布5.7.1版本。2016年12月發布的mysql-installer-community-5.7.17版本認識MySQL數據庫2.MySQL使用優勢MySQL數據庫是開放源代碼的數據庫。保證了MySQL數據庫是一款可以自由使用的數據庫。MySQL數據庫的跨平臺性。MySQL不僅可以在Windows系列的操作系統上運行,還可以在UNIX、Linux和MacOS等操作系統上運行。MySQL的價格優勢。功能強大使用方便。MySQL數據庫是一個多用戶、多線程SQL數據庫服務器,它是C/S結構的實現,由一個服務器守護程序mysqlId和很多不同的客戶程序和庫組成。MySQL能夠快速、有效和安全的處理大量的數據,并達到是快速、健壯和易用的目標。認識MySQL數據庫3.MySQL系統特性使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。并為PHP、Java、C、C++、Python、Perl、Eiffel、Ruby和Tcl等多種編程語言提供了應用程序接口API。支持Windows、Linux、MacOS、AIX、FreeBSD、HP-UX、NovellNetware、OpenBSD、OS/2Wrap以及Solaris等多種操作系統。MySQL支持多線程,能夠充分利用CPU資源。能夠自動優化SQL查詢算法,有效地提高了信息查詢速度。認識MySQL數據庫3.MySQL系統特性能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也可以作為一個庫嵌入到其他軟件中。提供多種自然語言支持,常見的編碼如中文的GB2312、BIG5及國際通用轉換格式UTF-8等,都可以用作數據表名和數據列名。提供TCP/IP、ODBC和JDBC等多種數據庫連接技術。支持多種存儲引擎,提供用于管理、檢查、優化數據庫操作的管理工具。具有大型數據庫所有常用功能,可以處理擁有億萬條記錄級的海量數據。認識MySQL數據庫4.MySQL發行版本MySQL的目前一般可用版本已經經過嚴格標準的測試,可以保證其安全可靠地使用。根據操作系統的類型來劃分,大體上可以分為
Windows版、UNIX版、Linux版和MacOS版。如果要下載MySQL數據庫,要了解自己的操作系統,然后根據操作系統來下載相應的MySQL數據庫。根據發布順序來劃分,MySQL數據庫可以分為4.0、5.0、5.1以及5.7等系列版本。認識MySQL數據庫4.MySQL發行版本MySQL的目前一般可用版本已經經過嚴格標準的測試,可以保證其安全可靠地使用。根據MySQL數據庫的開發情況,可將其分為Alpha、Beta、Gamma和GenerallyAvailable等版本。Alpha:處于開發階段的版本,可能會增加新的功能或進行重大修改。Beta:處理測試階段的版本,開發已經基本完成,但是沒有進行全面的測試。Gamma:該版本是發行過一段時間的Beta版,比Beta版要穩定一些。GenerallyAvailable:該版本已經足夠穩定,可以在軟件開發中應用。有些資料會將該版本稱為Production版。認識MySQL數據庫4.MySQL發行版本MySQL的目前一般可用版本已經經過嚴格標準的測試,可以保證其安全可靠地使用。根據MySQL數據庫用戶群體的不同,將其分為社區版(CommunityEdition)和企業版(Enterprise)。社區版是自由下載而且是免費開源的,但是沒有官方的技術支持。企業版提供了最全面的高級功能、管理工具和技術支持,實現了最高水平的MySQL數據庫可擴展功能、安全性、可靠性和無故障運行時間。認識MySQL數據庫5.MySQL5.7的新功能支持JSON。JSON(JavaScriptObjectNotation的縮寫)是一種存儲信息的格式,可以很好地替代XML。性能和可擴展性。改進InnoDB的可擴展性和臨時表的性能,從而實現更快的網絡和大數據加載等操作。改進復制以提高可用性的性能。改進復制包括多源復制、多從線程增強、在線GTIDs和增強的半同步復制。
性能模式提供更好的視角。增加了許多新的監控功能,以減少空間和過載,使用新的SYS模式顯著提高易用性。認識MySQL數據庫5.MySQL5.7的新功能保證數據庫的安全。以安全第一為宗旨,提供了很多新的功能,從而保證數據庫的安全。對多種性能進行了優化。重寫了大部分解析器、優化器和成本模型,這提高了可維護性、可擴展性和性能。支持GIS(Geographicinformationsystem,地理信息系統)。MySQL5.7全新的功能,包括InnoDB空間索引和Boost幾何,同時提高完整性和標準符合性。數據庫的基本概念1.信息與數據庫數據和信息數據(Data)是描述事物的符號記錄,它有多種表現形式,可以是文本、圖表、圖形、圖像、聲音、語言、視頻等。信息(Information)是具有特定意義的數據。信息不僅具有能夠感知、存儲、加工、傳播和再生等自然屬性,同時也是具有重要價值的社會資源。信息是用一定的規則或算法篩選的數據集合。數據庫的基本概念1.信息與數據庫數據庫數據庫(Database,DB)是長期存儲在計算機內、有組織、可共享的大量數據的集合。數據庫中的數據需要創建數據模型來描述,如網絡、層次、關系模型。在數據庫中的數據具有冗余度小、獨立性高和易擴展性的特點。數據庫的基本概念1.信息與數據庫數據庫。可以利用MySQL軟件創建一個的教務管理數據庫teaching,將學生的基本信息(學號、姓名、性別、出生日期、手機號等)存放在一起,就可以創建teaching數據庫中的一個學生信息表student,如表1-1所示。
將學生成績信息(學號、課程號、平時成績、期末成績)等信息存放在一起,就可以創建teaching數據庫中的學生成績表score,如表1-2所示。studentnosnamesexBirthdatephon偉業男1999-09-091319876543118137221508曲梅影女2000-12-1218278965439…..……………………studentnocoursenodailyfina06108899818137221508c051099596…..……………….數據庫的基本概念2.結構化查詢語言SQLSQL語言是用于管理數據的一種數據庫查詢和程序設計語言。其主要用于存取、查詢和更新數據,還能夠管理關系數據庫系統的數據庫對象。SQL語言特點一體化:SQL集數據定義DDL、數據操縱DML和數據控制DCL于一體,可以完成數據庫中的全部工作。使用方式靈活:它具有兩種使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、Fortran、COBOL和Java等主語言中使用。數據庫的基本概念2.結構化查詢語言SQLSQL語言特點非過程化:只需要提供操作要求,不必描述操作步驟,也不需要導航。使用時只需要告訴計算機“做什么”,而不需要告訴它“怎么做”。語言簡潔,語法簡單,好學好用:在ANSI標準中,只包含了94個英文單詞,核心功能只用6個動詞,語法接近英語口語。數據庫的基本概念2.結構化查詢語言SQLSQL查詢語言的組成數據定義語言(DataDefinitionLanguage,DDL):其語句包括動詞create、alter和drop。在數據庫中創建、修改或刪除數據庫對象,如表、索引、視圖、存儲過程、觸發器、事件等。數據操作語言(DataManipulationLanguage,DML):包括動詞select、insert、update和delete。它們分別用于查詢、插入、修改和刪除表中的數據行等。select是用得最多的動詞,其他DQL常用的保留字有where、orderby、groupby和having。數據庫的基本概念2.結構化查詢語言SQLSQL查詢語言的組成數據控制語言(DCL):包括grant語句和revoke等語句。通過grant語句獲得權限許可,revoke可以撤銷權限許可,確定單個用戶和用戶組對數據庫對象的訪問權限。事務處理語言(TPL):TPL語句能確保被DML語句影響的表的所有行及時得以更新。TPL語句包括begintransaction、commit和rollback。指針控制語言(CCL):CCL語句,像declarecursor,fetchinto和updatewherecurrent用于對一個或多個表單獨行的操作。數據庫的基本概念3.數據庫管理系統數據庫管理系統(DatabaseManagementSystem,DBMS)位于用戶和操作系統之間,是一種操縱和管理數據庫的大型軟件,用于建立、使用和維護數據庫。像Oracle、SQLServer和DB2都是常用的數據庫管理系統軟件。DBMS提供了數據定義語言(DDL)、數據操作語言(DML)和應用程序。數據庫管理系統是由多種不同的程序模塊組成,基本數據庫管理系統的系統架構包括4部分。數據庫的基本概念3.數據庫管理系統圖1-1數據庫管理系統架構數據庫的基本概念存儲管理(StorageManager)。數據庫管理系統通常會自行配置磁盤空間,將數據存入存儲裝置的數據庫。查詢處理(QueryProcessor)。負責處理用戶下達的查詢語言命令語句,可以再細分成多個模塊負責檢查語法、優化查詢命令的處理程序。事務管理(TransactionManager)。負責處理數據庫的事務,保障數據庫商業事務的操作需要,及并發控制管理(Concurrency-ControlManager)資源鎖定等。恢復管理(RecoveryManager)。恢復管理主要是日志管理(LogManager),負責記錄數據庫的所有操作,可以恢復數據庫系統存儲的數據到指定的時間點。數據庫的基本概念4.數據庫系統數據庫系統的組成圖1-2數據庫系統結構數據庫的基本概念數據庫系統的組成用戶(Users)。用戶執行DDL語言定義數據庫架構,使用DML語言新增、刪除、更新和查詢數據庫的數據,通過操作系統訪問數據庫的數據。數據(Data)。數據庫系統中的數據種類包括永久性數據、索引數據、數據字典和事務日志等。軟件(Software)。指在數據庫環境中使用的軟件,包括數據庫管理系統(DBMS)、應用程序和開發工具等。硬件(Hardware)。安裝數據庫相關軟件的硬件設備,包含主機(CPU、內存和網卡等)、磁盤陣列、光驅和備份裝置等。數據庫的基本概念數據庫系統的體系結構:
數據庫系統的體系結構主要包括如下幾種結構:集中式、客戶-服務器式、瀏覽器-服務器式和分布式等。集中式結構。集中式系統是指運行在一臺計算機上,不與其它計算機系統交互的數據庫系統,例如運行在個人計算機上的單用戶數據庫系統和運行在大型主機上的高性能數據庫系統。C/S結構。C/S結構的客戶端系統主要包括圖形用戶界面工具、表格及報表生成和書寫工具等;服務器系統負責數據的存取和控制,包括故障恢復和并發控制等。客戶機通過網絡將要求傳遞給服務器,服務器按照客戶機的要求返回結果。關系型數據庫理論1.概念模型及其表示方法實體的概念實體(Entity)。客觀存在并可以相互區分的事物叫實體。例如,在學校里,一名學生、一名教師、一門課程等都稱為實體。屬性(Attribute)。屬性是實體所具有的某些特性,通過屬性對實體進行描述。實體是由屬性組成的。主鍵(PrimaryKey)。一個實體中有一個屬性或者多個屬性構成的子集能夠唯一標識整個屬性集合,則稱該屬性子集為屬性集合的主鍵。關系型數據庫理論1.概念模型及其表示方法實體的概念實體型(EntityType)。用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。例如,學生(學號,姓名,性別,出生日期,班級,入學成績)就是一個實體型。實體集(EntitySet)。同型實體的集合稱為實體集。例如,全體學生就是一個實體集。聯系(Relationship)。現實世界的事物之間是有聯系的。這些聯系必然要在信息世界中加以反映。例如,教師實體與學生實體之間存在著教和學的聯系。關系型數據庫理論1.概念模型及其表示方法實體之間的聯系一對一的聯系(1∶1)。對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯系。一對多聯系(1∶M)。對于實體集A中的每1個實體,實體集B中有M個實體(M≥2)與之聯系。多對多聯系(M∶N)。對于實體集A中的每一個實體,實體集B中有N個實體(N≥0)與之聯系關系型數據庫理論1.概念模型及其表示方法實體之間的聯系圖1-3兩個實體集之間的聯系關系型數據庫理論1.概念模型及其表示方法概念模型的表示方法實體型表示建立概念模型的對象,用長方框表示,在框內寫上實體名。實體屬性是實體的說明。用橢圓框表示實體的屬性,并用無向邊把實體與其屬性連接起來。實體間的聯系是兩個或兩個以上實體類型之間的有名稱的關聯。實體間的聯系用菱形框表示,菱形框內要有聯系名,并用無向邊把菱形框分別與有關實體相連接,在無向邊的旁邊標上聯系的類型關系型數據庫理論1.概念模型及其表示方法概念模型的表示方法圖1-4實體、實體屬性及實體聯系模型關系型數據庫理論2.常用數據模型數據模型的三要素數據結構。數據結構用于描述數據庫系統的靜態特性。數據結構所研究是數據本身的類型、內容和性質,以及數據之間的關系。數據操作。數據操作是對數據庫中對象實例允許執行的操作集合,主要指檢索和更新(插入、刪除、修改)等操作完整性約束條件。數據完整性約束是一組完整性規則的集合,它規定數據庫狀態及狀態變化所應滿足的條件,以保證數據的正確性、有效性和相容性。關系型數據庫理論2.常用數據模型常用數據模型層次模型。層次數據庫的數據結構類似一顆倒置的樹,每個節點表示一個記錄類型,記錄之間的聯系是一對多的聯系,現實世界中很多事物是按層次組織起來的。網狀模型。網狀數據庫是用來處理以記錄類型為結點的網狀數據模型的數據庫。網狀模型采用網狀結構表示實體及其之間的聯系。關系模型。關系數據庫是目前流行的數據庫。關系型數據庫理論2.常用數據模型常用數據模型面向對象模型(ObjectOrientedModel)。面向對象模型采用面向對象的方法來設計數據庫。面向對象的數據庫存儲對象是以對象為單位,每個對象包含對象的屬性和方法,具有類和繼承等特點。ComputerAssociates的Jasmine就是面向對象模型的數據庫系統。關系型數據庫理論3.關系運算關系模型中的基本運算選擇。從一個表中找出滿足指定條件的記錄行形成一個新表的操作稱為選擇。選擇關系運算如圖1-6所示。
例如,在student關系中查詢所有sex為“女”的學生。圖1-5選擇關系關系型數據庫理論3.關系運算關系模型中的基本運算投影。投影是從列的角度進行的運算,通過對表中的字段進行選擇或重組,得到新的表。投影關系運算如圖1-7所示。例如,在student關系中查詢所有學生的studentno和birthday。圖1-6投影關系關系型數據庫理論3.關系運算關系模型中的基本運算連接。連接是將兩個表中的行按一定的條件橫向結合,形成一個新的表。連接關系運算如圖1-8所示。例如,查詢學生的sname和final,2個數據項分來自student關系和score關系,需要在2個關系連接之后,再從中按照一定條件篩選出sname和final的數據。圖1-7連接關系關系型數據庫理論3.關系運算關系模型的規范化設計
數據依賴是一個關系內部屬性與屬性之間的一種約束關系。這種約束關系是通過屬性間值的相等與否體現出來的數據間相關聯系,它是現實世界屬性間相互聯系的抽象,是數據內在的性質,是語義的體現。
在數據庫設計時,有一些專門的規則,稱為數據庫的設計范式,遵守這些規則,將創建設計良好的數據庫,下面將逐一講解數據庫設計中的著名的范式理論。關系型數據庫理論3.關系運算關系模型的規范化設計第一范式(1NF)的目標是確保每列的原子性。如果每列都是不可再分的最小數據單元,則滿足第一范式第二范式(2NF)在第一范式的基礎上,要求確保表中的每列都和主碼相關,即每一個非主屬性都要完全函數依賴于主碼。
第三范式(3NF)是在第二范式的基礎上,要求確保表中的每列都和碼直接相關,而不是間接相關。如果一個關系滿足2NF,并且除了碼以外的其他列都不相互依賴,則滿足第三范式(3NF)。關系型數據庫理論3.關系運算關系的數據完整性實體完整性。實體完整性是指關系的主關鍵字不能取“空值”。在關系模式中,以主關鍵字作為唯一性標識,如果主關鍵字是多個屬性的組合,那么所有主屬性均不得取空值。域完整性。確保屬性中只允許一個有效數據。在物理數據庫中,可以利用表中的數據類型和行可空性強制執行域完整性。關系型數據庫理論3.關系運算關系的數據完整性參照完整性。參照完整性是定義建立關系之間聯系的主關鍵字與外部關鍵字引用的約束條件。關系數據庫中通常包含多個存在相互聯系的關系,關系與關系之間的聯系是通過公共屬性來實現的。事務完整性。事務可以確保每個邏輯單元的工作作為單個事務執行。用戶定義完整性。用戶定義完整性則是根據應用環境的要求和實際的需要,對某一具體應用所涉及的數據提出約束性條件。MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
在Windows操作系統下,MySQL數據庫的安裝一般選擇圖形化界面安裝,圖形化界面包有完整的安裝向導,安裝和配置非常方便。安裝準備。在安裝之前,需要到MySQL數據庫的官方網站(/downloads)上找到要安裝的數據庫版本并進行下載。當然,讀者也可以直接在一些搜索引擎中搜索下載鏈接。MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
安裝MySQL數據庫的簡單過程MySQL下載完成后找到下載到本地的文件,并且解壓縮包,簡單安裝步驟如下。(1)
雙擊MySQL安裝程序(mysql-installer-community-.msi),彈出如圖1-8所示的“打開文件-安全警告”窗口。圖1-8安裝MySQL時彈出的窗口MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
安裝MySQL數據庫的簡單過程(2)在圖1-8所示的窗口中單擊“運行”按鈕,進入MySQLInstaller的協議許可協議界面,如圖1-9所示,選擇Iacceptthelicenseterms按鈕,表示接受用戶安裝時的許可協議。圖1-9用戶許可協議界面MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
安裝MySQL數據庫的簡單過程(3)單擊next按鈕,進入安裝類型選擇界面如圖1-10所示。可以選擇需要的版本,左側提供5種安裝類型默認選中DeveloperDefault選項。Serveronly表示僅作為服務器Clientonly表示僅作為客戶端Full表示完全安裝類型Custom表示自定義安裝類型。
圖1-10安裝類型選擇界面MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
安裝MySQL數據庫的簡單過程(4)單擊next按鈕,進入將要安裝或更新的應用程序界面如圖1-11所示。圖1-11將要安裝或更新的應用程序MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
安裝MySQL數據庫的簡單過程(5)單擊Execute按鈕,進入賬戶和角色界面,按要求設置root賬戶密碼。如圖1-12為root用戶設置密碼圖1-12為root用戶設置密碼MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
安裝MySQL數據庫的簡單過程(6)單擊next按鈕,如圖1-13所示,進入開始安裝和配置MySQL服務器界面,依次按照提示,保持默認選擇,就可以進入安裝完成后的界面,如圖1-14所示。
圖1-13開始安裝服務器MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
安裝MySQL數據庫的簡單過程
單擊圖1-14所示的Finish按鈕就可以運行MySQL數據庫了。圖1-14安裝完成MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
MySQL服務的配置(1)右擊“計算機”圖標,在彈出的快捷菜單中選擇“屬性”命令,在彈出的對話框中選擇“高級系統設置”,彈出“系統屬性”對話框,如圖1-15所示。圖1-15系統屬性對話框MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
MySQL服務的配置(2)在“系統屬性”對話框中,選擇“高級”選項,單擊“環境變量”按鈕,彈出“環境變量”對話框,如圖1-16所示。圖1-16環境變量對話框MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
MySQL服務的配置(3)在“環境變量”對話框中,定位到“系統變量”中的path選項,單擊“編輯”按鈕,將彈出“編輯系統變量”對話框,如圖1-17所示。圖1-17編輯系統變量對話框(4)在“編輯系統變量”對話框中,將MySQL服務器的bin文件夾位置(G:\ProgramFiles\MySQL\MySQLServer5.7\bin)添加到變量值文本框中,注意要使用“;”與其他變量值進行分隔,最后,單擊“確定”按鈕。MySQL數據庫軟件的使用1.MySQL5.7安裝和配置步驟
MySQL服務的配置(5)環境變量設置完成后,再使用MySQL命令即可成功連接MySQL服務器。(6)斷開MySQL服務器。連接到MySQL服務器后,可以通過在MySQL提示符下輸入exit或者quit命令斷開MySQL連接,格式如下:mysql>quit;MySQL數據庫軟件的使用2.MySQL的工作流程MySQL數據庫的工作流程如圖1-18所示圖1-18MySQL數據庫的工作流程MySQL數據庫軟件的使用2.MySQL的工作流程(1)操作系統用戶啟動MySQL服務。(2)MySQL服務啟動期間,首先將配置文件中的參數信息讀入服務器內存。(3)根據MySQL配置文件的參數信息或者編譯MySQL時參數的默認值生成一個服務實例進程Instance。(4)MySQL服務實例進程派生出多個線程為多個客戶機提供服務。(5)數據庫用戶訪問MySQL服務器的數據時,首先需要選擇一臺登錄主機,然后在該登錄主機上開啟客戶機,輸入正確的賬戶名、密碼,建立一條客戶機與服務器之間的“通信鏈路”。(6)接著數據庫用戶就可以在MySQL客戶機上輸入MySQL命令或SQL語句,這些MySQL命令或SQL語句沿著該通信鏈路傳送給MySQL服務實例,這個過程稱為客戶機向MySQL服務器發送請求。(7)MySQL服務實例負責解析這些MySQL命令或SQL語句,并選擇一種執行計劃運行這些MySQL命令或SQL語句,然后將執行結果沿著通信鏈路返回給客戶機,這個過程稱為MySQL服務器向MySQL客戶機返回響應。(8)數據庫用戶關閉MySQL客戶機,通信鏈路被斷開,該客戶機對應的MySQL會話結束。MySQL數據庫軟件的使用3.MySQL數據庫工具簡介MySQL數據庫管理系統提供了許多命令行工具,這些工具可以用來管理MySQL服務器、對數據庫進行訪問控制、管理MySQL用戶以及數據庫備份和恢復工具等。另外,MySQL還提供了圖形化的管理工具,這使得對數據庫的操作更加簡單。MySQL服務器端的常用工具MySQL數據庫軟件的使用3.MySQL數據庫工具簡介
MySQL服務器端的常用工具(1)mysqld:SQL后臺程序(即MySQL服務器進程)。該程序必須運行之后,客戶端才能通過連接服務器來訪問數據庫。(2)mysqld_safe:服務器啟動腳本。在UNIX和NetWare中推薦使用mysqld_safe來啟動mysqld服務器。mysqld_safe增加了一些安全特性,例如當出現錯誤時重啟服務器并向錯誤日志文件寫入運行時間信息。MySQL數據庫軟件的使用3.MySQL數據庫工具簡介
MySQL服務器端的常用工具(3)mysql.server:服務器啟動腳本。在UNIX中的MySQL分發版包括mysql.server腳本。該腳本用于使用包含為特定級別的、運行啟動服務的腳本的、運行目錄的系統。它調用mysqld_safe來啟動MySQL服務器。(4)mysql_multi:服務器啟動腳本,可以啟動或停止系統上安裝的多個服務器。MySQL數據庫軟件的使用3.MySQL數據庫工具簡介
MySQL服務器端的常用工具(5)myisamchk:用來描述、檢查、優化和維護MyISAM表的實用工具。(6)mysqlbug:MySQL缺陷報告腳本。它可以用來向MySQL郵件系統發送缺陷報告。(7)mysql_install_db:該腳本用默認權限創建MySQL授權表。通常只是在系統上首次安裝MySQL時執行一次。MySQL數據庫軟件的使用3.MySQL數據庫工具簡介
MySQL客戶端常用工具(1)myisampack:壓縮MyISAM表以產生更小的只讀表的一個工具。(2)mysql:交互式輸入SQL語句或從文件以批處理模式執行它們的命令行工具。(3)mysqlaccess:檢查訪問主機名、用戶名和數據庫組合的權限的腳本。MySQL數據庫軟件的使用3.MySQL數據庫工具簡介
MySQL客戶端常用工具(4)MySQLadmin:執行管理操作的客戶程序,例如創建或刪除數據庫,重載授權表,將表刷新到硬盤上,以及重新打開日志文件。MySQLadmin還可以用來檢索版本、進程,以及服務器的狀態信息。(5)mysqlbinlog:從二進制日志讀取語句的工具。在二進制日志文件中包含執行過的語句,可用來幫助系統從崩潰中恢復。(6)mysqlcheck:檢查、修復、分析以及優化表的表維護客戶程序。MySQL數據庫軟件的使用3.MySQL數據庫工具簡介
MySQL客戶端常用工具(7)mysqldump:將MySQL數據庫轉儲到一個文件(例如SQL語句或tab分隔符文本文件)的客戶程序。(8)mysqlhotcopy:當服務器在運行時,快速備份MyISAM或ISAM表的工具。(9)mysqlimport:使用loaddatainfile將文本文件導入相關表的客戶程序。(10)mysqlshow:顯示數據庫、表、列以及索引相關信息的客戶程序。(11)perror:顯示系統或MySQL錯誤代碼含義的工具。MySQL數據庫軟件的使用4.MySQL的啟動和登錄MySQL數據庫安裝完成后可以在DOS窗口登錄數據庫執行語句。MySQL數據庫分為客戶端和服務器端,下面將介紹啟動MySQL服務和登錄MySQL數據庫兩部分內容。啟動MySQL服務
在安裝MySQL數據庫的過程中,可以設置了MySQL服務的自動啟動。如果MySQL服務沒有啟動,Windows操作系統通常通過兩種方式進行啟動。MySQL數據庫軟件的使用4.MySQL的啟動和登錄
啟動MySQL服務
(1)cmd控制臺啟動。這種方式非常簡單,netstartmysql57表示啟動MySQL服務,netstopmysql57表示關閉MySQL服務。(2)手動啟動。執行“開始”
“設置”
“控制面板”
“管理工具”
“服務”命令進行設置,打開的窗口如圖1-19所示(執行“開始”
“運行”命令并輸入services.msc后按Enter鍵也可以彈出圖1-19所示的窗口)。
圖1-19“服務”窗口MySQL數據庫軟件的使用4.MySQL的啟動和登錄啟動MySQL服務
在圖1-20中可以更改MySQL服務的啟動類型,選中MySQL57服務項右擊,在彈出的快捷菜單中選擇“屬性”命令,彈出如圖1-20所示的對話框。圖1-20更改服務的啟動類型從圖1-20中可以看到,可以更改服務狀態為“停止”、“暫停”和“恢復”,還可以設置服務的啟動類型。在“啟動類型”下拉列表框中可以選擇“自動”、“手動”和“已禁用”選項,說明如下。MySQL數據庫軟件的使用4.MySQL的啟動和登錄啟動MySQL服務自動:MySQL服務自動啟動,可以手動將服務狀態變為停止、暫停和重新啟動等。如果讀者經常練習MySQL數據庫的操作,最好將MySQL設置為自動啟動,這樣可以避免每次手動啟動MySQL服務。手動:MySQL服務需要手動啟動,啟動后可以改變服務狀態,如停止和暫停等。如果讀者使用MySQL數據庫的頻率很低,可以考慮將MySQL服務設置為手動啟動,這樣可以避免MySQL服務長時間占用系統資源。已禁用:MySQL服務不能啟動,也不能改變服務狀態。MySQL數據庫軟件的使用4.MySQL的啟動和登錄登錄MySQL數據庫MySQL服務啟動后,可以通過客戶端來登錄MySQL數據庫。Windows操作系統下有兩種登錄MySQL數據庫的方式:執行cmd命令,在打開的DOS窗口中以命令行的方式登錄MySQL數據庫;在MySQL客戶端直接登錄數據庫。MySQL數據庫軟件的使用4.MySQL的啟動和登錄登錄MySQL數據庫(1) 在DOS窗口中登錄MySQL數據庫。通過DOS窗口登錄MySQL數據庫執行語句時,可以執行“開始”
“運行”命令,在彈出的對話框中輸入cmd后按Enter鍵,即可進入DOS窗口。
登錄成功后會出現“WelcometotheMySQLmonitor”的歡迎語。C:\Users\Administrator>netstartmysql57請求的服務已經啟動。C:\Users\Administrator>mysql-uroot-pEnterpassword:****Mysql>上述執行語句的代碼中,-u后面緊跟著數據庫的用戶名,此處使用root用戶進行登錄;-p表示用戶密碼,按Enter鍵輸入密碼,輸入的密碼使用星號(*)表示。MySQL數據庫軟件的使用4.MySQL的啟動和登錄登錄MySQL數據庫
(2) MySQL客戶端登錄數據庫。在Windows7操作系統中,執行“開始”
“所有程序”
MySQL
MySQL5.7目錄。MySQLCommandLineClientMySQLCommandLineClient-Unicode
它們都是MySQL客戶端的命令行工具,也可以稱為MySQL的DOS窗口或控制臺。通過在控制臺中執行語句可以登錄MySQL數據庫,然后執行其他的相關SQL語句進行操作。MySQL數據庫軟件的使用4.MySQL的啟動和登錄登錄MySQL數據庫DOS窗口和控制臺包含一些說明性的語句如下:Commandsendwith;or\g:說明MySQL控制臺下的命令是以分號(;)或“\g”來結束的,遇到這個結束符就開始執行命令。YourMySQLconnectionidis5:id表示MySQL數據庫的連接次數,如果數據庫是新安裝的,且是第一次登錄,則顯示1。如果安裝成功后已經登錄過,將會顯示其他的數字。Serverversion:Serverversion之后的內容表示當前數據庫版本,這里安裝的版本是5.7.17-enterprise-commercial-advanced。Type'help;'or'\h'forhelp:表示輸入“help;”或者\h可以看到幫助信息。Type‘\c’toclearthecurrentinputstatement:表示遇到\c就清除當前輸入語句。MySQL數據庫軟件的使用4.MySQL的啟動和登錄登錄MySQL數據庫例如,登錄MySQL數據庫成功后可以直接輸入“help;”或\h查看幫助信息,直接在控制臺中輸入“help;”語句按Enter鍵,輸出結果如下:
mysql>help……幫助信息Mysql>MySQL數據庫軟件的使用4.MySQL的啟動和登錄登錄MySQL數據庫
mysql>selectnow();++|now()|++|2018-01-1010:10:00|++1rowinset(0.05sec)mysql>MySQL數據庫軟件的使用5.MySQL的圖形管理工具MySQL的圖形管理工具有很多,常用的有MySQLWorkbench、phpMyAdmin和Navicat等軟件。本書選用MySQLWorkbench軟件作為可視化操作的管理工具MySQLWorkBench軟件的安裝步驟如下:
(1)雙擊安裝文件“mysql-workbench-community-6.2.5-win32.msi”。進入“安全警告”界面,單擊next按鈕,進入安裝向導界面,如圖1-21所示。圖1-21開始安裝MySQL數據庫軟件的使用5.MySQL的圖形管理工具(3)依次單擊next按鈕,以此進入選擇安裝類型、和準備安裝項目界面。如圖1-23所示。圖1-23安裝準備MySQL數據庫軟件的使用5.MySQL的圖形管理工具(4)單擊Install按鈕,進入安裝過程,最后單擊Finish按鈕,即可完成MySQLWorkbench軟件的安裝,如圖1-24所示。圖1-24完成安裝MySQL數據庫軟件的使用5.MySQL的圖形管理工具(5)選擇“開始”
“所有程序”,按照如圖1-25所示,圖1-25執行MySQLWorkbench6.2CE命令MySQL數據庫軟件的使用5.MySQL的圖形管理工具
單擊MySQL下的MySQLWorkbench6.2CE命令,即可進入如圖1-26的MySQLWorkbench界面,接下來就可以利用MySQLWorkbench軟件實現MySQL數據庫的可視化操作了。
在圖1-26中,MySQLWorkbench工具包含以下4個基本功能區域。圖1-26MySQLWorkbench工具頁面在圖1-26中,MySQLWorkbench工具包含以下4個基本功能區域。主菜單:實現MySQL的主要功能操作。Shortcut(快捷方式):完整的可視化數據庫設計和建模。MySQLConnections:連接信息.Models:連接方式、MySQLWorkbench工具版本信息。MySQL數據庫軟件的使用5.MySQL的圖形管理工具(6)創建連接。在圖形界面中最常用的還是對數據庫的基本操作,例如,執行SQL語句實現數據庫的添加、數據庫表的添加和數據添加、刪除以及修改等操作。如果要實現這些操作首先要連接到數據庫,單擊主菜單Database|ManageConnections命令,彈出ManageServerConnections對話框。在如圖1-27所示的對話框中輸入連接名稱,輸入完成后單擊TestConnection按鈕進行測試,輸入root密碼,測試成功后如圖1-28所示,單擊OK按鈕。返回主界面單擊Close按鈕即可完成連接。圖1-27連接參數設置小結本章介紹了數據的基本概念、數據模型、數據庫分類以及MySQL數據庫的基本知識。還介紹了有關數據庫設計的基本方法,為后續章節的學習打下基礎。關于數據庫范式的知識難度比較大,讀者只要能夠了解相關知識就行了。學習本章需要重點掌握如下內容:數據庫管理系統的功能和組成。關系數據庫的基本理論。數據庫系統的基本組成。在安裝、啟動和配置MySQL的基本過程。ThankYou!ThankYou!2025/6/582
MySQL
數據庫應用與開發
--姜桂洪制作
2025/6/583/清華大學出版社第2章MySQL語言基礎842025/6/5MySQL的基本語法要素1MySQL的數據類型2MySQL的運算符和表達式3內容提要MySQL的常用函數4MySQL語言是一系列操作數據庫及數據庫對象的命令語句,因此使用MySQL數據庫就必須掌握構成其基本語法和流程語句的語法要素,這主要包括常量、變量、關鍵詞、運算符、函數、表達式和控制流語句等。字符集是最基本的MySQL腳本組成部分,也是MySQL數據庫對象的描述符號。本章主要介紹MySQL的基本語法要素。MySQL的基本語法要素MySQL能夠支持39種字符集和127個校對原則。本節著重介紹latin1、UTF-8和gb2312字符集的用法,同時也介紹常量、變量、標識符和關鍵詞的使用。1.字符集與標識符字符集與標識符。
字符集及字符序概念。字符(Character)是指人類語言中最小的表義符號。例如‘A’、‘7’、“%”等字母、數字和特殊符號。字符校對原則(Collation)也稱為字符序,是指在同一字符集內字符之間的比較規則。MySQL的基本語法要素1.字符集與標識符字符集與標識符字符集只有在確定字符序后,才能在一個字符集上定義什么是等價的字符,以及字符之間的大小關系。每個字符序唯一對應一種字符集,但一個字符集可以對應多種字符校對原則,其中有一個是默認字符校對原則(DefaultCollation)。MySQL服務器默認的字符集是latin1。MySQL的字符集支持可以細化到4個層次:服務器(Server)、數據庫(DataBase)、數據表(Table)和連接層(Connection)。如果不進行設置,那么連接層級、客戶端級和結果返回級、數據庫級、表級、字段級都默認使用latin1字符集。MySQL的基本語法要素1.字符集與標識符字符序與常用字符集MySQL的字符集通過showcharacterset語句查看。在命令窗口中執行如下命令,即可查看到MySQL的39種字符集。mysql>showcharacterset;對于任何一個給定的字符集至少有一個校對原則,也可能有幾個校對原則。例如,執行顯示latin1系列的命令:
mysql>showcollationlike‘latin1%’;圖2-1latin1系列字符序MySQL的基本語法要素1.字符集與標識符字符集與標識符(說明)系統啟動時默認的字符集是latin1。UTF-8是針對Unicode字符的一種變長字符編碼。例如,如果是UTF-8編碼,則在外國人的英文IE上也能顯示中文,他們無需下載IE的中文語言支持包。gb2312是簡體中文字符集,GBK是是在國家標準GB2312基礎上擴容后兼容GB2312的標準。GBK、GB2312等與UTF-8之間都必須通過Unicode編碼才能相互轉換。對于一個網站、論壇來說,如果英文字符較多,則建議使用UTF-8節省空間。不過現在很多論壇的插件一般只支持GBK。MySQL的基本語法要素1.字符集與標識符標識符和關鍵字。MySQL的腳本由一條或多條MySQL語句組成,腳本文件后綴名一般為.sql。標識符。標識符用來命名一些對象,其通用命名規則是:標識符由以字母或下劃線開頭的字母、數字或下劃線(_)序列組成。對于標識符是否區分大小寫取決于當前的操作系統,Windows下是不敏感的,但對于大多數linux\unix系統來說,這些標識符大小寫是敏感的。關鍵字。MySQL的關鍵字眾多,不同版本的MySQL語言關鍵詞也略有變化。MySQL5.7大約有400個左右關鍵詞。所有關鍵字有自己特定的含義,盡量避免作為標識符。MySQL的基本語法要素2.MySQL字符集的轉換過程編譯MySQL時,系統默認的字符集是latin1。可以通過如下方法進行轉換。(1)最簡單的修改方法,就是修改MySQL的my.ini(C:\ProgramFiles\MySQL\MySQLServer5.7)文件中的字符集,查找[mysql]鍵值,在下面加上一行“default-character-set=utf8”。修改完后,重啟MySQL的服務,使用下列語句查看,發現數據庫編碼均已改成utf8。
mysql>showvariableslike'character%'MySQL的基本語法要素2.MySQL字符集的轉換過程(2)還有一種修改字符集的方法,就是使用MySQL的命令。用命令行的方式修改,只是臨時更改,當服務器重啟后,又將恢復默認設置。mysql>setcharacter_set_client=utf8;mysql>setcharacter_set_connection=utf8;mysql>setcharacter_set_database=utf8;mysql>setcharacter_set_results=utf8;mysql>setcharacter_set_server=utf8;MySQL的基本語法要素2.MySQL字符集的轉換過程(3)如果設置表的MySQL默認字符集為utf8,并且通過UTF-8編碼發送查詢,有時存入數據庫的仍然是亂碼。問題就出在這個connection連接層上。解決方法是在發送查詢前執行一下下面這個句子。MySQL>setnameS('UTF8')。與這3個語句等價。mysql>setcharacter_set_client=(UTF8); mysql>setcharacter_set_results=(UTF8);mysql>setcharacter_set_connection=(UTF8);MySQL的基本語法要素3.MySQL中的字符集層次設置MySQL對于字符集的支持細化到4個層次:服務器(Server)、數據庫(DataBase)、數據表(Table)和連接(Connection)。MySQL對于字符集的指定可以細化到一個數據庫、一張表和一列,可以細化到應該用什么字符集。MySQL用下列的系統變量描述字符集。(1)character_set_server和collation_server:這兩個變量是服務器的字符集,默認的內部操作字符集。(2)character_set_client:客戶端來源數據使用的字符集,這個變量用來決定MySQL怎么解釋客戶端發到服務器的SQL命令文字。MySQL的基本語法要素3.MySQL中的字符集層次設置(3)character_set_connection和collation_connection:連接層字符集。這兩個變量用來決定MySQL怎么處理客戶端發來的SQL命令。(4)character_set_results:查詢結果字符集,當SQL有結果返回的時候,這個變量用來決定發給客戶端的結果中文字量的編碼。(5)character_set_database和collation_database:當前選中數據庫的默認字符集,createdatabase命令有兩個參數可以用來設置數據庫的字符集和比較規則。MySQL的基本語法要素3.MySQL中的字符集層次設置(6)character_set_system:系統元數據的字符集,數據庫、表和列的定義都是用的這個字符集。它有一個定值,是UTF-8。對于以“collation_”開頭的同上面對應的變量,用來描述字符集校對原則。表的字符集:createtable的參數里可以設置,為列的字符集提供默認值。列的字符集:決定本列的文字數據的存儲編碼。列的比較規則比collation_connection高。也就是說,MySQL會把SQL中的文字直接量轉成列的字符集后再與列的文字數據比較。圖2-3字符集的依附關系MySQL的基本語法要素4.常量和變量
常量。常量也稱為文字值或標量值,是指某個過程中值始終不改的量。MySQL的常量類型和用法如表2-1所示。MySQL的基本語法要素4.常量和變量
系統變量。變量就是在某個過程中,其值是可以改變的量。系統變量包括全局系統變量和會話系統變量兩種類型。全局變量和會話變量的區別:全局變量在MySQL啟動時由服務器自動將它們初始化為默認值,主要影響整個mysql實例的全局設置,大部分全局變量都是作為mysql的服務器調節參數存在。對全局變量的修改會影響到整個服務器。會話變量在每次建立一個新的連接時,由MySQL來初始化。會話變量的定義是前面加一個@符號,隨時定義和使用,會話結束就釋放。即對會話變量的修改,只會影響到當前的會話,也就是當前的數據庫連接。MySQL的基本語法要素4.常量和變量
大多數的系統變量應用于其他SQL語句時,必須在名稱前加兩個@符號。例如:select@@version,current_date;顯示系統變量清單的格式。show[global|session]variables[like‘字符串’]例如查看字符“a”開頭的系統變量命令如下:showvariableslike‘a%’MySQL的基本語法要素4.常量和變量
修改系統變量的值。在MySQL中,有的系統變量的值是不能改變的,如@@version和系統日期,而有些系統變量是可以通過set語句來修改的,例如將全局系統變量sort_buffer_size的值改為25000。set@@global.sort_buffer_size=25000;對于當前會話,把系統變量sql_select_limit的值設置為100set@@session.sql_select_limit=100;執行如下命令可以顯示。select@@local.sql_select_limit;//set@@local.sql_select_limit=default;MySQL的數據類型
數據類型是數據的一種屬性,其可以決定數據的存儲格式、有效范圍和相應的值范圍限制。
MySQL的數據類型包括字符串類型、整數類型、浮點數類型、定點數類型、日期和時間類型和二進制數據類型。在MySQL中創建表時,需要考慮為字段選擇哪種數據類型是最合適的。選擇了合適的數據類型,會提高數據庫的效率。MySQL的數據類型1.字符串類型字符串類型是在數據庫中存儲字符串的數據類型。字符串類型包括char、varchar、blob、text、enum和set。字符串類型可以分為2類:普通的文本字符串類型(char和varchar)和特殊類型(set和enum)。它們之間都有一定的區別,取值的范圍不同,應用的地方也不同。(1)普通的文本字符串類型,即char和varchar類型,char列的長度被固定為創建表所聲明的長度,取值在1~255之間;varchar列的值是變長的字符串,取值和char一樣。下面介紹普通的文本字符串類型如表2-2所示。表2-2常規字符串類型類型取值范圍說明[national]char(m)[binary|ASCII|unicode]0~255個字符固定長度為m的字符串,其中m的取值范圍為0~255。National關鍵字指定了應該使用的默認字符集。Binary關鍵字指定了數據是否區分大小寫(默認是區分大小寫的)。ASCII關鍵字指定了在改列中使用latin1字符集。Unicode關鍵字指定了使用UCS字符集char0~255個字符Char(m)類似[national]varchar(m)[binary]0~255個字符長度可變,其他和char(m)類似MySQL的數據類型1.字符串類型(2)特殊類型set和enum。特殊類型set和enum的介紹如表2-3所示。表2-3enum和set類型類型最大值說明Enum(“value1”,“value2”,…)65535該類型的列只可以容納所列值之一或為nullSet(“value1”,“value2”,…)64該類型的列可以容納一組值或為nullMySQL的數據類型1.字符串類型說明:在創建表時,使用字符串類型時應遵循以下原則:(1)從速度方面考慮,要選擇固定的列,可以使用char類型。(2)要節省空間,使用動態的列,可以使用varchar類型。(3)要將列中的內容限制在一種選擇,可以使用enum類型。(4)允許在一個列中有多于一個的條目,可以使用set類型。(5)如果要搜索的內容不區分大小寫,可以使用text類型。MySQL的數據類型2.數字類型數字類型總體可以分成整型和浮點型兩類。整數類型。整數類型是數據庫中最基本的數據類型。標準SQL中支持integer和smallint這兩類整數類型。這些類型包括準確數字的數據類型(numeric、decimal、integer和smallint),還包括近似數字的數據類型(float、real和doubleprecision)。其中的關鍵詞int是integer的同義詞。表2-4整數數據類型數據類型取值范圍說明單位tinyint符號值:-127~127無符號值:0~255最小的整數1字節bit符號值:-127~127無符號值:0~255最小的整數1字節bool符號值:-127~127無符號值:0~255最小的整數1字節smallint符號值:-32768~32767無符號值:0~65535小型整數2字節mediumint符號值:-8388608~8388607無符號值:0~16777215中型整數3字節int符號值:-2147683648~2147683647無符號值:0~4294967295標準整數4字節bigint符號值:-9223372036854775808~9223372036854775807無符號值:0~18446744073709551615大整數8字節MySQL的數據類型2.數字類型數字類型總體可以分成整型和浮點型兩類。浮點數據類型。MySQL中使用浮點數類型和定點數類型來表示小數。浮點數類型包括單精度浮點數(float型)和雙精度浮點數(double型)。定點數類型就是decimal型,關鍵詞dec是decimal的同義詞。表2-5浮點數據類型
數據類型取值范圍說明單位float+(-)3.402823466E+38單精度浮點數8或4字節double+(-)1.7976931348623157E+308+(-)2.2250738585072014E-308雙精度浮點數8字節decimal可變一般整數自定義長度說明:在創建表時,使用哪種數字類型,應遵循以下原則。(1)選擇最小的可用類型,如果值永遠不超過127,則使用tinyint比int強。(2)對于完全都是數字的,可以選擇整數類型。(3)浮點類型用于可能具有小數部分的數。例如貨物單價、網上購物交付金額等。MySQL的數據類型3.日期和時間數據類型
日期與時間類型是為了方便在數據庫中存儲日期和時間而設計的。MySQL中有多種表示日期和時間的數據類型。其中,year類型表示年份;date類型表示日期;time類型表示時間;datetime和timestamp表示日期和時間。其中的每種類型都有其取值的范圍,如賦予它一個不合法的值,將會被“0”代替。下面介紹日期和時間數據類型,如表2-6所示。表2-6日期和時間數據類型類型取值范圍說明date1000-01-01日期,格式YYYY-MM-DDtime-838:58:59835:59:59時間,格式HH:MM:SSdatetime1000-01-0100:00:009999-12-3123:59:59日期和時間,格式YYYY-MM-DDHH:MM:SStimestamp1970-01-0100:00:002037年的某個時間時間標簽,在處理報告時使用顯示格式取決于M的值year1901-2155年份可指定兩位數字和四位數字的格式MySQL的數據類型4.二進制類型二進制類型是在數據庫中存儲二進制數據的數據類型。二進制類型包括binary、varbinary、bit、tinyblob、blob、mediumblob和longblob類型。tinytext、longtext和text等適合存儲長文本的類型,也放在這里介紹。其中,text和blob類型。它們的大小可以改變,text類型適合存儲長文本,而blob類型適合存儲二進制數據,支持任何數據,例如文本、聲音和圖像等。下面介紹text和blob類型,如表2-7所示。表2-7text和blob類型類型最大長度(字節數)說明tinyblob2^8~1(225)小blob字段tinytext2^8~1(225)小text字段blob2^16~1(65535)常規blob字段text2^16~1(65535)常規text字段mediumblob2^24~1(16777215)中型blob字段mediumtext2^24~1(16777215)中型text字段longblob2^32~1(4294967295)長blob字段longtext2^32~1(4294967295)長text字段MySQL的運算符和表達式運算符是用來連接表達式中各個操作數的符號,其作用是指明對操作數所進行的運算。MySQL數據庫通過使用運算符,不但可以使數據庫的功能更加強大,而且可以更加靈活的使用表中的數據。MySQL運算符包括4類,分別是算術運算符、比較運算符、邏輯運算符和位運算符。需要說明的是:MySQL中的select語句具有輸出功能,能夠顯示函數和表達式的值。MySQL的運算符和表達式1.算術運算符算術運算符是MySQL中最常用的一類運算符。MySQL支持的算術運算符包括:加、減、乘、除、求余。下面列出算術運算符的符號和作用,如表2-8所示。表2-8算術運算符符號作用+加法運算-減法運算*乘法運算/除法運算%求余運算div除法運算,返回商。同“/”mod求余運算,返回余數。同“%”說明:
加(+)、減(-)和乘(*)可以同時運算多個操作數。除號(/)和求余運算符(%)也可以同時計算多個操作數,但是這
兩個符號計算多個操作數不太好。div()和mod()這兩個運算符只有兩個參數。進行除法和求余的運算時,除以零的除法是不允許的,MySQL會返回null。MySQL的運算符和表達式1.算術運算符【例2.1】使用算術運算符進行加、減、乘、除、求余等運算。
mysql>select3+2,1.5*3,3/5,100-23.5,5%3;++++++|3+2|1.5*3|3/5|100-23.5|5%3|++++++|5|4.5|0.6000|76.5|2|++++++1rowinset(0.01sec)MySQL的運算符和表達式2.比較運算符比較運算符是查詢數據時最常用的一類運算符。select語句中的條件語句經常要使用比較運算符。通過這些比較運算符,可以判斷表中的哪些記錄是符合條件的。比較運算符的符號、名稱和應用示例如表2-9所示。
表2-9比較運算符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新解讀《CB-T 3875-1999船用一般吊桿》新解讀
- 政治●重慶卷丨2022年重慶市普通高中學業水平選擇性考試政治試卷及答案
- 泥磚工日清卡
- 2024年度中小企業發展環境評估報告
- 云杉花墨天牛寄主識別的關鍵信息物質研究
- 汽車傳感器與檢測技術電子教案:制冷劑壓力傳感器
- 汽車傳感器與檢測技術電子教案:卡爾曼渦流式空氣流量傳感器
- 溫州市河道生態建設技術研究招標文件
- 地震預警終端管理制度
- 中考地理復習教案第5課時 天氣和氣候
- 2025年廣西壯族自治區普通高中學業水平合格性考試生物模擬二 (含答案)
- 時尚飲品店區域代理權授權及合作協議
- 佛山市順德區人才發展服務中心招考4名工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年電子商務基礎知識考試試題及答案
- 2025年河北省中考乾坤押題卷物理試卷B及答案
- 國家開放大學《藥物治療學(本)》形考作業1-4參考答案
- 北疆文化課件
- 香港證券及期貨從業資格考試溫習手冊版HK
- GB/T 18926-2008包裝容器木構件
- (完整word)a3標準規范試卷模板
- 拆線換藥評分表
評論
0/150
提交評論