1.數據庫基礎
1.1 數據庫的介紹和概念
數據庫是由一批數據構成的有序的集合,這些數據被存放在結構化的數據表里面。數據表之間相互關聯,反應了客觀事物之間的本質。
數據庫的發展大致分為下面幾個階段:人工管理階段,文件系統階段,數據庫系統階段,高級數據庫階段。其種類大致有下面幾種:層次式數據庫,網絡式數據庫和關系式數據庫。不同種類的數據庫按照不同的數據庫結構來聯系和組織。
數據庫的特點包括:實時數據共享,減少數據冗余;采用特定的數據類型;具有較高的數據獨立性;具有統一的數據控制功能。
1.2 表
在關系型數據庫中,數據庫表是一系列二維數組的集合,用來存儲數據和操作數據的邏輯結構。它是由縱向的列和橫向的行組成,行被成為記錄,是組織數據的單位;列被成為字段,每一列表示記錄的一個屬性。
1.3 數據類型
數據類型決定了數據在計算機中的存儲格式,是代表不同的信息類型。比較常用的數據類型有下面幾種:整數數據類型,浮點數數據類型,小數數據類型,二進制數據類型,日期/時間數據類型,字符串數據類型。表中的每一個字段就是某種指定的數據類型。
1.4 主鍵
主鍵又可以成為主碼,是用於唯一標識表中的每一條記錄。可以定義表中的一列或者多列為主鍵,主鍵列上不能有兩行相同的值,也不能為空值。
1.5 sql語言
對數據庫進行查詢和修改操作的語言叫做SQL。SQL的含義是結構化查詢語言。
SQL語言包含下面幾個部分:
- 數據定義語言(DDL):DROP、CREATE、ALTER等語句
- 數據操作語言(DML):INSERT、UPDATE、DELETE等語句
- 數據查詢語言(DQL):SELECT語句
- 數據控制語言(DCL):GRANT
2.MySQL
2.1 MySQL概述
MySQL是一個小型關系數據庫關系系統,與其它大型的數據庫管理系統如Oracle、DB2等相比,MySQL的規模較小、功能有限,但是它的體積小,速度快,成本低,並且其所提供的功能也足夠一些應用使用。
2.2 MySQL的特點
MySQL的特點主要有下面幾個方面:
- 速度:運行的速度比較快
- 價格:MySQL有免費的版本
- 容易使用:相比於其他大型數據庫的設置和管理相對來說復雜程度較低
- 可移植性:能夠在各種平台上進行工作
- 豐富的接口:提供各種語言的API接口
- 支持查詢語言
- 安全性和連接性
2.3 MySQL工具
MySQL數據庫管理系統提供了許多的命令行工具,這些工具可以用來管理MySQL服務器、對數據庫進行訪問控制、管理MySQL用戶以及數據的備份和恢復工作。
MySQL服務端:
- mysqld:SQL后台程序(也是MySQL服務器進程)。該程序必須運行,客戶端才可以連接到服務器進而訪問數據庫。
- mysqld_safe:服務器啟動腳本。mysqld_safe增加了一些安全性,例如當出現錯誤時,重啟服務器並向錯誤日志文件寫入運行時間的信息。
- mysql.server:服務器啟動腳本
- mysqld_multi:服務器啟動腳本,可以啟動或者停止系統上安裝的多個服務器。
- myisamchk:用來描述、檢查、優化和維護MYISAM表的工具。
- mysqlbug:MySQL缺陷報告腳本。
- mysql_install_db:該腳本用默認權限創建MySQL授權表,通常是在系統首次安裝MySQL時執行一次。
MySQL客戶端:
- myisampack:壓縮MYISAM表以產生更小的只讀表的一個工具。
- mysql:交互式輸入sql語句或從文件以批量處理模式執行它們的命令工具。
- mysqlaccess:檢查訪問主機名、用戶名和數據庫組合的權限腳本。
- mysqladmin:執行管理操作的客戶端程序。
- mysqlbinlog:從二進制日志讀取語句的工具。
- mysqlcheck:檢查、修復、分析以及優化表的表維護客戶程序。
- mysqldump:將MySQL數據備份出來。
- mysqlhotcopy:當服務器在運行的時候,快速備份MYISAM或者ISAM表的工具
- mysqlimport:將文本文件導入相關的表的客戶端程序。
- mysqlshow:顯示數據庫、表、列以及索引相關的信息的客戶端程序
- perror:顯示系統或MySQL錯誤代碼含義的工具