国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

MySQL中庫的基本操作指南(推薦!)

瀏覽:96日期:2023-02-18 16:43:49
目錄
  • 查看數據庫
  • 創建數據庫
  • 刪除數據庫
  • 字符集/字符校驗
  • 修改數據庫
  • 幫助命令
  • 數據庫存儲引擎
    • 查看默認存儲引擎
    • 存儲引擎簡介
    • 存儲引擎的選擇
  • 總結

    查看數據庫

    語法格式:

    SHOW {DATABASES | SCHEMAS}
        [LIKE "pattern" | WHERE expr]

    #查看全部數據庫

    mysql> show databases;
    +--------------------+
    | Database   |
    +--------------------+
    | information_schema |
    | mysql      |
    | performance_schema |
    | sys|
    +--------------------+
    4 rows in set (0.00 sec)
    show databases [like "庫名"| where 表達式];

    例:查看有my的數據庫

    show databases like "my%"

    創建數據庫

    MySQL安裝好之后,?先需要創建數據庫,這是使?MySQL各種功能的前提。本章將詳細介紹數據的基本操作,主要內容包括:創建數據庫、刪除數據庫、不同類型的數據存儲引擎和存儲引擎的選擇。

    MySQL安裝完成之后,將會在其data?錄下?動創建?個必需的數據庫,可以使?SHOW DATABASES; 語句來查看當前所有存在的數據庫,如下。

    mysql> show databases;
    +--------------------+
    | Database   |
    +--------------------+
    | information_schema |
    | mysql      |
    | performance_schema |
    | sys|
    +--------------------+
    4 rows in set (0.01 sec)

    可以看到,數據庫列表中包含了4個數據庫,mysql是必需的,它描述?戶訪問權限,?戶經常利?test數據庫做測試的?作,其他數據庫將在后?的章節中介紹。

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

    CREATE DATABASE [IF NOT EXISTS] <數據庫名> [[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校對規則名>];

    <數據庫名>:創建數據庫的名稱。MySQL 的數據存儲區將以?錄?式表示 MySQL數據庫,因此數據庫名稱必須符合操作系統的?件夾命名規則,注意在 MySQL 中不區分??寫。

    IF NOT EXISTS:在創建數據庫之前進?判斷,只有該數據庫?前尚不存在時才能執?操作。此選項可以?來避免數據庫已經存在?重復創建的錯誤。

    [DEFAULT] CHARACTER SET:指定數據庫的默認字符集。

    mysql> create database test_db;
    Query OK, 1 row affected (0.00 sec)
    ?
    mysql> show create database test_db;
    +----------+--------------------------------------------------------------------+
    | Database | Create Database|
    +----------+--------------------------------------------------------------------+
    | test_db  | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET latin1 */ |
    +----------+--------------------------------------------------------------------+
    1 row in set (0.00 sec)

    刪除數據庫

    刪除數據庫是將已經存在的數據庫從磁盤空間上清除,清除之后,數據庫中的所有數據也將?起被刪除。刪除數據庫語句和創建數據庫的命令相似,MySQL中刪除數據庫的基本語法格式如下。

    DROP {DATABASE | SCHEMA} [IF EXISTS] 庫名

    注:IF EXISTS表示如果存在,則刪除庫。

    如果指定的數據庫不存在,則刪除出錯。

    mysql> drop database test_db;
    Query OK, 0 rows affected (0.02 sec)

    字符集/字符校驗

    #查看字符校驗

    show collation;

    #查看字符集

    show character set;

    #查看字符集

    SHOW CHARACTER SET [LIKE "pattern" | WHERE expr]show character set [like "字符集名" | where 表達式];

    #查看字符校驗

    SHOW COLLATION [LIKE "pattern" | WHERE expr] show collation [like "字符校驗名" | where 表達式]; 

    修改數據庫

    ALTER {DATABASE | SCHEMA} [db_name]
        alter_option ...
     
    alter_option: {
        [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name
    }

    #修改庫字符集

    alter database 庫名 default character set = 字符集名;

    #修改字符校驗

    alter database test collate 字符校驗名;

    幫助命令

    #幫助

    help

    #幫助分類

    help contents

    #查看定義語言

    help data definition

    #查看操作語言

    help data manipulation

    #查看創建庫格式

    help create database

    數據庫存儲引擎

    數據庫存儲引擎是數據庫底層軟件組件,數據庫管理系統(DBMS)使?數據引擎進?創建、查詢、更新和刪除數據操作。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定?平等功能,使?不同的存儲引擎,還可以獲得特定的功能。現在許多不同的數據庫管理系統都?持多種不同的數據引擎。MySQL的核?就是存儲引擎。

    2.3.1 MySQL存儲引擎簡介MySQL提供了多個不同的存儲引擎,包括處理事務安全表的引擎和處理?事務安全表的引擎。在MySQL中,不需要在整個服務器中使??種引擎,針對具體要求可以對每?個表使?不同的存儲引擎。MySQL5.5?持的存儲引擎有:InnoDB、MyISAM、Memory等。

    mysql> show engines;
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | Engine     | Support | Comment    | Transactions | XA   | Savepoints |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | MRG_MYISAM | YES     | Collection of identical MyISAM tables  | NO   | NO   | NO |
    | CSV| YES     | CSV storage engine     | NO   | NO   | NO |
    | InnoDB     | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES  | YES  | YES|
    | BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO   | NO   | NO |
    | MyISAM     | YES     | MyISAM storage engine  | NO   | NO   | NO |
    | PERFORMANCE_SCHEMA | YES     | Performance Schema     | NO   | NO   | NO |
    | ARCHIVE    | YES     | Archive storage engine | NO   | NO   | NO |
    | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO   | NO   | NO |
    | FEDERATED  | NO      | Federated MySQL storage engine | NULL | NULL | NULL       |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    9 rows in set (0.01 sec)

    查看默認存儲引擎

    mysql> show variables like "default_storage_engine";
    +------------------------+--------+
    | Variable_name  | Value  |
    +------------------------+--------+
    | default_storage_engine | InnoDB |
    +------------------------+--------+
    1 row in set (0.06 sec)

    存儲引擎簡介

    1. 存儲引擎說?了就是數據存儲的格式,不同的存儲引擎功能不同,占?的空間??不同,讀取性能也不同。
    2. 數據庫存儲引擎是數據庫底層軟件組件,不同的存儲引擎提供不同的存儲機制。
    3. 在 MySQL 中,不需要在整個服務器中使?同?種存儲引擎,可以對每?個表使?不同的存儲引擎。
    4. MySQL ?持多種存儲引擎,如 InnoDB 、MyISAM 、Memory 、Merge 、Archive 、CSV 、Federated 等等。

    MyISAM 存儲引擎特點

    1. MySQL 5.5 之前使? MyISAM 引擎,MySQL 5.5 之后使? InnoDB 引擎。
    2. MyISAM 引擎讀取速度較快,占?資源相對較少,不?持事務,不?持外鍵約束,但?持全?索引。
    3. 讀寫互相阻塞,也就是說讀數據的時候你就不能寫數據,寫數據的時候你就不能讀數據。
    4. MyISAM 引擎只能緩存索引,?不能緩存數據。

    MyISAM 適?場景

    1. 不需要事務?持的業務,例如轉賬就不?。
    2. 適?于讀數據?較多的業務,不適?于讀寫頻繁的業務。
    3. 并發相對較低、數據修改相對較少的業務。
    4. 硬件資源?較差的機器可以考慮使? MyISAM 引擎。

    InnoDB 存儲引擎特點

    1. 事務型數據庫的?選引擎,?持事務安全表,?持?鎖定和外鍵,MySQL5.5.5 版本之后,InnoDB 作為默認存儲引擎。
    2. 具有提交、回滾和崩潰恢復能?的事務安全存儲引擎,能處理巨?數據量,性能及效率?,完全?持外鍵完整性約束。
    3. 具有?常?效的緩存特性,能緩存索引也能緩存數據,對硬件要求?較?。
    4. 使? InnoDB 時,將在 MySQL 數據?錄下創建?個名為 ibdata1 的 10MB ??的?動擴展數據?件,以及兩個名為 ib_logfile0 和 ib_logfile1 的 5MB ??的?志?件。

    InnoDB 適?場景

    1. 需要事務?持的業務、?并發的業務。
    2. 數據更新較為頻繁的場景,?如 BBS、SNS、微博等。
    3. 數據?致性要求較?的業務,?如充值轉賬、銀?卡轉賬。

    Memory 存儲引擎特點

    1. Memory 存儲引擎將表中的數據存儲到內存中,為查詢和引?其他表數據提供快速訪問。
    2. Memory 存儲引擎執? HASH 和 BTREE 索引,不?持 BLOB 和 TEXT 列,?持 AUTO_INCREMENT 列和對可包含 NULL 值得列的索引。
    3. 當不再需要 Memory 表的內容時,要釋放被 Memory 表使?的內存,應該執?DELETE FROM 或 TRUNCATE TABLE ,或者刪除整個表。

    存儲引擎的選擇

    1. 如果要提供提交、回滾和崩潰恢復能?的事務安全能?,并要求實現并發控制,InnoDB 是個很好的選擇。
    2. 如果數據表主要?來插?和查詢記錄,則 MyISAM 引擎能提供較?的處理效率。
    3. 如果只是臨時存放數據,數據量不?,并且不需要較?的安全性,可以選擇將數據保存在內存中的 Memory 引擎,MySQL 使?該引擎作為臨時表,存放查詢的中間結果。
    4. 如果只有 INSERT 和 SELECT 操作,可以選擇 Archive 引擎,?持?并發的插?操作,如記錄?志信息可以使? Archive 引擎。

    功能

    MyISAM

    Memory

    InnoDB

    存儲限制

    256TB

    RAM

    64TB

    ?持事務

    no

    no

    yes

    支持全文索引

    yes

    no

    no

    支持數索引

    yes

    yes

    yes

    支持哈希緩存

    no

    yes

    no

    支持數據緩存

    no

    N/A

    yes

    支持外鍵

    no

    no

    yes

    總結

    在mysql中,每個數據庫最多可創建20億個表,?個表允許定義1024列,每?的最??度為8092字節(不包括?本和圖像類型的?度)。

    當表中定義有varchar、nvarchar或varbinary類型列時,如果向表中插?的數據?超過8092字節時將導致語句失敗,并產?錯誤信息。SQL Server對每個表中?的數量沒有直接限制,但它受數據庫存儲空間的限制。

    每個數據庫的最?空間1048516TB,所以?個表可?的最?空間為1048516TB減去數據庫類系統表和其它數據庫對象所占?的空間。理論上?限? 就看你硬?夠不夠? ?多數情況先是你的硬?不夠。

    到此這篇關于MySQL中庫的基本操作指南的文章就介紹到這了,更多相關MySQL庫的基本操作內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: MySQL
    主站蜘蛛池模板: 在线亚洲精品中文字幕美乳 | 怡红院视频在线观看 | 亚洲最大看欧美片网站 | 久久99精品久久久久久 | 久久狠狠色狠狠色综合 | 中文乱码一二三四有限公司 | 香港av三级 | 可以免费看黄色的网站 | 成年男人午夜片免费观看 | 美女黄视频免费观看 | 中文字幕一区二区在线观看 | 中文字幕一区二区三区免费视频 | 日韩免费视频播播 | 国产欧美日韩综合精品一区二区三区 | 99精品免费观看 | 碰碰久久 | 精品外国呦系列在线观看 | 国产一区二区久久 | 国产夫妇肉麻对白 | 中文国产成人精品久久一 | 亚洲在线中文 | 国产在线乱子伦一区二区 | 男女免费视频 | 成年视频在线 | 国产手机在线视频放线视频 | 夜色精品国产一区二区 | 欧美成人一级视频 | 99在线精品免费视频九九视 | 久草手机在线播放 | 久久久精品一区二区三区 | 中文国产成人精品久久久 | 一级生性活免费视频 | 日韩在线播放中文字幕 | 一本本久综合久久爱 | 国产网站91 | 中文字幕在线成人免费看 | 亚洲爱爱天堂 | 在线免费一级片 | 韩国一级黄色毛片 | 欧美日韩精品一区三区 | 新体操真 |