網(wǎng)站推廣的技巧和方法企業(yè)網(wǎng)站的網(wǎng)絡(luò)營(yíng)銷(xiāo)功能
第一章 概念
?
?
1、數(shù)據(jù):描述事物的符號(hào)記錄稱(chēng)為數(shù)據(jù)。特點(diǎn):數(shù)據(jù)和關(guān)于數(shù)據(jù)的解釋不可分。
?
2、數(shù)據(jù)庫(kù):長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織、可共享的大量的數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按照一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶(hù)共享。特點(diǎn):永久存儲(chǔ)、有組織、可共享。
?
3、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):位于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。主要功能:數(shù)據(jù)定義功能(DDL);數(shù)據(jù)組織、存儲(chǔ)和管理;數(shù)據(jù)操縱功能(DML);數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理;數(shù)據(jù)庫(kù)的建立和維護(hù)功能;其他功能。
?
4、數(shù)據(jù)庫(kù)系統(tǒng)(DBS):由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員構(gòu)成。
?
5、數(shù)據(jù)管理技術(shù)三個(gè)階段:人工管理、文件系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)。
?
6、兩類(lèi)數(shù)據(jù)模型:概念模型(又叫信息模型);邏輯模型、物理模型
?
7、數(shù)據(jù)模型的組成要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操縱和數(shù)據(jù)的完整性約束條件。
?
8、概念模型:用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫(kù)設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具也是數(shù)據(jù)庫(kù)設(shè)計(jì)人員與用戶(hù)之間進(jìn)行交流的語(yǔ)言。
?
9、信息世界中的概念:實(shí)體、屬性、碼、域、實(shí)體型、實(shí)體集、聯(lián)系;兩個(gè)實(shí)體之間的聯(lián)系又分為一對(duì)一,一對(duì)多,多對(duì)多。
?
10、E-R圖:表示實(shí)體型、屬性和聯(lián)系的方法,實(shí)體型用矩形,屬性用橢圓,聯(lián)系用菱形。
?
11、關(guān)系的完整性約束條件包括三大類(lèi):實(shí)體完整性、參照完整性、和用戶(hù)自定義完整性。
?
12、數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu):模式、外模式、內(nèi)模式。數(shù)據(jù)庫(kù)的二級(jí)映像:外模式/模式映像,模式/內(nèi)模式映像。
?
第二章 關(guān)系數(shù)據(jù)庫(kù)
?
1、關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。
?
2、關(guān)系操作:查詢(xún)操作和插入、刪除、修改操作兩大部分。查詢(xún)操作又可分為選擇、投影、連接、除、并、差、交、笛卡爾積等。
?
3、實(shí)體完整性:主屬性不能為空;參照完整性:關(guān)系與關(guān)系間的引用(一般為兩張表,或者一張表內(nèi)部也存在);用戶(hù)自定義的完整性。
?
第三章 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL
?
1、SQL:結(jié)構(gòu)化查詢(xún)語(yǔ)言。
?
2、外模式對(duì)應(yīng)于視圖和部分表,模式對(duì)應(yīng)于基本表,內(nèi)模式對(duì)應(yīng)于存儲(chǔ)文件。
?
3、基本表:本身獨(dú)立存在的表,在SQL中一個(gè)關(guān)系對(duì)應(yīng)一個(gè)基本表,一個(gè)或多個(gè)基本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件,一個(gè)表可以帶若干索引,索引也存放在存儲(chǔ)文件中。
?
4、視圖:從一個(gè)或幾個(gè)基本表中導(dǎo)出的表,本身不存在于數(shù)據(jù)庫(kù)中,即數(shù)據(jù)庫(kù)中只存放視圖的定義不存放視圖對(duì)應(yīng)的數(shù)據(jù),視圖是一個(gè)虛表,可以在視圖上再定義視圖。
?
5、存儲(chǔ)文件:其邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫(kù)的內(nèi)模式,其物理結(jié)構(gòu)是任意的,對(duì)用戶(hù)是透明的。
?
6、SQL查詢(xún)
?
常用查詢(xún)
SHOW DATABASES; 查詢(xún)所有數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名; 使用某數(shù)據(jù)庫(kù)
SHOW TABLES 查詢(xún)所有表
SHOW COLUMNS FROM 表名 查詢(xún)?cè)摫硭辛?/p>
SELECT 列 FROM 表名 查詢(xún)
SELECT 列1,列2... FROM 表名 多列查詢(xún)
SELECT * FROM 表名 全部查詢(xún)(查詢(xún)所有列)
7. 數(shù)據(jù)庫(kù)服務(wù)環(huán)境安裝部署
windows系統(tǒng)中部署數(shù)據(jù)庫(kù): mysql
https://dev.mysql.com/downloads/installer/
PHPstudy 程序包 --- 包含了數(shù)據(jù)庫(kù)服務(wù) --- 進(jìn)行啟動(dòng)開(kāi)啟
方式一: 連接數(shù)據(jù)庫(kù)(命令行操作管理)
連接數(shù)據(jù)庫(kù)服務(wù): cmd ---> 切換到PHPstudy數(shù)據(jù)庫(kù)程序目錄中 ---> 連接數(shù)據(jù)庫(kù)
mysql.exe -uroot -proot
?
方式二: 連接數(shù)據(jù)庫(kù)(圖形界面操作)
安裝連接數(shù)據(jù)庫(kù)程序軟件: Navicat 安裝部署
實(shí)現(xiàn)遠(yuǎn)程連接數(shù)據(jù)庫(kù):
本地建立連接: localhost == 127.0.0.1
?
Linux系統(tǒng)中部署數(shù)據(jù)庫(kù): mysql
https://dev.mysql.com/downloads/mysql/
?
準(zhǔn)備Linux環(huán)境: vmware虛擬軟件 --- 加載虛擬主機(jī) --- 啟動(dòng)
部署數(shù)據(jù)庫(kù)服務(wù): mariadb --- yum install -y mariadb(操作數(shù)據(jù)庫(kù)命令) mariadb-server
啟動(dòng)數(shù)據(jù)庫(kù)服務(wù): systemctl start mariadb
?
方式一: 連接數(shù)據(jù)庫(kù)(命令行)
虛擬主機(jī)環(huán)境 --- mysql -uroot
?
方式二: 連接數(shù)據(jù)庫(kù)(圖形界面)
??? 如何和虛擬主機(jī)數(shù)據(jù)路服務(wù)建立連接
?
05. 數(shù)據(jù)庫(kù)操作管理知識(shí)
1) 操作數(shù)據(jù)庫(kù)相關(guān)SQL命令
· 創(chuàng)建數(shù)據(jù)庫(kù)信息:
語(yǔ)句格式: CREATE DATABASE 數(shù)據(jù)庫(kù)名稱(chēng);
操作命令: CREATE DATABASE PHP;
· 查看數(shù)據(jù)庫(kù)信息:
語(yǔ)句格式: show databases;
· 選中指定數(shù)據(jù)庫(kù)信息:
語(yǔ)句格式: use 數(shù)據(jù)庫(kù)名稱(chēng);
操作命令: use php;
· 查看庫(kù)中具有表信息:
語(yǔ)句格式: show tables;
· 刪除指定數(shù)據(jù)庫(kù)信息:
語(yǔ)句格式: drop database 數(shù)據(jù)庫(kù)名稱(chēng);
操作命令: drop database php;
?
2) 操作數(shù)據(jù)表相關(guān)SQL命令
· 創(chuàng)建表信息:
語(yǔ)句格式: CREATE TABLE 表名(字段名1 字段類(lèi)型,字段名2 ....字段名n 字段類(lèi)型n);
操作命令:
create table xueyuan(
name varchar(15),
sex char(5),
age int(5),
xueli char(10),
jingyan bool,
xinzi float(10,2)
);
?
· 查看表中字段信息:
語(yǔ)句格式: desc 表名稱(chēng)
操作命令: desc xueyuan;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(15) | YES | | NULL | |
| sex | char(5) | YES | | NULL | |
| age | int(5) | YES | | NULL | |
| xueli | char(10) | YES | | NULL | |
| jingyan | tinyint(1) | YES | | NULL | |
| xinzi | float(10,2) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
?
· 查看表信息創(chuàng)建方法:
語(yǔ)句格式: SHOW CREATE TABLE 表名稱(chēng);
操作命令: SHOW CREATE TABLE xueyuan\G;
*************************** 1. row **************************
Table: xueyuan
Create Table: CREATE TABLE `xueyuan` (
`name` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
`sex` char(5) COLLATE utf8_unicode_ci DEFAULT NULL,
`age` int(5) DEFAULT NULL,
`xueli` char(10) COLLATE utf8_unicode_ci DEFAULT NULL,
`jingyan` tinyint(1) DEFAULT NULL,
`xinzi` float(10,2) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
?
· 刪除表信息:
語(yǔ)句格式: drop table 名名稱(chēng);
操作命令: drop table oldboy;
?
· 創(chuàng)建表設(shè)置引擎信息和默認(rèn)字符編碼信息:
mysql> create table test(
name varchar(15),
sex char(5),
age int(5),
xueli char(10),
jingyan bool,
xinzi float(10,2)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
?
3) 操作數(shù)據(jù)字段相關(guān)SQL命令
· 修改字段數(shù)據(jù)類(lèi)型信息
語(yǔ)句格式: alter table 表名 modify 字段名 修改后的數(shù)據(jù)類(lèi)型;
操作命令: alter table test modify sex varchar(10);
?
· 增加表中字段信息:
語(yǔ)句格式: alter table 表名 add column 字段名 字段類(lèi)型;
操作命令: alter table test add column oldboy date;
?
· 增加表中字段信息: 可以指定控制字段添加的位置
語(yǔ)句格式: alter table 表名 add 字段名 bool after 在哪個(gè)字段后添加;
操作命令: alter table test add oldgirl bool after age;
?
增加表中字段信息: 將指定字段插入到第一列
語(yǔ)句格式: alter table 表名 add 字段 類(lèi)型 first;
操作命令: alter table test add oldbaby char first;
?
· 刪除表中字段信息:
語(yǔ)句格式: alter table 表名 drop column 字段名稱(chēng);
操作命令: alter table test drop column oldbaby;
?
· 修改字段名稱(chēng)信息:
語(yǔ)句格式: alter table 表名 change 原字段名稱(chēng) 修改后字段名 字段類(lèi)型;
操作命令: alter table test change xueli edu varchar(15);
?
· 修改已有字段順序:
語(yǔ)句格式:
alter table 表名 modify 字段名 類(lèi)型 first; --- 直接將指定字段移到第一列
alter table test modify 字段名 類(lèi)型 after 字段名; --- 將字段移動(dòng)到指定列之后
?
· 修改數(shù)據(jù)庫(kù)中表的名稱(chēng):
語(yǔ)句格式: alter table 舊表名 rename 新的表名;
操作命令: alter table test rename new_test;
?
4) 數(shù)據(jù)庫(kù)字段數(shù)據(jù)類(lèi)型介紹/字符編碼
參考mysql文檔介紹
?
5) 數(shù)據(jù)庫(kù)索引操作
索引概念介紹: 可以提升查找指定數(shù)據(jù)檢索效率
索引分類(lèi)介紹: 普通索引 唯一索引(不能有字段信息重復(fù)) 主鍵索引(字段信息不能為空)
?
索引創(chuàng)建方法:
普通索引創(chuàng)建: MUL
語(yǔ)法格式: alter table 表 add index(字段);
操作命令: alter table xueyuan add index(name);
?
唯一索引創(chuàng)建: UNI
語(yǔ)法格式: alter table 表 add UNIQUE(字段)
操作命令: alter table xueyuan add UNIQUE(xueli);
?
主鍵索引創(chuàng)建: PRI
語(yǔ)法格式: alter table 表 add PRIMARY KEY(字段)
操作命令: alter table xueyuan add primary key(jingyan);
?
如何刪除索引信息???
語(yǔ)法格式:drop index 索引名 on 表名
語(yǔ)法命令:drop index jingyan ON?