中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL——數據庫介紹(理論篇)

發布時間:2020-08-05 21:01:10 來源:網絡 閱讀:223 作者:一拳超人007 欄目:系統運維

數據庫的基本概念

數據:

描述事物的符號記錄稱為數據(Data)
包括數字,文字,圖形,圖像,聲音,檔案記錄等
以"記錄"形式按統一的格式進行存儲

表:

將不同的記錄組織在一起,就形成了"表"
是用來存儲具體數據的

數據庫:

數據庫就是表的集合,是存儲數據的倉庫
以一定的組織方式存儲的相互有關的數據

當今主流數據庫介紹

SQL_Server(微軟公司)
  面向Windows操作系統
  簡單,易用
Oracle(甲骨文公司產品)
  面向所有主流平臺
  安全,完善,操作復雜
DB2(IBM公司產品)
  面向所有主流平臺
  大型,安全,完善
MySQL(甲骨文公司收購)
  免費,開源,體積小

關系數據庫

關系數據庫系統是基于關系模型的數據庫系統,它的基本概念來自于關系模型
關系模型建立在關系代數的理論基礎上,數據結構使用簡單易懂的二維數據表,可以用簡單“實體-關系”(E-R)圖來直接表示
E-R圖中包含了實體(數據對象),關系和屬性三個要素

MySQL——數據庫介紹(理論篇)
實體:

也稱為實例,對應現實世界中可區別于其他對象的“事件”或“事物”,如銀行客戶,銀行賬戶等

屬性:

實體所具有的某一特性,一個實體可以有多個屬性。例如“銀行客戶”實體集中的每個實體均具有姓名,地址,電話等屬性

聯系:

實體集之間的對應關系成為聯系,也稱為關系。例如,銀行客戶和銀行賬戶之間存在“儲蓄”的關系

所有實體及實體之間聯系的集合構成一個關系數據庫

關系數據庫理解

MySQL——數據庫介紹(理論篇)

關系數據庫的存儲結構是二維表格,反映事物及其聯系的數據是以表格形式保存的
在每個二維表中,每一行稱為一條記錄,用來描述一個對象的信息;每一列稱為一個字段,用來描述對象的一個屬性

MySQL——數據庫介紹(理論篇)

非關系數據庫介紹

非關系數據庫也被稱作NoSQL(Not Only SQL),存儲數據不以關系模型為依據,不需要固定的表格式
關系型數據庫作為關系數據庫的一個補充,在日益快速發展的網站時代,發揮著高效率與高性能
非關系型數據庫的優點:
數據庫高并發讀寫的需求
對海量數據高效率存儲與訪問
數據庫的高擴展性與高可用性的需求

非關系型數據庫存儲方式

鍵-值方式(key-value),以鍵為依據存儲,刪,改數據
列存儲(Column-oriented),將相關的數據存儲在列族中
文檔的方式,數據庫由一系列數據項組成,每個數據項都有名稱與對應的值
圖形方式,實體為頂點,關系為邊,數據保存為一個圖形

非關系數據庫產品

Memcached是一個開源的,高性能的,具有分布式內存對象的緩存系統,以key-value方式存儲數據
        緩存數據以減輕數據庫壓力并能加快訪問速度
        加速動態web應用
        緩存的內容保存在內存中
Redis也是一個以key-value方式存儲數據的,數據也是保存在內存中,但會定期將數據寫入磁盤中
        相對于Mencached有以下特點:
            支持內存緩存
            支持持久化
            數據類型更多
            支持群集,分布式
            支持隊列
        Redis應用舉例:
            數據庫前端緩存
            session共享
            當需要緩存除了key/value之外的更多數據類型時
            當緩存的數據需要長久保存時

MySQL數據庫介紹

MySQL是一款深受歡迎的開源關系型數據庫
Oracle旗下的產品
遵守了GPL協議,可以免費試用與修改
    特點:
        性能卓越,服務穩定
        開源,無版權限制,成本低
        多線程,多用戶
        基于C/S(客戶端/服務器)架構
        安全可靠

數據庫的基本操作命令

查看數據庫列表信息

