您好,登錄后才能下訂單哦!
數(shù)據(jù):
描述事物的符號(hào)記錄稱為數(shù)據(jù)(Data)
包括數(shù)字,文字,圖形,圖像,聲音,檔案記錄等
以"記錄"形式按統(tǒng)一的格式進(jìn)行存儲(chǔ)
表:
將不同的記錄組織在一起,就形成了"表"
是用來存儲(chǔ)具體數(shù)據(jù)的
數(shù)據(jù)庫:
數(shù)據(jù)庫就是表的集合,是存儲(chǔ)數(shù)據(jù)的倉庫
以一定的組織方式存儲(chǔ)的相互有關(guān)的數(shù)據(jù)
SQL_Server(微軟公司)
面向Windows操作系統(tǒng)
簡(jiǎn)單,易用
Oracle(甲骨文公司產(chǎn)品)
面向所有主流平臺(tái)
安全,完善,操作復(fù)雜
DB2(IBM公司產(chǎn)品)
面向所有主流平臺(tái)
大型,安全,完善
MySQL(甲骨文公司收購)
免費(fèi),開源,體積小
關(guān)系數(shù)據(jù)庫系統(tǒng)是基于關(guān)系模型的數(shù)據(jù)庫系統(tǒng),它的基本概念來自于關(guān)系模型
關(guān)系模型建立在關(guān)系代數(shù)的理論基礎(chǔ)上,數(shù)據(jù)結(jié)構(gòu)使用簡(jiǎn)單易懂的二維數(shù)據(jù)表,可以用簡(jiǎn)單“實(shí)體-關(guān)系”(E-R)圖來直接表示
E-R圖中包含了實(shí)體(數(shù)據(jù)對(duì)象),關(guān)系和屬性三個(gè)要素
實(shí)體:
也稱為實(shí)例,對(duì)應(yīng)現(xiàn)實(shí)世界中可區(qū)別于其他對(duì)象的“事件”或“事物”,如銀行客戶,銀行賬戶等
屬性:
實(shí)體所具有的某一特性,一個(gè)實(shí)體可以有多個(gè)屬性。例如“銀行客戶”實(shí)體集中的每個(gè)實(shí)體均具有姓名,地址,電話等屬性
聯(lián)系:
實(shí)體集之間的對(duì)應(yīng)關(guān)系成為聯(lián)系,也稱為關(guān)系。例如,銀行客戶和銀行賬戶之間存在“儲(chǔ)蓄”的關(guān)系
所有實(shí)體及實(shí)體之間聯(lián)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)是二維表格,反映事物及其聯(lián)系的數(shù)據(jù)是以表格形式保存的
在每個(gè)二維表中,每一行稱為一條記錄,用來描述一個(gè)對(duì)象的信息;每一列稱為一個(gè)字段,用來描述對(duì)象的一個(gè)屬性
非關(guān)系數(shù)據(jù)庫也被稱作NoSQL(Not Only SQL),存儲(chǔ)數(shù)據(jù)不以關(guān)系模型為依據(jù),不需要固定的表格式
非關(guān)系型數(shù)據(jù)庫作為關(guān)系數(shù)據(jù)庫的一個(gè)補(bǔ)充,在日益快速發(fā)展的網(wǎng)站時(shí)代,發(fā)揮著高效率與高性能
非關(guān)系型數(shù)據(jù)庫的優(yōu)點(diǎn):
數(shù)據(jù)庫高并發(fā)讀寫的需求
對(duì)海量數(shù)據(jù)高效率存儲(chǔ)與訪問
數(shù)據(jù)庫的高擴(kuò)展性與高可用性的需求
鍵-值方式(key-value),以鍵為依據(jù)存儲(chǔ),刪,改數(shù)據(jù)
列存儲(chǔ)(Column-oriented),將相關(guān)的數(shù)據(jù)存儲(chǔ)在列族中
文檔的方式,數(shù)據(jù)庫由一系列數(shù)據(jù)項(xiàng)組成,每個(gè)數(shù)據(jù)項(xiàng)都有名稱與對(duì)應(yīng)的值
圖形方式,實(shí)體為頂點(diǎn),關(guān)系為邊,數(shù)據(jù)保存為一個(gè)圖形
Memcached是一個(gè)開源的,高性能的,具有分布式內(nèi)存對(duì)象的緩存系統(tǒng),以key-value方式存儲(chǔ)數(shù)據(jù)
緩存數(shù)據(jù)以減輕數(shù)據(jù)庫壓力并能加快訪問速度
加速動(dòng)態(tài)web應(yīng)用
緩存的內(nèi)容保存在內(nèi)存中
Redis也是一個(gè)以key-value方式存儲(chǔ)數(shù)據(jù)的,數(shù)據(jù)也是保存在內(nèi)存中,但會(huì)定期將數(shù)據(jù)寫入磁盤中
相對(duì)于Mencached有以下特點(diǎn):
支持內(nèi)存緩存
支持持久化
數(shù)據(jù)類型更多
支持群集,分布式
支持隊(duì)列
Redis應(yīng)用舉例:
數(shù)據(jù)庫前端緩存
session共享
當(dāng)需要緩存除了key/value之外的更多數(shù)據(jù)類型時(shí)
當(dāng)緩存的數(shù)據(jù)需要長(zhǎng)久保存時(shí)
MySQL是一款深受歡迎的開源關(guān)系型數(shù)據(jù)庫
Oracle旗下的產(chǎn)品
遵守了GPL協(xié)議,可以免費(fèi)試用與修改
特點(diǎn):
性能卓越,服務(wù)穩(wěn)定
開源,無版權(quán)限制,成本低
多線程,多用戶
基于C/S(客戶端/服務(wù)器)架構(gòu)
安全可靠
[root@localhost ~]# mysql -uroot -p ##進(jìn)入數(shù)據(jù)庫
Enter password:
...
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> use mysql; ##使用數(shù)據(jù)庫
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables; ##查看庫中的表
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db
mysql> desc user; ##顯示數(shù)據(jù)表的結(jié)構(gòu)
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(10) | NO | PRI |
以一個(gè)數(shù)據(jù)為參考,比它小的放左邊,比它大的放右邊
是Structured Query Language的縮寫,即結(jié)構(gòu)化查詢語言
是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)語言
用于維護(hù)管理數(shù)據(jù)庫,如數(shù)據(jù)查詢,數(shù)據(jù)更新,訪問控制,對(duì)象管理等功能
DDL:數(shù)據(jù)定義語言
DML:數(shù)據(jù)操縱語言
DQL:數(shù)據(jù)查詢語言
DCL:數(shù)據(jù)控制語言
mysql> create database test; ##創(chuàng)建數(shù)據(jù)庫
Query OK, 1 row affected (0.00 sec)
mysql> use test; ##使用數(shù)據(jù)庫
Database changed
mysql> create table info( ##創(chuàng)建表
-> ID int(3) not null,
-> 姓名 varchar(5) not null,
-> 住址 varchar(10) not null,
-> 分?jǐn)?shù) decimal default 0,
-> primary key (ID));
mysql> desc info; ##查看表結(jié)構(gòu)
+--------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+-------+
| ID | int(3) | NO | PRI | NULL | |
| 姓名 | varchar(5) | NO | | NULL | |
| 住址 | varchar(10) | NO | | NULL | |
| 分?jǐn)?shù) | decimal(10,0) | YES | | 0 | |
+--------+---------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
mysql> insert into info values (1,'周幾輪','南京',80); ##表中插入數(shù)據(jù)
Query OK, 1 row affected (0.00 sec)
mysql> insert into info values (2,'王峰','南京',0);
Query OK, 1 row affected (0.00 sec)
mysql> insert into info values (3,'娜英','北京',default);
Query OK, 1 row affected (0.01 sec)
mysql> update info set 住址='上海' where ID=1; ##修改表中數(shù)據(jù)
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> delete from info where ID=2; ##刪除表中指定數(shù)據(jù)記錄
Query OK, 1 row affected (0.00 sec)
mysql> select * from info; ##查看表內(nèi)容(DQL語句)
+----+-----------+--------+--------+
| ID | 姓名 | 住址 | 分?jǐn)?shù) |
+----+-----------+--------+--------+
| 1 | 周幾輪 | 上海 | 80 |
| 3 | 娜英 | 北京 | 0 |
+----+-----------+--------+--------+
2 rows in set (0.00 sec)
mysql> drop table info; ##刪除表
Query OK, 0 rows affected (0.00 sec)
mysql> show tables; ##查看表
Empty set (0.00 sec)
mysql> drop database test; ##刪除庫
Query OK, 0 rows affected (0.00 sec)
mysql> show databases; ##查看庫
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
DQL是數(shù)據(jù)查詢語句,只有一條:select
用于從數(shù)據(jù)表中查找符合條件的數(shù)據(jù)記錄
查詢時(shí)可不指定條件
mysql> select * from info; ##查看表內(nèi)容
+----+-----------+--------+--------+
| ID | 姓名 | 住址 | 分?jǐn)?shù) |
+----+-----------+--------+--------+
| 1 | 周幾輪 | 上海 | 80 |
| 3 | 娜英 | 北京 | 0 |
+----+-----------+--------+--------+
2 rows in set (0.00 sec)
查詢時(shí)指定條件
mysql> select 住址 from info where 住址='北京'; ##查看指定條件
+--------+
| 住址 |
+--------+
| 北京 |
+--------+
1 row in set (0.00 sec)
##設(shè)置用戶權(quán)限(用戶不存在時(shí),則新建用戶)
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123';
Query OK, 0 rows affected, 1 warning (0.00 sec)
##查看用戶的權(quán)限
mysql> show grants for 'root'@'%';
+-------------------------------------------+
| Grants for root@% |
+-------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' |
+-------------------------------------------+
1 row in set (0.00 sec)
##撤銷用戶的權(quán)限
mysql> revoke all on *.* from 'root'@'%';
Query OK, 0 rows affected (0.00 sec)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。