程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 第十五章 MySQL 數據庫

第十五章 MySQL 數據庫

編輯:關於PHP編程

學習要點:
1.Web 數據庫概述
2.MySQL 的操作
3.MySQL 常用函數
4.SQL 語句詳解
5.phpMyadmin

 

一.Web數據庫概述

  現在,我們已經熟悉了PHP 的基礎知識,這是我們想暫時離開PHP 一章,來重點介紹
一下關系型數據庫,讓大家了解數據庫比文件儲存的有點。這些優點包括:
1.關系型數據庫比普通文件的數據訪問速度更快。
2.關系型數據庫更容易查閱並提取滿足特定條件的數據。
3.關系型數據庫更具有專門的內置機制處理並發訪問,作為程序員,不需要為此擔心。
4.關系型數據庫可以提供對數據的隨即訪問。
5.關系型數據庫具有內置的權限系統。

 

關系數據庫的概念
  至今為止,關系數據庫是最常用的數據庫類型。在關系代數方面,它們具有很好的理論
基礎。當使用關系數據庫的時候,並不需要了解關系理論(這是一件好事),但是還是需要
理解一些關於數據庫的基本概念。

1)表格
  關系數據庫由關系組成,這些關系通常稱為表格。顧名思義,一個關系就是一個數據的
表格。電子數據表就是一種表格。

2)列
  表中的每一列都有惟一的名稱,包含不同的數據。此外,每一列都有一個相關的數據類
型。
3)行
  表中的每一行代表一個客戶。每一行具有相同的格式,因而也具有相同的屬性。行也成
為記錄。
4)值

  每一行由對應每一列的單個值組成。每個值必須與該列定義的數據類型相同。
5)鍵
  每一條數據所對應的唯一的標識。
6)模式
  數據庫整套表格的完整設計成為數據庫的模式。
7)關系
  外鍵標識兩個表格數據的關系。
  如何設計Web 數據庫
  1)考慮要建模的實際對象。
  2)避免保存冗余數據。
  3)使用原子列值(對每一行的每個屬性只存儲一個數據。)
  4)選擇有意義的鍵。
  5)考慮需要詢問數據庫的問題。
  6)避免多個空屬性的設計


Web 數據庫架構
浏覽器和Web 服務器之間的通信:

浏覽器和PHP&MySQL 服務器之間的通信

1)用戶的Web 浏覽器發出HTTP 請求,請求特定Web 頁面。
2)Web 服務器收到.php 的請求獲取該文件,並將它傳到PHP 引擎,要求它處理。
3)PHP 引擎開始解析腳本。腳本中有一條連接數據庫的命令,還有執行一個查詢的命令。
PHP 打開通向MYSQL 數據庫的連接,發送適當的查詢。
4)MYSQL 服務器接收數據庫查詢並處理。將結果返回到PHP 引擎。
5)PHP 以你去哪干完成腳本運行,通常,這包括將查詢結果格式化成HTML 格式。然
後再輸出HTML 返回到Web 服務器。
6)Web 服務器將HTML 發送到浏覽器。

 

二.MySQL操作

登錄到MySQL
1)打開MySQL Command Line Client
2)輸入root 的設置密碼

MySQL 常規命令

1)顯示當前數據庫的版本號和日期。
  SELECT VERSION(),CURRENT_DATE();
2)通過AS 關鍵字設置字段名。
  SELECT VERSION() AS version; //可設置中文,通過單引號
3)通過SELECT 執行返回計算結果
  SELECT (20+5)*4;
4)通過多行實現數據庫的使用者和日期
  >SELECT
  >USER()
  >,
  >NOW()
  >;
5)通過一行顯示數據庫使用者和日期
  >SELECT USER();SELECT NOW();
6)命令的取消
  >\c
7)MySQL 窗口的退出
  >exit;

 

MySQL 常用數據類型

整數型:TINYINT,SMALLINT,INT,BIGINT
浮點型:FLOAT,DOUBLE,DECIMAL(M,D)
字符型:CHAR,VARCHAR
日期型:DATETIME,DATE,TIMESTAMP
備注型:TINYTEXT,TEXT,LONGTEXT

 

MySQL 數據庫操作
1)顯示當前存在的數據庫
  >SHOW DATABASES;
2)選擇你所需要的數據庫
  >USE guest;
3)查看當前所選擇的數據庫
  >SELECT DATABASE();
4)查看一張表的所有內容
  >SELECT * FROM guest; //可以先通過SHOW TABLES;來查看有多少張表
5)根據數據庫設置中文編碼
  >SET NAMES gbk; //set names utf8;
6)創建一個數據庫

  >CREATE DATABASE book;
7)在數據庫裡創建一張表
  >CREATE TABLE users (
  >username VARCHAR(20), //NOT NULL 設置不允許為空
  >sex CHAR(1),
  >birth DATETIME);
8)顯示表的結構
  >DESCIRBE users;
