12.數據庫之MySQL(概述)

數據庫應用

數據庫是計算機應用系統中的一種專門管理數據資源的系統。數據庫就是一組經過計算機整理后的數據,存儲在一個或者多個文件中,而管理這個數據庫的軟件就稱為數據庫管理系統。

主流的軟件開發中應用數據庫有IBM的DB2,Oracle,Informix,Sybase,SQL Server,PostgreSQL,MySQL,Access,FoxPro和Teradata等。

數據庫在Web開發中的重要地位

動態網站都是對數據進行操作,我們平時瀏覽網頁時,會發現網頁的內容會經常變化,而頁面的主體結構框架沒變,Web系統的開發基本上都離不開數據庫,因為任何東西都要存放在數據庫中。

所謂的動態網站就是基于數據庫開發的系統,最重要的就是數據管理,或者說我們在開發時都是在圍繞數據庫在寫程序。我們再來回顧下Web工作原理:

Web工作原理

為什么PHP會選擇MySQL作為自己的黃金搭檔

PHP幾乎可以使用現有的所有的數據庫系統,MySQL與其他的大型數據庫例如Oracle,DB2,SQL Server等相比,自有它的不足之處,如規模小,功能有限,但是絲毫沒有影響它受歡迎的程度。

對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。

LAMP和LNMP中的其他三個軟件也都是免費的,所以我們可以不花一分錢就可以建立起一個穩定,免費的網站系統。

PHP和MySQL的合作方式

在同一個MySQL數據庫服務器中可以創建多個數據庫,如果把每個數據庫看成是一個“倉庫”,則網站中的內容數據就存儲在這個倉庫中,而對數據庫中數據的存取及維護等,都是通過數據庫系統軟件管理的。

同一個數據庫管理系統可以為不同的網站分別建立數據庫,但為了使網站中的數據便于維護,備份及移植,最好為一個網站創建一個數據庫。

MySQL數據庫管理系統是一種“客戶機/服務器”體系結構的管理軟件,所以必須同時使用數據庫服務器和客戶機兩個程序才能使用MySQL。

服務器程序用于監聽客戶機的請求,并根據這些請求訪問數據庫,以便向客戶機提供它們所要求的數據。而客戶機程序則必須通過網絡連接到數據庫服務器,才能向服務器提交數據操作請求。

PHP腳本程序作為MySQL服務器的客戶機程序,是通過PHP中的MySQL擴展函數,對MySQL服務器中存儲的數據進行獲取,插入,更新及刪除等操作。

結構化查詢語言SQL

對數據庫服務器中數據的管理,必須使用客戶機程序成功連接以后,再通過必要的操作指令對其進行操作,這種數據庫操作指令被稱為SQL(Structured Query Language)語言,即結構化查詢語言。

MySQL支持SQL作為自己的數據庫語言,SQL是一種專門用于查詢和修改數據庫里的數據,以及對數據庫進行管理和維護的標準化語言。

SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年退出以來,SQL語言得到了廣泛的應用。

無論是Oracle,Sybase,Informix,SQL Server這些大型的數據庫管理系統,還是像Visual Foxpro,PowerBuilder這些PC上常用的數據庫開發系統,都支持SQL語言作為查詢語言。

SQL語言包含四個部分:

  • 數據定義語言(DDL):用于定義和管理數據對象,包括數據庫,數據表等。例如:CREATEDROPALTER等。

  • 數據操作語言(DML):用于操作數據庫對象中所包含的數據。例如:INSERTUPDATEDELETE語句。

  • 數據查詢語言(DQL):用于查詢數據庫對象中所包含的數據,能夠進行單表查詢,連接查詢,嵌套查詢,以及集合查詢等各種復雜程度不同的數據庫查詢,并將數據返回客戶機中顯示。例如:SELETE

  • 數據控制語言(DCL):是用來管理數據庫的語言,包括管理權限及數據更改。例如:GRANTREVOKECOMMITROLLBACK等。