[root@localhost ~]# mysql -uroot -p   ##進入數據庫
Enter password: 
...
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

查看數據庫中的數據表信息

mysql> use mysql;   ##使用數據庫
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;   ##顯示數據表的結構
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                  | Type                              | Null | Key | Default               | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(10)                          | NO   | PRI | 

二分查找

以一個數據為參考,比它小的放左邊,比它大的放右邊

MySQL——數據庫介紹(理論篇)

SQL語句概述

SQL語言

是Structured Query Language的縮寫,即結構化查詢語言
是關系型數據庫的標準語言
用于維護管理數據庫,如數據查詢,數據更新,訪問控制,對象管理等功能

SQL分類

DDL:數據定義語言
DML:數據操縱語言
DQL:數據查詢語言
DCL:數據控制語言

DDL語句操作

DDL語句用于創建數據庫對象,如庫,表,索引等

使用DDL語句新建庫,表

mysql> create database test;     ##創建數據庫
Query OK, 1 row affected (0.00 sec)

mysql> use test;    ##使用數據庫
Database changed
mysql> create table info(   ##創建表
        -> ID int(3) not null,
        -> 姓名 varchar(5) not null,
        -> 住址 varchar(10) not null,
        -> 分數 decimal default 0,  
        -> primary key (ID));
mysql> desc info;   ##查看表結構
+--------+---------------+------+-----+---------+-------+
| Field  | Type          | Null | Key | Default | Extra |
+--------+---------------+------+-----+---------+-------+
| ID     | int(3)        | NO   | PRI | NULL    |       |
| 姓名   | varchar(5)    | NO   |     | NULL    |       |
| 住址   | varchar(10)   | NO   |     | NULL    |       |
| 分數   | decimal(10,0) | YES  |     | 0       |       |
+--------+---------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

DML語句操作

向數據表中插入新的數據記錄

mysql> insert into info values (1,'周幾輪','南京',80);   ##表中插入數據
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;   ##修改表中數據
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

在數據表中刪除指定的數據記錄

mysql> delete from info where ID=2;   ##刪除表中指定數據記錄
Query OK, 1 row affected (0.00 sec)

mysql> select * from info;     ##查看表內容(DQL語句)
+----+-----------+--------+--------+
| ID | 姓名      | 住址   | 分數   |
+----+-----------+--------+--------+
|  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語句操作

DQL是數據查詢語句,只有一條:select
用于從數據表中查找符合條件的數據記錄
查詢時可不指定條件

mysql> select * from info;     ##查看表內容
+----+-----------+--------+--------+
| ID | 姓名      | 住址   | 分數   |
+----+-----------+--------+--------+
|  1 | 周幾輪    | 上海   |     80 |
|  3 | 娜英      | 北京   |      0 |
+----+-----------+--------+--------+
2 rows in set (0.00 sec)

查詢時指定條件

 mysql> select 住址 from info where 住址='北京';   ##查看指定條件
+--------+
| 住址   |
+--------+
| 北京   |
+--------+
1 row in set (0.00 sec)

DCL語言操作

##設置用戶權限(用戶不存在時,則新建用戶)
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123';
Query OK, 0 rows affected, 1 warning (0.00 sec)
##查看用戶的權限
mysql> show grants for 'root'@'%';
+-------------------------------------------+
| Grants for root@%                         |
+-------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' |
+-------------------------------------------+
1 row in set (0.00 sec)
##撤銷用戶的權限
mysql> revoke all on *.* from 'root'@'%';
Query OK, 0 rows affected (0.00 sec)

謝謝閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

叶城县| 舞阳县| 昌吉市| 岳西县| 永安市| 郯城县| 扶风县| 衡山县| 霍山县| 盐池县| 剑河县| 西林县| 高尔夫| 抚州市| 屯门区| 马尔康县| 科尔| 易门县| 泾阳县| 石棉县| 海兴县| 泗阳县| 蕲春县| 田阳县| 宣城市| 榆树市| 文成县| 临猗县| 洮南市| 梁河县| 田林县| 濮阳市| 绥棱县| 合作市| 大港区| 镇巴县| 大冶市| 隆化县| 华坪县| 武义县| 洪雅县|