* 服務器概念
* 服務器(SERVER)其實就是一臺PC機(硬件)
* 服務器的分類
* 硬件服務器 - PC機
* 電腦硬件 - PC機/小型機/刀片機/中型機/大型機/超級計算機
* 小型機 - IBM(AIX)/HP/聯想(Linux)
* 軟件服務器 - 中間件
* 爲了運行Web應用的一種軟件
* 軟件架構
* B/S - 瀏覽器(browser)/服務器端(server)
* 互聯網-企業級
* 互聯網 - 網易、騰訊、百度等
* 企業級 - 銀行系統、醫院系統等
* 好處
* 軟件升級 - 服務器端的升級
* C/S - 客戶端(client)/服務器端(server)
* 先出現,例如QQ、Email等
* 緣由 - 網絡帶寬/電腦硬件廣泛偏低
* 問題
* 軟件升級 - 客戶端\服務器端都要升級
* 軟件服務器
* Web(應用)服務器 - 用於運行Web應用
* 數據庫服務器 - 用於運行數據庫產品
* 訪問Web應用
http://www.baidu.com
網絡協議-IP地址-端口號
* XAMPP軟件
* Apache - 軟件服務器(運行PHP)
* 啓動失敗
* 緣由 - 端口號被佔用
* 錯誤信息 - Error: Apache shutdown unexpectedly.
* 解決
* config選項-<Browse>[Apache]-conf目錄-httpd.conf文件
* 修改 - Listen 8888(端口號)
* 如何訪問
* http://localhost:端口號
* http://127.0.0.1:端口號
* 設置虛擬地址
* 目錄 - C:\Windows\System32\drivers\etc
* 打開hosts文件
* 關於80端口號
* 在開始菜單輸入"cmd"運行命令行窗口
* 在命令行窗口輸入命令
netstat -ano
* 找到佔用80端口號對應PID值
* 在任務管理器中的"進程",找到對應的進程,結束
* 在本地搭建Web應用程序
* 目錄 - XAMPP軟件的安裝路徑-htdocs
* 將該目錄的全部文件刪除
* 建立index.html頁面文件
* 從新在瀏覽器中訪問虛擬地址,頁面內容
* MySQL - 數據庫服務器(運行MySQL)
* MySQL默認使用的端口號 - 3306
* 不建議修改該端口號
* 命令行方式登陸(打開)數據庫
* 登陸數據庫 - mysql -u用戶名 -p密碼
* 退出數據庫 - exit;
* 同時啓動Apache和MySQL服務
* 訪問地址 - http://localhost:8888/phpmyadmin
* 上述地址的端口號是Apache的端口號
* phpMyAdmin服務是Apache提供的(鏈接數據庫)
* Tomcat - 軟件服務器(運行Java)
* 數據庫
* 基本概念
* 數據庫 - 數據倉庫,用於存儲或操做數據內容
* 兩大陣營
* 關係型數據庫(SQL) - 是目前主流數據庫
* 是以表(行和列)的形式存儲數據
* 非關係型數據庫(NoSQL) - 是新潮流數據庫
* 是以文檔方式存儲數據
* 是以key:value形式存儲數據
* ...
* NoSQL
* 是一種運動(抗議關係型數據庫)
* 逐步發展以後,出現不少這種產品
* 主流的產品
* mongoDB - JSON格式
* ...
* 關係型數據庫
* Oracle - 甲骨文(Oracle)公司的產品
* 企業級開發98%市場份額都是使用這款產品
* MySQL - 甲骨文(Oracle)公司的產品
* 互聯網開發98%市場份額都是使用這款產品
* SQL Server
* 是微軟公司推出的
* 只提供Windows操做系統版本
* Access(Office套件的組件)
* 是微軟公司推出輕量級數據庫
* DB2
* MySQL產品
* 是瑞典MySQL AB公司開發的
* 後期被SUN公司收購(SUN公司最主要產品-Java)
* SUN公司被Oracle公司收購
* 特色
* 免費
* 開源
* 目前兩種版本
* 社區版本 - 免費
* 商業版本 - 收費
* LAMP組合 - 目前開發互聯網網站
* L - Linux
* A - Apache
* M - MySQL
* P - PHP
* SQL語言 - 不管數據庫產品,使用SQL語言
* DDL - 數據定義語言(數據庫+表)
* DCL - 數據控制語言(權限)
* DQL - 數據查詢語言
* DML - 數據操做語言
* 注意
* SQL語言並不區分大小寫(官方建議大寫)
* SQL語句編寫完畢後,必定增長";"結束符
- 命令行中
* SQL語言使用字符串時,建議使用單引號'
* DDL(瞭解) - CREATE|ALTER|DROP
* 數據庫操做
* 建立數據庫
* 用法 - CREATE DATABASE 數據庫名稱 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
* 查看數據庫
* 用法 - SHOW DATABASES;
* 修改數據庫
* 用法 - ALTER DATABASE 數據庫名稱 CHARACTER SET utf8;
* 刪除數據庫
* 用法 - DROP DATABASE 數據庫名稱;
* 使用(切換)數據庫
* 用法 - USE 數據庫名稱;
* 注意
* 數據庫一旦被建立,不多修改或刪除
* 建立、查看和切換數據庫
* 數據表操做
* 數據類型
* 數值(Number)數據類型
* INT - 整數
* FLOAT/DOUBLE - 浮點型(小數)
* DECIMAL - 精確值(金額等)
* 日期(Date)數據類型
* DATE - 日期(默認格式:yyyy-MM-dd)
* DATETIME - 日期時間(yyyy-MM-dd hh:mm:ss)
* TIMESTAMP - 時間戳(標識:惟一)
* 字符串(String)數據類型
* CHAR - 長度固定的字符串
* 定義一個字符串的長度爲10,實際存儲的內容爲"abc",未被字符佔用的位置會以空格補位
* VARCHAR - 長度可變的字符串
* 定義一個字符串的長度爲10,實際存儲的內容爲"abcde"
* 建立數據表
CREATE TABLE (
字段名稱1 數據類型,
字段名稱2 數據類型,
...
);
* 約束
* 主鍵約束 - PRIMARY KEY
* 做用 - 惟一,不可重複
* 主鍵自增約束 - AUTO_INCREMENT
* 做爲主鍵的字段,自增
案例:建立用戶表(id,name,pwd,age,email,addr)
CREATE TABLE myuser (
//標識(惟一,不可重複)
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(30),
pwd VARCHAR(30),
age INT,
email VARCHAR(30),
addr VARCHAR(30)
);
* 刪除數據表
* 用法 - DROP TABLE 表名;
* 查看錶結構
* 用法 - DESC 表名;
* DML(增刪改) - INSERT|UPDATE|DELETE
* 插入(新增)數據
* 用法一
INSERT INTO 表名 VALUES(字段值1,字段值2,...);
* 注意
* 當前表具備多少字段,VALUES輸入多少字段值
* 若是哪一個字段是主鍵自增的話,使用NULL補位
* 用法二
INSERT INTO 表名(字段名1,字段名2,...) VALUES(字段值1,字段值2,...)
* 注意
* 表名後定義多少字段,VALUES後輸入多少字段
* 當前數據表的字段是容許爲空的
* 更新(修改)數據
* 用法一 - UPDATE 表名 SET 字段名=字段值;
* 注意 - 修改全部數據(指定字段值)
* 用法二
UPDATE 表名 SET 字段名=字段值 WHERE 字段名=字段值;
* SET後面的"字段名=字段值",爲設置的值
* WHERE後面的"字段名=字段值",爲查詢的值
* 用法三
UPDATE 表名 SET 字段名1=字段值1,字段名2=字段值2 WHERE 字段名=字段值;
* 刪除數據
* 用法一 - DELETE FROM 表名;
* 注意 - 刪除指定表中全部數據
* 用法二 - DELETE FROM 表名 WHERE 字段名=字段值;
* 問題 - 實際操做
* 實際的開發中基本不使用DELETE語句
* 以防咱們的用戶反悔
* SQL操做(刪除)
* 物理刪除 - 執行DELETE語句
* 邏輯刪除
* 簡單來講,對於用戶來說是刪除的,對於實際來說並無刪除
* 爲指定表,增長一個字段(state|status),表示當前這條記錄是什麼狀態
* 值爲1的話,表示這條記錄是正常的
* 值爲0的話,表示這條記錄是刪除的
* DQL(查)
* 基本查詢 - 新版本同樣
* 用法一 - SELECT * FROM 表名;
* 用法二 - SELECT 字段名1,字段名2,... FROM 表名;
* 條件基本查詢
* 用法 - SELECT * FROM 表名 WHERE 字段名=字段值;
* 複雜條件查詢
* AND - 表示多個條件同時知足
* OR - 表示其中一個條件知足
* IN(SET) - 表示一個字段包含多個值
* SET - 多個值,之間使用","
* = - 表示字段值爲指定值
* BTWEEN AND - 等於 >= AND <=
* IS NULL - 匹配NULL值
* 排序查詢 - ORDER BY 字段名
* ASC - 正序排序,默認值
* DESC - 倒序排序php
SELECT * FROM 表名 WHERE 條件 ORDER BY 字段名;
* 命令行方式登陸MySQL
* 輸入mysql命令,提示"mysql"不是內部命令
* 緣由 - 系統環境變量中沒有配置MySQL的變量
* 解決
* 進入到MySQL的安裝目錄中
* 進入到bin目錄中,找到mysql.exe文件
* 執行mysql.exe文件html
* 在命令行中輸入命令
* cd mysql的安裝目錄/bin
* mysql命令
* 數據庫操做原則 - 只增不刪
* 數據庫的空
* '' - 空字符串
* NULL - 值不存在mysql