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