MySQL數據庫的連接與關閉

mysql –h 服務器主機地址 –u 用戶名 –p 用戶密碼

只有客戶機所在的主機被授予權限才能去連接MySQL服務器。

注意:
1.每個SQL命令都需要使用分號來完成
2.可以將一行命令拆成多行
3.可以通過\c來取消本行命令
4.可以通過\q、exit、ctrl+c或者quit來退出當前客戶端

我們可以使用help命令來查詢快捷鍵:

將查詢后的數據立起來:\G
取消當前未完成的操作:\c
退出當前客戶端:\q
顯示當前服務器狀態:\s
顯示幫助信息:\h(同help命令)
更改執行符:\d

創建新用戶并授權

GRANT 權限 ON 數據庫.數據表 TO 用戶名@登錄主機 IDENTIFIED BY “密碼”

例如:
添加一個新用戶名為lijie,密碼為字符串“jiege”。讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。首先要以root用戶登錄,然后輸入以下命令:

GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO lisi@”%” IDENTIFIED BY “123”

創建數據庫

  • 建立數據庫:
   CREATE DATABASE [IF NOT EXISTS] 數據庫名稱;
  • 刪除數據庫:
   DROP DATABASE [IF EXISTS] 數據庫名稱;
  • 顯示當前數據庫服務器下的所有數據庫列表:
   SHOW DATABASES;
  • 選擇數據庫:
   USE 數據庫名稱;

注意:
1.MySQL數據庫中命令不區分大小寫。
2.每創建一個數據庫,就會在data目錄下創建一個以此數據庫名稱命名的文件夾。
3.在Windows下,數據庫名稱也是不區分大小寫的,但在Linux下,數據庫名稱嚴格區分大小寫。

創建數據表

  • 簡單的創建數據表語法:
CREATE TABLE [IF NOT EXISTS] 表名稱(字段1信息,字段2信息…字段N信息)[ENGINE=MyISAM DEFAULT CHARSET=UTF8];
  • 刪除數據表:
DROP TABLE [IF EXISTS] 數據表名稱;
  • 修改表結構:
ALTER TABLE 數據表名稱 相關操作;

數據表內容的簡單管理

  • 插入數據:
INSERT INTO 表名稱[(字段名稱)] VALUE(前面字段對應的值);
  • 查詢數據:
SELECT 字段名稱1,字段名稱2,… FROM 表名稱
  • 更改數據:
UPDATE 數據表 set 字段名稱=新修改的值 [WHERE 條件]
  • 刪除數據:
DELETE FROM 表名稱 [WHERE 條件] 
  • 創建新用戶并授權
GRANT 權限 ON 數據庫.數據表 TO 用戶名@登錄主機 IDENTIFIED BY “密碼”

例如:
添加一個新用戶名為lijie,密碼為字符串“jiege”。讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。首先要以root用戶登錄,然后輸入以下命令:

GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO lisi@”%” IDENTIFIED BY “123”
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • MySQL 數據庫常用命令 1、MySQL常用命令 create database name; 創建數據庫 use...
    55lover閱讀 4,823評論 1 57
  • 1.MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下產品。My...
    黃花菜已涼閱讀 4,598評論 3 60
  • 1、引言 數據庫設計過程中表、字段等的命名規范也算是設計規范的一部分,不過設計規范更多的是為了確保數據庫設計的合理...
    SnowflakeCloud閱讀 41,085評論 0 48
  • 什么是數據庫? 數據庫是存儲數據的集合的單獨的應用程序。每個數據庫具有一個或多個不同的API,用于創建,訪問,管理...
    chen_000閱讀 4,053評論 0 19
  • 十八年寒窗苦讀,我曾拼了命的想要離開那個生我養我的故鄉,直到有一天異地而居,才知道自己對這方土地愛的深沉。背起...
    小眼睛的牛牛閱讀 358評論 3 5