9)給表插入一條數據
  >INSERT INTO users (username,sex,birth) VALUES ('Lee','x',NOW());
10)篩選指定的數據
  > SELECT * FROM users WHERE username = 'Lee';
11)修改指定的數據
  >UPDATE users SET sex = '男' WHERE username='Lee';
12)刪除指定的數據
  > DELETE FROM users WHERE username='Lee';
13)按指定的數據排序
  > SELECT * FROM users ORDER BY birth DESC; //正序
14)刪除指定的表
  >DROP TABLE users;
15)刪除指定的數據庫
  >DROP DATABASE book;

 

三.MySQL常用函數

 

四.SQL語句詳解

1.創建一個班級數據庫school,裡面包含一張班級表grade,包含編號(id)、姓名(name)、
郵件(email)、評分(point)、注冊日期(regdate)。
mysql>CREATE DATABASE school; //創建一個數據庫
mysql> CREATE TABLE grade (
  //UNSIGNED 表示無符號,TINYINT(2) 無符號整數0-99,NOT NULL 表示不能為
空,AUTO_INCREMENT 表示從1 開始沒增加一個字段,累計一位
  -> id TINYINT(2) UNSIGNED NOT NULL AUTO_INCREMENT,
  -> name VARCHAR(20) NOT NULL,
  -> email VARCHAR(40),
  -> point TINYINT(3) UNSIGNED NOT NULL,
  -> regdate DATETIME NOT NULL,
  -> PRIMARY KEY (id) //表示id 為主鍵,讓id 值唯一,不得重復。
  -> );

2.給這個班級表grade 新增5-10 條學員記錄
mysql> INSERT INTO grade (name,email,point,regdate) VALUES
('Lee','[email protected]',95,NOW());

3.查看班級所有字段的記錄,查看班級id,name,email 的記錄
mysql> SELECT * FROM grade;

mysql> SELECT id,name,email FROM grade;

4.姓名等於'Lee'的學員,成績大於90 分的學員,郵件不為空的成員,70-90 之間的成員
  mysql> SELECT * FROM grade WHERE name='Lee';
  mysql> SELECT * FROM grade WHERE point>90;
  mysql> SELECT * FROM grade WHERE email IS NOT NULL;
  mysql> SELECT * FROM grade WHERE point BETWEEN 70 AND 90;
  mysql> SELECT * FROM grade WHERE point IN (95,82,78);
5.查找郵件使用163 的學員,不包含yc60.com 字符串的學員
  mysql> SELECT * FROM grade WHERE email LIKE '%163.com';
  mysql> SELECT * FROM grade WHERE email NOT LIKE '%yc60.com%';
6.按照學員注冊日期的倒序排序,按照分數的正序排序
  mysql> SELECT * FROM grade ORDER BY regdate DESC;
  mysql> SELECT * FROM grade ORDER BY point ASC;
7.只顯示前三條學員的數據,從第3 條數據開始顯示2 條
  mysql> SELECT * FROM grade LIMIT 3;
  mysql> SELECT * FROM grade LIMIT 2,2;
8.修改姓名為'Lee'的電子郵件
  mysql> UPDATE grade SET email='[email protected]' WHERE name='Lee';

9.刪除編號為4 的學員數據
  mysql> DELETE FROM grade WHERE id=4;

 

10.過一遍以上的分組函數
    略。
11.檢查這個表的信息
  mysql> SHOW TABLE STATUS \G;
12.優化一張表
  mysql> OPTIMIZE TABLE grade;

 

五.PhpMyAdmin

phpMyAdmin(簡稱PMA)是一個用PHP 編寫的,可以通過互聯網在線控制和操作
MySQL。他是眾多MySQL 管理員和網站管理員的首選數據庫維護工具,通過phpMyAdmin
可以完全對MySQL 數據庫進行操作。


創建數據庫scholl
創建一個數據庫->選擇utf8 字符集


導出另一個數據庫SQL
1.選擇另一個數據庫->導出
2.選擇需要導出的表->全選
3.選擇Add DROP TABLE / DROP VIEW (基本表一旦刪除,表中的數據以及相應建立
的索引和視圖都將自動被刪除)
4.選擇另存為文件
5.選擇執行,保存sql 文件


導入數據庫
1.選擇被導入的數據庫
2.選擇Import(導入),選擇sql 文件

3.執行即可

 

 

重建表
1.找到sql 文件中的剛才輸出的建表語句.
2.復制建表語句
3.然後選擇sql,選擇粘貼,執行即可


修復數據表
1.選擇要修復的表
2.在選中項中,選擇修復表,即可


優化數據表
1.選擇要優化的表
2.在選中項中,選擇優化表,即可


修改,刪除,插入表記錄

執行SQL 語句

 

 注:文章出自李炎恢PHP視頻教程,本文僅限交流使用,不得用於商業用途,否則後果自負。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved