亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

二、數據庫的基本操作

發布時間:2020-07-31 18:51:26 來源:網絡 閱讀:610 作者:少年不在了 欄目:MySQL數據庫

MySQL命令主要分為以下幾類:

  DML:Data Manapulate Language: 數據操作語言(操作表中數據)

    INSERT, REPLACE, UPDATE, DELETE

  DDL:Data Defination Lanuage: 數據定義語言(操作表)

    CREATE, ALTER, DROP

  DCL:Data Control Language: 數據控制語言

    GRANT, REVOKE

  DQL:Data Query Language:數據查詢語言

    SELECT,WHERE,ORDER BY,GROUPBY,HAVING

  TPL:事物處理語言

    BEGIN,TRANSACTION,COMMIT

2.1、創建數據庫

  MySQL安裝完成后,將在其data目錄下自動創建幾個必須的數據庫,可以使用SHOW DATABASES語句來查看當前所有存在的數據庫。

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

  上面的數據庫中mysql是必須的,它描述用戶訪問權限,用戶可以利用test數據庫來做測試工作。

  創建數據庫是在系統磁盤上劃分一塊用于數據的存儲和管理,如果管理員在設置權限的時候為用戶創建了數據庫,則可以直接使用,否則,需要自己創建數據庫。MySQL創建數據庫的基本SQL語法格式為:

CREATE DATABASE db_name;                 #直接創建數據庫
CREATE DATABASE [IF NOT EXISTS] db_name; #當數據庫不存在時創建

  數據庫創建好后可以使用SHOW CREATE DATABASES聲明查看數據庫的定義。

mysql> SHOW CREATE DATABASE test\G
*************************** 1. row ***************************
       Database: test
Create Database: CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */
1 row in set (0.00 sec)

2.2、刪除數據庫

  刪除數據庫是將已經存在的數據庫從磁盤空間上清除,清除后,數據庫中的所有數據也將一同被刪除。MySQL中刪除數據庫的基本語法格式為:

DROP DATABASE [IF EXISTS] db_name;
mysql> CREATE DATABASE test_tb; 
Query OK, 1 row affected (0.00 sec)
mysql> DROP DATABASE test_tb;
Query OK, 0 rows affected (0.02 sec)
mysql> SHOW CREATE DATABASE test_tb\G
ERROR 1049 (42000): Unknown database 'test_tb'

2.3、數據庫存儲引擎

  數據庫存儲引擎是數據庫底層軟件組件,數據庫管理系統(DBMS)使用數據引擎進行創建、查詢、更新和刪除數據操作。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能。MySQL的核心就是存儲引擎。

二、數據庫的基本操作

  MySQL提供了多種不同的存儲引擎,包括處理事務安全表的引擎和處理非事務安全表的引擎。在MySQL中,不需要在整個服務器中使用同一種存儲引擎,針對每個表可以使用不同的引擎。可以使用SHOW ENGINES語句查看系統所支持的引擎類型:

mysql> SHOW ENGINES \G
*************************** 1. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 2. row ***************************
      Engine: PERFORMANCE_SCHEMA
     Support: YES
     Comment: Performance Schema
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 3. row ***************************
      Engine: MyISAM
     Support: YES
     Comment: MyISAM storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: BLACKHOLE
     Support: YES
     Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 5. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 6. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 7. row ***************************
      Engine: FEDERATED
     Support: NO
     Comment: Federated MySQL storage engine
Transactions: NULL
          XA: NULL
  Savepoints: NULL
*************************** 8. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
8 rows in set (0.00 sec)

  常見存儲引擎的特性主要有:

MyISAM: 存儲格式:.frm: 表結構.MYD:表數據.MYI:表索引

  特性:支持全文索引,能夠壓縮:用于實現數據倉庫,能節約存儲空間并提升性能;支持空間索引;支持表級鎖;支持延遲更新索引;不支持事務、外鍵和行級鎖;崩潰后無法安全恢復數據

  適用場景:只讀數據、較小的表、能夠容忍崩潰后的修改操作和數據丟失。

InnoDB: 兩種存儲格式

    innodb_file_per_table=OFF,即使用共享表空間

    每張表一個獨有的格式定義文件: tb_name.frm

    默認數據目錄下共享的表空間文件:ibdata#

innodb_file_per_table=ON,即使用獨立表空間

    每個表在數據庫目錄下存儲兩個文件:tb_name.frm tb_name.ibd

表空間:由InnoDB管理的特有格式數據文件,內部可同時存儲數據和索引

特性:支持事務、有事務日志;支持外鍵;多版本并發控制MVCC;支持聚簇索引

    (聚簇索引之外的其它索引,通常稱為輔助索引);支持行級鎖(間隙鎖);支持輔助索引;支持自適應hash索引;支持熱備份。

ARCHIVE:僅支持INSERT和SELECT,支持很好壓縮功能;不支持事務,不能很好的支持索引;適用于存儲日志信息,或其它按時間序列實現的數據采集類的應用。
CSV:將數據存儲為CSV格式;不支持索引;僅適用于數據交換場景。
BLACKHOLE:沒有存儲機制,任何發往此引擎的數據都會丟棄;其會記錄二進制日志,因此,常用于多級復制架構中作中轉服務器。
MEMORY:保存數據在內存中,內存表;常用于保存中間數據,如周期性的聚合數據等;也用于實現臨時表;支持hash索引,使用表級鎖,不支持BLOB和TEXT數據類型。
MRG_MYISAM:是MYISAM的一個變種,能夠將多個MyISAM表合并成一個虛表。
NDB:是MySQL CLUSTER中專用的存儲引擎。

存儲引擎比較:

功能MyISAMMemoryInnoDBArchive
存儲限制256TBRAM64TBNone
支持事務NoNoYesNo
支持全文索引YesNoNoNo
支持數索引
YesYesYesNo
支持哈希索引
NoYesNoNo
支持數據索引
NoN/AYesNo
支持外鍵
NoNoYesNo

第三方的存儲引擎:

   OLTP類:(On-Line Transaction Processing在線事務處理)

   XtraDB: 增強的InnoDB,由Percona提供;編譯安裝時,用XtraDB的源碼替換MySQL存儲引擎中的InnoDB的源碼。

   PBXT: MariaDB自帶此存儲引擎,支持引擎級別的復制、外鍵約束,對SSD磁盤提供適當支持;支持事務、MVCC

  TokuDB: 使用Fractal Trees索引,適用存儲大數據,擁有很壓縮比;MariaDB引入。

列式存儲引擎:

   Infobright: 目前較有名的列式引擎,適用于海量數據存儲場景,如PB級別,專為數據分析和數據倉庫設計。

   InfiniDB、MonetDB、LucidDB

開源社區存儲引擎:

   Aria:前身為Maria,可理解為增強版的MyISAM(支持崩潰后安全恢復,數據緩存)

   Groona:全文索引引擎,Mroonga是基于Groona的二次開發版

   OQGraph: 由Open Query研發,支持圖結構的存儲引擎

   SphinxSE: 為Sphinx全文搜索服務器提供了SQL接口

   Spider: 能數據切分成不同分片,在分片上支持并行查詢。

選擇引擎的標準:

   是否需要事務;備份的類型的支持;崩潰后的恢復;特有的特性。








向AI問一下細節

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

AI

峡江县| 鄂托克前旗| 青州市| 定南县| 辰溪县| 嘉祥县| 阿尔山市| 金川县| 奉贤区| 城市| 友谊县| 峨山| 桐城市| 察雅县| 东丽区| 武城县| 渝中区| 西安市| 舒兰市| 仪征市| 阜阳市| 成安县| 隆德县| 汨罗市| 邹平县| 徐水县| 措美县| 罗平县| 边坝县| 嵊州市| 且末县| 吉木萨尔县| 普格县| 随州市| 吐鲁番市| 石泉县| 瑞安市| 扎囊县| 杨浦区| 祥云县| 普洱|